From 7fe311dae0c78a766601ac74a8e944acddfedc64 Mon Sep 17 00:00:00 2001 From: light7734 Date: Sat, 5 Jul 2025 11:33:43 +0330 Subject: [PATCH] build: change dependency managament from submodules to conan --- .gitignore | 3 + CMakeLists.txt | 43 +- Dependencies/CMakeLists.txt | 2 - Dependencies/GLAD/CMakeLists.txt | 18 - Dependencies/GLAD/include/glad/glad.h | 3698 ---- Dependencies/GLAD/src/glad.c | 1834 -- Dependencies/GLFW | 1 - Dependencies/entt | 1 - Dependencies/glm | 1 - Dependencies/shaderc | 1 - Dependencies/spdlog | 1 - Dependencies/spirv-cross | 1 - Dependencies/stb_image/CMakeLists.txt | 13 - Dependencies/stb_image/stb_image.c | 7126 ------ Dependencies/stb_image/stb_image.h | 541 - Dependencies/volk | 1 - Dependencies/yaml-cpp | 1 - Engine/CMakeLists.txt | 1 - Engine/src/Engine/Debug/Exceptions.cpp | 4 +- .../Scene/Components/TransformComponent.hpp | 4 +- Engine/src/Engine/Scene/Scene.cpp | 4 +- Engine/src/Engine/Utility/FileManager.cpp | 22 + Engine/src/Engine/Utility/FileManager.hpp | 23 +- Engine/src/Engine/Utility/Serializer.cpp | 7 +- Engine/src/Engine/Utility/Stringifier.cpp | 2 +- .../Platform/GraphicsAPI/OpenGL/glBlender.cpp | 2 +- .../Platform/GraphicsAPI/OpenGL/glBuffers.cpp | 2 +- .../GraphicsAPI/OpenGL/glFramebuffer.cpp | 2 +- .../GraphicsAPI/OpenGL/glGraphicsContext.cpp | 4 +- .../GraphicsAPI/OpenGL/glRenderCommand.cpp | 2 +- .../Platform/GraphicsAPI/OpenGL/glShader.cpp | 44 +- .../Platform/GraphicsAPI/OpenGL/glShader.hpp | 4 +- .../Platform/GraphicsAPI/OpenGL/glTexture.cpp | 2 +- .../GraphicsAPI/OpenGL/glVertexLayout.cpp | 2 +- Mirror/src/EditorLayer.cpp | 6 +- Mirror/src/Panels/SceneHierarchyPanel.cpp | 11 +- conanfile.py | 47 + external/glad/CMakeLists.txt | 3 + .../glad}/include/KHR/khrplatform.h | 27 +- external/glad/include/glad/gl.h | 8319 +++++++ external/glad/include/glad/vulkan.h | 7841 +++++++ external/glad/include/vk_platform.h | 84 + external/glad/src/gl.c | 17892 ++++++++++++++++ external/glad/src/vulkan.c | 5537 +++++ tools/conan_recipes/shaderc/.gitignore | 2 - tools/conan_recipes/shaderc/conanfile.py | 119 - 46 files changed, 39853 insertions(+), 13452 deletions(-) delete mode 100644 Dependencies/GLAD/CMakeLists.txt delete mode 100644 Dependencies/GLAD/include/glad/glad.h delete mode 100644 Dependencies/GLAD/src/glad.c delete mode 160000 Dependencies/GLFW delete mode 160000 Dependencies/entt delete mode 160000 Dependencies/glm delete mode 160000 Dependencies/shaderc delete mode 160000 Dependencies/spdlog delete mode 160000 Dependencies/spirv-cross delete mode 100644 Dependencies/stb_image/CMakeLists.txt delete mode 100644 Dependencies/stb_image/stb_image.c delete mode 100644 Dependencies/stb_image/stb_image.h delete mode 160000 Dependencies/volk delete mode 160000 Dependencies/yaml-cpp create mode 100644 conanfile.py create mode 100644 external/glad/CMakeLists.txt rename {Dependencies/GLAD => external/glad}/include/KHR/khrplatform.h (92%) create mode 100644 external/glad/include/glad/gl.h create mode 100644 external/glad/include/glad/vulkan.h create mode 100644 external/glad/include/vk_platform.h create mode 100644 external/glad/src/gl.c create mode 100644 external/glad/src/vulkan.c delete mode 100644 tools/conan_recipes/shaderc/.gitignore delete mode 100644 tools/conan_recipes/shaderc/conanfile.py diff --git a/.gitignore b/.gitignore index 204deb5..233dec5 100644 --- a/.gitignore +++ b/.gitignore @@ -29,5 +29,8 @@ Makefile !**/default_gui_layout.ini CMake/ +CMakeUserPresets.json compile_commands.json + + diff --git a/CMakeLists.txt b/CMakeLists.txt index c9ead7b..94d3055 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,9 +9,11 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -set(MIRROR_DIR ${CMAKE_BINARY_DIR}/../Mirror/) -set(ENGINE_DIR ${CMAKE_BINARY_DIR}/../Engine/) -set(DEPENDENCIES_DIR ${CMAKE_BINARY_DIR}/../Dependencies/) +set(CMAKE_EXPORT_COMPILE_COMMANDS True) + +set(MIRROR_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Mirror/) +set(ENGINE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Engine/) +set(DEPENDENCIES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/) if(NOT MSV) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error") @@ -28,37 +30,42 @@ add_subdirectory(${ENGINE_DIR}/) add_subdirectory(${MIRROR_DIR}/) # Dependencies -add_subdirectory(${DEPENDENCIES_DIR}GLAD/) -add_subdirectory(${DEPENDENCIES_DIR}GLFW/) +find_package(glfw3 REQUIRED) +find_package(glm REQUIRED) +find_package(spdlog REQUIRED) +find_package(stb REQUIRED) +find_package(yaml-cpp REQUIRED) +find_package(EnTT REQUIRED) +find_package(opengl_system REQUIRED) + add_subdirectory(${DEPENDENCIES_DIR}) -add_subdirectory(${DEPENDENCIES_DIR}spdlog/) -add_subdirectory(${DEPENDENCIES_DIR}glm/) -add_subdirectory(${DEPENDENCIES_DIR}entt/) -add_subdirectory(${DEPENDENCIES_DIR}stb_image/) -add_subdirectory(${DEPENDENCIES_DIR}yaml-cpp/) -add_subdirectory(${DEPENDENCIES_DIR}shaderc/) +add_subdirectory(external/glad/) # Link target_link_libraries( imgui PUBLIC glad + PUBLIC opengl::opengl + PUBLIC glm::glm PUBLIC glfw ) target_link_libraries( Engine - PRIVATE glad - PRIVATE glfw - PRIVATE spdlog - PRIVATE imgui - PRIVATE stb_image - PRIVATE yaml-cpp - PRIVATE shaderc + PUBLIC glad + PUBLIC opengl::opengl + PUBLIC glfw + PUBLIC spdlog::spdlog + PUBLIC imgui + PUBLIC stb::stb + PUBLIC yaml-cpp::yaml-cpp + PUBLIC EnTT::EnTT ) target_link_libraries( Mirror PRIVATE Engine + PRIVATE opengl::opengl PRIVATE imgui ) diff --git a/Dependencies/CMakeLists.txt b/Dependencies/CMakeLists.txt index a3cc6bb..e099a81 100644 --- a/Dependencies/CMakeLists.txt +++ b/Dependencies/CMakeLists.txt @@ -36,12 +36,10 @@ if(WIN32) endif() add_compile_definitions(IMGUI_IMPL_OPENGL_LOADER_GLAD) -include_directories(${DEPENDENCIES_DIR}GLAD/include) include_directories(${DEPENDENCIES_DIR}GLFW/include) include_directories(${DEPENDENCIES_DIR}glm/) add_library(imgui STATIC ${IMGUI_FILES} ${IMGUI_BACKEND_FILES}) - # Copy imconfig.h over file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/Configurations/imgui/imconfig.h DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/imgui/) diff --git a/Dependencies/GLAD/CMakeLists.txt b/Dependencies/GLAD/CMakeLists.txt deleted file mode 100644 index f09b378..0000000 --- a/Dependencies/GLAD/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -if (CMAKE_COMPILER_IS_GNUCC) - add_compile_options(-w) -endif() -if(MSVC) - add_compile_options(/MP) - add_compile_options(/W0) -endif() - -project(GLAD VERSION 0.1.34 LANGUAGES C) - -file(GLOB_RECURSE GLAD_SOURCES true ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/src/*) -file(GLOB_RECURSE GLAD_HEADERS true ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/include/*) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/) - -add_library(glad STATIC ${GLAD_SOURCES} ${GLAD_HEADERS}) diff --git a/Dependencies/GLAD/include/glad/glad.h b/Dependencies/GLAD/include/glad/glad.h deleted file mode 100644 index 2e732bd..0000000 --- a/Dependencies/GLAD/include/glad/glad.h +++ /dev/null @@ -1,3698 +0,0 @@ -/* - - OpenGL loader generated by glad 0.1.34 on Sun Jul 4 22:51:05 2021. - - Language/Generator: C/C++ - Specification: gl - APIs: gl=4.6 - Profile: core - Extensions: - GL_ARB_shading_language_420pack - Loader: True - Local files: False - Omit khrplatform: False - Reproducible: False - - Commandline: - --profile="core" --api="gl=4.6" --generator="c" --spec="gl" --extensions="GL_ARB_shading_language_420pack" - Online: - https://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D4.6&extensions=GL_ARB_shading_language_420pack -*/ - - -#ifndef __glad_h_ -#define __glad_h_ - -#ifdef __gl_h_ -#error OpenGL header already included, remove this include, glad already provides it -#endif -#define __gl_h_ - -#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) -#define APIENTRY __stdcall -#endif - -#ifndef APIENTRY -#define APIENTRY -#endif -#ifndef APIENTRYP -#define APIENTRYP APIENTRY * -#endif - -#ifndef GLAPIENTRY -#define GLAPIENTRY APIENTRY -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -struct gladGLversionStruct { - int major; - int minor; -}; - -typedef void* (* GLADloadproc)(const char *name); - -#ifndef GLAPI -# if defined(GLAD_GLAPI_EXPORT) -# if defined(_WIN32) || defined(__CYGWIN__) -# if defined(GLAD_GLAPI_EXPORT_BUILD) -# if defined(__GNUC__) -# define GLAPI __attribute__ ((dllexport)) extern -# else -# define GLAPI __declspec(dllexport) extern -# endif -# else -# if defined(__GNUC__) -# define GLAPI __attribute__ ((dllimport)) extern -# else -# define GLAPI __declspec(dllimport) extern -# endif -# endif -# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD) -# define GLAPI __attribute__ ((visibility ("default"))) extern -# else -# define GLAPI extern -# endif -# else -# define GLAPI extern -# endif -#endif - -GLAPI struct gladGLversionStruct GLVersion; - -GLAPI int gladLoadGL(void); - -GLAPI int gladLoadGLLoader(GLADloadproc); - -#include -typedef unsigned int GLenum; -typedef unsigned char GLboolean; -typedef unsigned int GLbitfield; -typedef void GLvoid; -typedef khronos_int8_t GLbyte; -typedef khronos_uint8_t GLubyte; -typedef khronos_int16_t GLshort; -typedef khronos_uint16_t GLushort; -typedef int GLint; -typedef unsigned int GLuint; -typedef khronos_int32_t GLclampx; -typedef int GLsizei; -typedef khronos_float_t GLfloat; -typedef khronos_float_t GLclampf; -typedef double GLdouble; -typedef double GLclampd; -typedef void *GLeglClientBufferEXT; -typedef void *GLeglImageOES; -typedef char GLchar; -typedef char GLcharARB; -#ifdef __APPLE__ -typedef void *GLhandleARB; -#else -typedef unsigned int GLhandleARB; -#endif -typedef khronos_uint16_t GLhalf; -typedef khronos_uint16_t GLhalfARB; -typedef khronos_int32_t GLfixed; -typedef khronos_intptr_t GLintptr; -typedef khronos_intptr_t GLintptrARB; -typedef khronos_ssize_t GLsizeiptr; -typedef khronos_ssize_t GLsizeiptrARB; -typedef khronos_int64_t GLint64; -typedef khronos_int64_t GLint64EXT; -typedef khronos_uint64_t GLuint64; -typedef khronos_uint64_t GLuint64EXT; -typedef struct __GLsync *GLsync; -struct _cl_context; -struct _cl_event; -typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); -typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); -typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); -typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); -typedef unsigned short GLhalfNV; -typedef GLintptr GLvdpauSurfaceNV; -typedef void (APIENTRY *GLVULKANPROCNV)(void); -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_COLOR_BUFFER_BIT 0x00004000 -#define GL_FALSE 0 -#define GL_TRUE 1 -#define GL_POINTS 0x0000 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_STRIP 0x0003 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRIANGLE_FAN 0x0006 -#define GL_NEVER 0x0200 -#define GL_LESS 0x0201 -#define GL_EQUAL 0x0202 -#define GL_LEQUAL 0x0203 -#define GL_GREATER 0x0204 -#define GL_NOTEQUAL 0x0205 -#define GL_GEQUAL 0x0206 -#define GL_ALWAYS 0x0207 -#define GL_ZERO 0 -#define GL_ONE 1 -#define GL_SRC_COLOR 0x0300 -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#define GL_SRC_ALPHA 0x0302 -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#define GL_DST_ALPHA 0x0304 -#define GL_ONE_MINUS_DST_ALPHA 0x0305 -#define GL_DST_COLOR 0x0306 -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#define GL_SRC_ALPHA_SATURATE 0x0308 -#define GL_NONE 0 -#define GL_FRONT_LEFT 0x0400 -#define GL_FRONT_RIGHT 0x0401 -#define GL_BACK_LEFT 0x0402 -#define GL_BACK_RIGHT 0x0403 -#define GL_FRONT 0x0404 -#define GL_BACK 0x0405 -#define GL_LEFT 0x0406 -#define GL_RIGHT 0x0407 -#define GL_FRONT_AND_BACK 0x0408 -#define GL_NO_ERROR 0 -#define GL_INVALID_ENUM 0x0500 -#define GL_INVALID_VALUE 0x0501 -#define GL_INVALID_OPERATION 0x0502 -#define GL_OUT_OF_MEMORY 0x0505 -#define GL_CW 0x0900 -#define GL_CCW 0x0901 -#define GL_POINT_SIZE 0x0B11 -#define GL_POINT_SIZE_RANGE 0x0B12 -#define GL_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_LINE_SMOOTH 0x0B20 -#define GL_LINE_WIDTH 0x0B21 -#define GL_LINE_WIDTH_RANGE 0x0B22 -#define GL_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_POLYGON_MODE 0x0B40 -#define GL_POLYGON_SMOOTH 0x0B41 -#define GL_CULL_FACE 0x0B44 -#define GL_CULL_FACE_MODE 0x0B45 -#define GL_FRONT_FACE 0x0B46 -#define GL_DEPTH_RANGE 0x0B70 -#define GL_DEPTH_TEST 0x0B71 -#define GL_DEPTH_WRITEMASK 0x0B72 -#define GL_DEPTH_CLEAR_VALUE 0x0B73 -#define GL_DEPTH_FUNC 0x0B74 -#define GL_STENCIL_TEST 0x0B90 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 -#define GL_STENCIL_FUNC 0x0B92 -#define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 -#define GL_STENCIL_REF 0x0B97 -#define GL_STENCIL_WRITEMASK 0x0B98 -#define GL_VIEWPORT 0x0BA2 -#define GL_DITHER 0x0BD0 -#define GL_BLEND_DST 0x0BE0 -#define GL_BLEND_SRC 0x0BE1 -#define GL_BLEND 0x0BE2 -#define GL_LOGIC_OP_MODE 0x0BF0 -#define GL_DRAW_BUFFER 0x0C01 -#define GL_READ_BUFFER 0x0C02 -#define GL_SCISSOR_BOX 0x0C10 -#define GL_SCISSOR_TEST 0x0C11 -#define GL_COLOR_CLEAR_VALUE 0x0C22 -#define GL_COLOR_WRITEMASK 0x0C23 -#define GL_DOUBLEBUFFER 0x0C32 -#define GL_STEREO 0x0C33 -#define GL_LINE_SMOOTH_HINT 0x0C52 -#define GL_POLYGON_SMOOTH_HINT 0x0C53 -#define GL_UNPACK_SWAP_BYTES 0x0CF0 -#define GL_UNPACK_LSB_FIRST 0x0CF1 -#define GL_UNPACK_ROW_LENGTH 0x0CF2 -#define GL_UNPACK_SKIP_ROWS 0x0CF3 -#define GL_UNPACK_SKIP_PIXELS 0x0CF4 -#define GL_UNPACK_ALIGNMENT 0x0CF5 -#define GL_PACK_SWAP_BYTES 0x0D00 -#define GL_PACK_LSB_FIRST 0x0D01 -#define GL_PACK_ROW_LENGTH 0x0D02 -#define GL_PACK_SKIP_ROWS 0x0D03 -#define GL_PACK_SKIP_PIXELS 0x0D04 -#define GL_PACK_ALIGNMENT 0x0D05 -#define GL_MAX_TEXTURE_SIZE 0x0D33 -#define GL_MAX_VIEWPORT_DIMS 0x0D3A -#define GL_SUBPIXEL_BITS 0x0D50 -#define GL_TEXTURE_1D 0x0DE0 -#define GL_TEXTURE_2D 0x0DE1 -#define GL_TEXTURE_WIDTH 0x1000 -#define GL_TEXTURE_HEIGHT 0x1001 -#define GL_TEXTURE_BORDER_COLOR 0x1004 -#define GL_DONT_CARE 0x1100 -#define GL_FASTEST 0x1101 -#define GL_NICEST 0x1102 -#define GL_BYTE 0x1400 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_SHORT 0x1402 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_INT 0x1404 -#define GL_UNSIGNED_INT 0x1405 -#define GL_FLOAT 0x1406 -#define GL_CLEAR 0x1500 -#define GL_AND 0x1501 -#define GL_AND_REVERSE 0x1502 -#define GL_COPY 0x1503 -#define GL_AND_INVERTED 0x1504 -#define GL_NOOP 0x1505 -#define GL_XOR 0x1506 -#define GL_OR 0x1507 -#define GL_NOR 0x1508 -#define GL_EQUIV 0x1509 -#define GL_INVERT 0x150A -#define GL_OR_REVERSE 0x150B -#define GL_COPY_INVERTED 0x150C -#define GL_OR_INVERTED 0x150D -#define GL_NAND 0x150E -#define GL_SET 0x150F -#define GL_TEXTURE 0x1702 -#define GL_COLOR 0x1800 -#define GL_DEPTH 0x1801 -#define GL_STENCIL 0x1802 -#define GL_STENCIL_INDEX 0x1901 -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_RED 0x1903 -#define GL_GREEN 0x1904 -#define GL_BLUE 0x1905 -#define GL_ALPHA 0x1906 -#define GL_RGB 0x1907 -#define GL_RGBA 0x1908 -#define GL_POINT 0x1B00 -#define GL_LINE 0x1B01 -#define GL_FILL 0x1B02 -#define GL_KEEP 0x1E00 -#define GL_REPLACE 0x1E01 -#define GL_INCR 0x1E02 -#define GL_DECR 0x1E03 -#define GL_VENDOR 0x1F00 -#define GL_RENDERER 0x1F01 -#define GL_VERSION 0x1F02 -#define GL_EXTENSIONS 0x1F03 -#define GL_NEAREST 0x2600 -#define GL_LINEAR 0x2601 -#define GL_NEAREST_MIPMAP_NEAREST 0x2700 -#define GL_LINEAR_MIPMAP_NEAREST 0x2701 -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#define GL_LINEAR_MIPMAP_LINEAR 0x2703 -#define GL_TEXTURE_MAG_FILTER 0x2800 -#define GL_TEXTURE_MIN_FILTER 0x2801 -#define GL_TEXTURE_WRAP_S 0x2802 -#define GL_TEXTURE_WRAP_T 0x2803 -#define GL_REPEAT 0x2901 -#define GL_COLOR_LOGIC_OP 0x0BF2 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -#define GL_POLYGON_OFFSET_POINT 0x2A01 -#define GL_POLYGON_OFFSET_LINE 0x2A02 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_TEXTURE_BINDING_1D 0x8068 -#define GL_TEXTURE_BINDING_2D 0x8069 -#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 -#define GL_TEXTURE_RED_SIZE 0x805C -#define GL_TEXTURE_GREEN_SIZE 0x805D -#define GL_TEXTURE_BLUE_SIZE 0x805E -#define GL_TEXTURE_ALPHA_SIZE 0x805F -#define GL_DOUBLE 0x140A -#define GL_PROXY_TEXTURE_1D 0x8063 -#define GL_PROXY_TEXTURE_2D 0x8064 -#define GL_R3_G3_B2 0x2A10 -#define GL_RGB4 0x804F -#define GL_RGB5 0x8050 -#define GL_RGB8 0x8051 -#define GL_RGB10 0x8052 -#define GL_RGB12 0x8053 -#define GL_RGB16 0x8054 -#define GL_RGBA2 0x8055 -#define GL_RGBA4 0x8056 -#define GL_RGB5_A1 0x8057 -#define GL_RGBA8 0x8058 -#define GL_RGB10_A2 0x8059 -#define GL_RGBA12 0x805A -#define GL_RGBA16 0x805B -#define GL_UNSIGNED_BYTE_3_3_2 0x8032 -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_INT_8_8_8_8 0x8035 -#define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_TEXTURE_BINDING_3D 0x806A -#define GL_PACK_SKIP_IMAGES 0x806B -#define GL_PACK_IMAGE_HEIGHT 0x806C -#define GL_UNPACK_SKIP_IMAGES 0x806D -#define GL_UNPACK_IMAGE_HEIGHT 0x806E -#define GL_TEXTURE_3D 0x806F -#define GL_PROXY_TEXTURE_3D 0x8070 -#define GL_TEXTURE_DEPTH 0x8071 -#define GL_TEXTURE_WRAP_R 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 -#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 -#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_BGR 0x80E0 -#define GL_BGRA 0x80E1 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_TEXTURE_MIN_LOD 0x813A -#define GL_TEXTURE_MAX_LOD 0x813B -#define GL_TEXTURE_BASE_LEVEL 0x813C -#define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 -#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 -#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E -#define GL_TEXTURE0 0x84C0 -#define GL_TEXTURE1 0x84C1 -#define GL_TEXTURE2 0x84C2 -#define GL_TEXTURE3 0x84C3 -#define GL_TEXTURE4 0x84C4 -#define GL_TEXTURE5 0x84C5 -#define GL_TEXTURE6 0x84C6 -#define GL_TEXTURE7 0x84C7 -#define GL_TEXTURE8 0x84C8 -#define GL_TEXTURE9 0x84C9 -#define GL_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_ACTIVE_TEXTURE 0x84E0 -#define GL_MULTISAMPLE 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE 0x809F -#define GL_SAMPLE_COVERAGE 0x80A0 -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C -#define GL_COMPRESSED_RGB 0x84ED -#define GL_COMPRESSED_RGBA 0x84EE -#define GL_TEXTURE_COMPRESSION_HINT 0x84EF -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 -#define GL_TEXTURE_COMPRESSED 0x86A1 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 -#define GL_CLAMP_TO_BORDER 0x812D -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_DEPTH_COMPONENT32 0x81A7 -#define GL_MIRRORED_REPEAT 0x8370 -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD -#define GL_TEXTURE_LOD_BIAS 0x8501 -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 -#define GL_TEXTURE_DEPTH_SIZE 0x884A -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_BLEND_COLOR 0x8005 -#define GL_BLEND_EQUATION 0x8009 -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_FUNC_ADD 0x8006 -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#define GL_FUNC_SUBTRACT 0x800A -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 -#define GL_QUERY_COUNTER_BITS 0x8864 -#define GL_CURRENT_QUERY 0x8865 -#define GL_QUERY_RESULT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE 0x8867 -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F -#define GL_READ_ONLY 0x88B8 -#define GL_WRITE_ONLY 0x88B9 -#define GL_READ_WRITE 0x88BA -#define GL_BUFFER_ACCESS 0x88BB -#define GL_BUFFER_MAPPED 0x88BC -#define GL_BUFFER_MAP_POINTER 0x88BD -#define GL_STREAM_DRAW 0x88E0 -#define GL_STREAM_READ 0x88E1 -#define GL_STREAM_COPY 0x88E2 -#define GL_STATIC_DRAW 0x88E4 -#define GL_STATIC_READ 0x88E5 -#define GL_STATIC_COPY 0x88E6 -#define GL_DYNAMIC_DRAW 0x88E8 -#define GL_DYNAMIC_READ 0x88E9 -#define GL_DYNAMIC_COPY 0x88EA -#define GL_SAMPLES_PASSED 0x8914 -#define GL_SRC1_ALPHA 0x8589 -#define GL_BLEND_EQUATION_RGB 0x8009 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 -#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_MAX_VARYING_FLOATS 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_SHADER_TYPE 0x8B4F -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_SAMPLER_1D 0x8B5D -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_3D 0x8B5F -#define GL_SAMPLER_CUBE 0x8B60 -#define GL_SAMPLER_1D_SHADOW 0x8B61 -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#define GL_DELETE_STATUS 0x8B80 -#define GL_COMPILE_STATUS 0x8B81 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#define GL_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB_ALPHA 0x8C42 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_COMPRESSED_SRGB 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 -#define GL_COMPARE_REF_TO_TEXTURE 0x884E -#define GL_CLIP_DISTANCE0 0x3000 -#define GL_CLIP_DISTANCE1 0x3001 -#define GL_CLIP_DISTANCE2 0x3002 -#define GL_CLIP_DISTANCE3 0x3003 -#define GL_CLIP_DISTANCE4 0x3004 -#define GL_CLIP_DISTANCE5 0x3005 -#define GL_CLIP_DISTANCE6 0x3006 -#define GL_CLIP_DISTANCE7 0x3007 -#define GL_MAX_CLIP_DISTANCES 0x0D32 -#define GL_MAJOR_VERSION 0x821B -#define GL_MINOR_VERSION 0x821C -#define GL_NUM_EXTENSIONS 0x821D -#define GL_CONTEXT_FLAGS 0x821E -#define GL_COMPRESSED_RED 0x8225 -#define GL_COMPRESSED_RG 0x8226 -#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 -#define GL_RGBA32F 0x8814 -#define GL_RGB32F 0x8815 -#define GL_RGBA16F 0x881A -#define GL_RGB16F 0x881B -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD -#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF -#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 -#define GL_CLAMP_READ_COLOR 0x891C -#define GL_FIXED_ONLY 0x891D -#define GL_MAX_VARYING_COMPONENTS 0x8B4B -#define GL_TEXTURE_1D_ARRAY 0x8C18 -#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 -#define GL_TEXTURE_2D_ARRAY 0x8C1A -#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B -#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D -#define GL_R11F_G11F_B10F 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B -#define GL_RGB9_E5 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E -#define GL_TEXTURE_SHARED_SIZE 0x8C3F -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 -#define GL_PRIMITIVES_GENERATED 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 -#define GL_RASTERIZER_DISCARD 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B -#define GL_INTERLEAVED_ATTRIBS 0x8C8C -#define GL_SEPARATE_ATTRIBS 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F -#define GL_RGBA32UI 0x8D70 -#define GL_RGB32UI 0x8D71 -#define GL_RGBA16UI 0x8D76 -#define GL_RGB16UI 0x8D77 -#define GL_RGBA8UI 0x8D7C -#define GL_RGB8UI 0x8D7D -#define GL_RGBA32I 0x8D82 -#define GL_RGB32I 0x8D83 -#define GL_RGBA16I 0x8D88 -#define GL_RGB16I 0x8D89 -#define GL_RGBA8I 0x8D8E -#define GL_RGB8I 0x8D8F -#define GL_RED_INTEGER 0x8D94 -#define GL_GREEN_INTEGER 0x8D95 -#define GL_BLUE_INTEGER 0x8D96 -#define GL_RGB_INTEGER 0x8D98 -#define GL_RGBA_INTEGER 0x8D99 -#define GL_BGR_INTEGER 0x8D9A -#define GL_BGRA_INTEGER 0x8D9B -#define GL_SAMPLER_1D_ARRAY 0x8DC0 -#define GL_SAMPLER_2D_ARRAY 0x8DC1 -#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 -#define GL_UNSIGNED_INT_VEC2 0x8DC6 -#define GL_UNSIGNED_INT_VEC3 0x8DC7 -#define GL_UNSIGNED_INT_VEC4 0x8DC8 -#define GL_INT_SAMPLER_1D 0x8DC9 -#define GL_INT_SAMPLER_2D 0x8DCA -#define GL_INT_SAMPLER_3D 0x8DCB -#define GL_INT_SAMPLER_CUBE 0x8DCC -#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF -#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 -#define GL_QUERY_WAIT 0x8E13 -#define GL_QUERY_NO_WAIT 0x8E14 -#define GL_QUERY_BY_REGION_WAIT 0x8E15 -#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 -#define GL_BUFFER_ACCESS_FLAGS 0x911F -#define GL_BUFFER_MAP_LENGTH 0x9120 -#define GL_BUFFER_MAP_OFFSET 0x9121 -#define GL_DEPTH_COMPONENT32F 0x8CAC -#define GL_DEPTH32F_STENCIL8 0x8CAD -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 -#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 -#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 -#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 -#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 -#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 -#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 -#define GL_FRAMEBUFFER_DEFAULT 0x8218 -#define GL_FRAMEBUFFER_UNDEFINED 0x8219 -#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 -#define GL_DEPTH_STENCIL 0x84F9 -#define GL_UNSIGNED_INT_24_8 0x84FA -#define GL_DEPTH24_STENCIL8 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE 0x88F1 -#define GL_TEXTURE_RED_TYPE 0x8C10 -#define GL_TEXTURE_GREEN_TYPE 0x8C11 -#define GL_TEXTURE_BLUE_TYPE 0x8C12 -#define GL_TEXTURE_ALPHA_TYPE 0x8C13 -#define GL_TEXTURE_DEPTH_TYPE 0x8C16 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_DRAW_FRAMEBUFFER 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA -#define GL_RENDERBUFFER_SAMPLES 0x8CAB -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD -#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_COLOR_ATTACHMENT1 0x8CE1 -#define GL_COLOR_ATTACHMENT2 0x8CE2 -#define GL_COLOR_ATTACHMENT3 0x8CE3 -#define GL_COLOR_ATTACHMENT4 0x8CE4 -#define GL_COLOR_ATTACHMENT5 0x8CE5 -#define GL_COLOR_ATTACHMENT6 0x8CE6 -#define GL_COLOR_ATTACHMENT7 0x8CE7 -#define GL_COLOR_ATTACHMENT8 0x8CE8 -#define GL_COLOR_ATTACHMENT9 0x8CE9 -#define GL_COLOR_ATTACHMENT10 0x8CEA -#define GL_COLOR_ATTACHMENT11 0x8CEB -#define GL_COLOR_ATTACHMENT12 0x8CEC -#define GL_COLOR_ATTACHMENT13 0x8CED -#define GL_COLOR_ATTACHMENT14 0x8CEE -#define GL_COLOR_ATTACHMENT15 0x8CEF -#define GL_COLOR_ATTACHMENT16 0x8CF0 -#define GL_COLOR_ATTACHMENT17 0x8CF1 -#define GL_COLOR_ATTACHMENT18 0x8CF2 -#define GL_COLOR_ATTACHMENT19 0x8CF3 -#define GL_COLOR_ATTACHMENT20 0x8CF4 -#define GL_COLOR_ATTACHMENT21 0x8CF5 -#define GL_COLOR_ATTACHMENT22 0x8CF6 -#define GL_COLOR_ATTACHMENT23 0x8CF7 -#define GL_COLOR_ATTACHMENT24 0x8CF8 -#define GL_COLOR_ATTACHMENT25 0x8CF9 -#define GL_COLOR_ATTACHMENT26 0x8CFA -#define GL_COLOR_ATTACHMENT27 0x8CFB -#define GL_COLOR_ATTACHMENT28 0x8CFC -#define GL_COLOR_ATTACHMENT29 0x8CFD -#define GL_COLOR_ATTACHMENT30 0x8CFE -#define GL_COLOR_ATTACHMENT31 0x8CFF -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_STENCIL_ATTACHMENT 0x8D20 -#define GL_FRAMEBUFFER 0x8D40 -#define GL_RENDERBUFFER 0x8D41 -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_STENCIL_INDEX1 0x8D46 -#define GL_STENCIL_INDEX4 0x8D47 -#define GL_STENCIL_INDEX8 0x8D48 -#define GL_STENCIL_INDEX16 0x8D49 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 -#define GL_MAX_SAMPLES 0x8D57 -#define GL_FRAMEBUFFER_SRGB 0x8DB9 -#define GL_HALF_FLOAT 0x140B -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#define GL_COMPRESSED_RED_RGTC1 0x8DBB -#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC -#define GL_COMPRESSED_RG_RGTC2 0x8DBD -#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE -#define GL_RG 0x8227 -#define GL_RG_INTEGER 0x8228 -#define GL_R8 0x8229 -#define GL_R16 0x822A -#define GL_RG8 0x822B -#define GL_RG16 0x822C -#define GL_R16F 0x822D -#define GL_R32F 0x822E -#define GL_RG16F 0x822F -#define GL_RG32F 0x8230 -#define GL_R8I 0x8231 -#define GL_R8UI 0x8232 -#define GL_R16I 0x8233 -#define GL_R16UI 0x8234 -#define GL_R32I 0x8235 -#define GL_R32UI 0x8236 -#define GL_RG8I 0x8237 -#define GL_RG8UI 0x8238 -#define GL_RG16I 0x8239 -#define GL_RG16UI 0x823A -#define GL_RG32I 0x823B -#define GL_RG32UI 0x823C -#define GL_VERTEX_ARRAY_BINDING 0x85B5 -#define GL_SAMPLER_2D_RECT 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 -#define GL_SAMPLER_BUFFER 0x8DC2 -#define GL_INT_SAMPLER_2D_RECT 0x8DCD -#define GL_INT_SAMPLER_BUFFER 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 -#define GL_TEXTURE_BUFFER 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D -#define GL_TEXTURE_RECTANGLE 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 -#define GL_R8_SNORM 0x8F94 -#define GL_RG8_SNORM 0x8F95 -#define GL_RGB8_SNORM 0x8F96 -#define GL_RGBA8_SNORM 0x8F97 -#define GL_R16_SNORM 0x8F98 -#define GL_RG16_SNORM 0x8F99 -#define GL_RGB16_SNORM 0x8F9A -#define GL_RGBA16_SNORM 0x8F9B -#define GL_SIGNED_NORMALIZED 0x8F9C -#define GL_PRIMITIVE_RESTART 0x8F9D -#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E -#define GL_COPY_READ_BUFFER 0x8F36 -#define GL_COPY_WRITE_BUFFER 0x8F37 -#define GL_UNIFORM_BUFFER 0x8A11 -#define GL_UNIFORM_BUFFER_BINDING 0x8A28 -#define GL_UNIFORM_BUFFER_START 0x8A29 -#define GL_UNIFORM_BUFFER_SIZE 0x8A2A -#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B -#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C -#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D -#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E -#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F -#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 -#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 -#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 -#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 -#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 -#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 -#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 -#define GL_UNIFORM_TYPE 0x8A37 -#define GL_UNIFORM_SIZE 0x8A38 -#define GL_UNIFORM_NAME_LENGTH 0x8A39 -#define GL_UNIFORM_BLOCK_INDEX 0x8A3A -#define GL_UNIFORM_OFFSET 0x8A3B -#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C -#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D -#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E -#define GL_UNIFORM_BLOCK_BINDING 0x8A3F -#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 -#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 -#define GL_INVALID_INDEX 0xFFFFFFFF -#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 -#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 -#define GL_LINES_ADJACENCY 0x000A -#define GL_LINE_STRIP_ADJACENCY 0x000B -#define GL_TRIANGLES_ADJACENCY 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D -#define GL_PROGRAM_POINT_SIZE 0x8642 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 -#define GL_GEOMETRY_SHADER 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT 0x8916 -#define GL_GEOMETRY_INPUT_TYPE 0x8917 -#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 -#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 -#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 -#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 -#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 -#define GL_CONTEXT_PROFILE_MASK 0x9126 -#define GL_DEPTH_CLAMP 0x864F -#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C -#define GL_FIRST_VERTEX_CONVENTION 0x8E4D -#define GL_LAST_VERTEX_CONVENTION 0x8E4E -#define GL_PROVOKING_VERTEX 0x8E4F -#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F -#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 -#define GL_OBJECT_TYPE 0x9112 -#define GL_SYNC_CONDITION 0x9113 -#define GL_SYNC_STATUS 0x9114 -#define GL_SYNC_FLAGS 0x9115 -#define GL_SYNC_FENCE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 -#define GL_UNSIGNALED 0x9118 -#define GL_SIGNALED 0x9119 -#define GL_ALREADY_SIGNALED 0x911A -#define GL_TIMEOUT_EXPIRED 0x911B -#define GL_CONDITION_SATISFIED 0x911C -#define GL_WAIT_FAILED 0x911D -#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF -#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 -#define GL_SAMPLE_POSITION 0x8E50 -#define GL_SAMPLE_MASK 0x8E51 -#define GL_SAMPLE_MASK_VALUE 0x8E52 -#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 -#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 -#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 -#define GL_TEXTURE_SAMPLES 0x9106 -#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 -#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 -#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A -#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B -#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D -#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E -#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F -#define GL_MAX_INTEGER_SAMPLES 0x9110 -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE -#define GL_SRC1_COLOR 0x88F9 -#define GL_ONE_MINUS_SRC1_COLOR 0x88FA -#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB -#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC -#define GL_ANY_SAMPLES_PASSED 0x8C2F -#define GL_SAMPLER_BINDING 0x8919 -#define GL_RGB10_A2UI 0x906F -#define GL_TEXTURE_SWIZZLE_R 0x8E42 -#define GL_TEXTURE_SWIZZLE_G 0x8E43 -#define GL_TEXTURE_SWIZZLE_B 0x8E44 -#define GL_TEXTURE_SWIZZLE_A 0x8E45 -#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 -#define GL_TIME_ELAPSED 0x88BF -#define GL_TIMESTAMP 0x8E28 -#define GL_INT_2_10_10_10_REV 0x8D9F -#define GL_SAMPLE_SHADING 0x8C36 -#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 -#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E -#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F -#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A -#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B -#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C -#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D -#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E -#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F -#define GL_DRAW_INDIRECT_BUFFER 0x8F3F -#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 -#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F -#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A -#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B -#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C -#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D -#define GL_MAX_VERTEX_STREAMS 0x8E71 -#define GL_DOUBLE_VEC2 0x8FFC -#define GL_DOUBLE_VEC3 0x8FFD -#define GL_DOUBLE_VEC4 0x8FFE -#define GL_DOUBLE_MAT2 0x8F46 -#define GL_DOUBLE_MAT3 0x8F47 -#define GL_DOUBLE_MAT4 0x8F48 -#define GL_DOUBLE_MAT2x3 0x8F49 -#define GL_DOUBLE_MAT2x4 0x8F4A -#define GL_DOUBLE_MAT3x2 0x8F4B -#define GL_DOUBLE_MAT3x4 0x8F4C -#define GL_DOUBLE_MAT4x2 0x8F4D -#define GL_DOUBLE_MAT4x3 0x8F4E -#define GL_ACTIVE_SUBROUTINES 0x8DE5 -#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 -#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 -#define GL_MAX_SUBROUTINES 0x8DE7 -#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 -#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A -#define GL_COMPATIBLE_SUBROUTINES 0x8E4B -#define GL_PATCHES 0x000E -#define GL_PATCH_VERTICES 0x8E72 -#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 -#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 -#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 -#define GL_TESS_GEN_MODE 0x8E76 -#define GL_TESS_GEN_SPACING 0x8E77 -#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 -#define GL_TESS_GEN_POINT_MODE 0x8E79 -#define GL_ISOLINES 0x8E7A -#define GL_QUADS 0x0007 -#define GL_FRACTIONAL_ODD 0x8E7B -#define GL_FRACTIONAL_EVEN 0x8E7C -#define GL_MAX_PATCH_VERTICES 0x8E7D -#define GL_MAX_TESS_GEN_LEVEL 0x8E7E -#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F -#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 -#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 -#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 -#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 -#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 -#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 -#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 -#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 -#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A -#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C -#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D -#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E -#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 -#define GL_TESS_EVALUATION_SHADER 0x8E87 -#define GL_TESS_CONTROL_SHADER 0x8E88 -#define GL_TRANSFORM_FEEDBACK 0x8E22 -#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 -#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 -#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 -#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 -#define GL_FIXED 0x140C -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B -#define GL_LOW_FLOAT 0x8DF0 -#define GL_MEDIUM_FLOAT 0x8DF1 -#define GL_HIGH_FLOAT 0x8DF2 -#define GL_LOW_INT 0x8DF3 -#define GL_MEDIUM_INT 0x8DF4 -#define GL_HIGH_INT 0x8DF5 -#define GL_SHADER_COMPILER 0x8DFA -#define GL_SHADER_BINARY_FORMATS 0x8DF8 -#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VARYING_VECTORS 0x8DFC -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_RGB565 0x8D62 -#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 -#define GL_PROGRAM_BINARY_LENGTH 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE -#define GL_PROGRAM_BINARY_FORMATS 0x87FF -#define GL_VERTEX_SHADER_BIT 0x00000001 -#define GL_FRAGMENT_SHADER_BIT 0x00000002 -#define GL_GEOMETRY_SHADER_BIT 0x00000004 -#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 -#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 -#define GL_ALL_SHADER_BITS 0xFFFFFFFF -#define GL_PROGRAM_SEPARABLE 0x8258 -#define GL_ACTIVE_PROGRAM 0x8259 -#define GL_PROGRAM_PIPELINE_BINDING 0x825A -#define GL_MAX_VIEWPORTS 0x825B -#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C -#define GL_VIEWPORT_BOUNDS_RANGE 0x825D -#define GL_LAYER_PROVOKING_VERTEX 0x825E -#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F -#define GL_UNDEFINED_VERTEX 0x8260 -#define GL_COPY_READ_BUFFER_BINDING 0x8F36 -#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 -#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 -#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 -#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 -#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 -#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 -#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A -#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B -#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C -#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D -#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E -#define GL_NUM_SAMPLE_COUNTS 0x9380 -#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC -#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 -#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 -#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 -#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 -#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB -#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE -#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF -#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 -#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 -#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 -#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 -#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 -#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC -#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 -#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA -#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB -#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 -#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 -#define GL_UNIFORM_BARRIER_BIT 0x00000004 -#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 -#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 -#define GL_COMMAND_BARRIER_BIT 0x00000040 -#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 -#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 -#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 -#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 -#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 -#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 -#define GL_ALL_BARRIER_BITS 0xFFFFFFFF -#define GL_MAX_IMAGE_UNITS 0x8F38 -#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 -#define GL_IMAGE_BINDING_NAME 0x8F3A -#define GL_IMAGE_BINDING_LEVEL 0x8F3B -#define GL_IMAGE_BINDING_LAYERED 0x8F3C -#define GL_IMAGE_BINDING_LAYER 0x8F3D -#define GL_IMAGE_BINDING_ACCESS 0x8F3E -#define GL_IMAGE_1D 0x904C -#define GL_IMAGE_2D 0x904D -#define GL_IMAGE_3D 0x904E -#define GL_IMAGE_2D_RECT 0x904F -#define GL_IMAGE_CUBE 0x9050 -#define GL_IMAGE_BUFFER 0x9051 -#define GL_IMAGE_1D_ARRAY 0x9052 -#define GL_IMAGE_2D_ARRAY 0x9053 -#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 -#define GL_IMAGE_2D_MULTISAMPLE 0x9055 -#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 -#define GL_INT_IMAGE_1D 0x9057 -#define GL_INT_IMAGE_2D 0x9058 -#define GL_INT_IMAGE_3D 0x9059 -#define GL_INT_IMAGE_2D_RECT 0x905A -#define GL_INT_IMAGE_CUBE 0x905B -#define GL_INT_IMAGE_BUFFER 0x905C -#define GL_INT_IMAGE_1D_ARRAY 0x905D -#define GL_INT_IMAGE_2D_ARRAY 0x905E -#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F -#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 -#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 -#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 -#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 -#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 -#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 -#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 -#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 -#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 -#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 -#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C -#define GL_MAX_IMAGE_SAMPLES 0x906D -#define GL_IMAGE_BINDING_FORMAT 0x906E -#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 -#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA -#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB -#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC -#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD -#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE -#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF -#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C -#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D -#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E -#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F -#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F -#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 -#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E -#define GL_COMPRESSED_RGB8_ETC2 0x9274 -#define GL_COMPRESSED_SRGB8_ETC2 0x9275 -#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 -#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 -#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 -#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 -#define GL_COMPRESSED_R11_EAC 0x9270 -#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 -#define GL_COMPRESSED_RG11_EAC 0x9272 -#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 -#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A -#define GL_MAX_ELEMENT_INDEX 0x8D6B -#define GL_COMPUTE_SHADER 0x91B9 -#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB -#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC -#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD -#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 -#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 -#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 -#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 -#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 -#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB -#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE -#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF -#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED -#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE -#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF -#define GL_COMPUTE_SHADER_BIT 0x00000020 -#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 -#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 -#define GL_DEBUG_SOURCE_API 0x8246 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 -#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 -#define GL_DEBUG_SOURCE_APPLICATION 0x824A -#define GL_DEBUG_SOURCE_OTHER 0x824B -#define GL_DEBUG_TYPE_ERROR 0x824C -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E -#define GL_DEBUG_TYPE_PORTABILITY 0x824F -#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 -#define GL_DEBUG_TYPE_OTHER 0x8251 -#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES 0x9145 -#define GL_DEBUG_SEVERITY_HIGH 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 -#define GL_DEBUG_SEVERITY_LOW 0x9148 -#define GL_DEBUG_TYPE_MARKER 0x8268 -#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 -#define GL_DEBUG_TYPE_POP_GROUP 0x826A -#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C -#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D -#define GL_BUFFER 0x82E0 -#define GL_SHADER 0x82E1 -#define GL_PROGRAM 0x82E2 -#define GL_VERTEX_ARRAY 0x8074 -#define GL_QUERY 0x82E3 -#define GL_PROGRAM_PIPELINE 0x82E4 -#define GL_SAMPLER 0x82E6 -#define GL_MAX_LABEL_LENGTH 0x82E8 -#define GL_DEBUG_OUTPUT 0x92E0 -#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 -#define GL_MAX_UNIFORM_LOCATIONS 0x826E -#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 -#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 -#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 -#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 -#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 -#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 -#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 -#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 -#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 -#define GL_INTERNALFORMAT_SUPPORTED 0x826F -#define GL_INTERNALFORMAT_PREFERRED 0x8270 -#define GL_INTERNALFORMAT_RED_SIZE 0x8271 -#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 -#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 -#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 -#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 -#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 -#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 -#define GL_INTERNALFORMAT_RED_TYPE 0x8278 -#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 -#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A -#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B -#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C -#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D -#define GL_MAX_WIDTH 0x827E -#define GL_MAX_HEIGHT 0x827F -#define GL_MAX_DEPTH 0x8280 -#define GL_MAX_LAYERS 0x8281 -#define GL_MAX_COMBINED_DIMENSIONS 0x8282 -#define GL_COLOR_COMPONENTS 0x8283 -#define GL_DEPTH_COMPONENTS 0x8284 -#define GL_STENCIL_COMPONENTS 0x8285 -#define GL_COLOR_RENDERABLE 0x8286 -#define GL_DEPTH_RENDERABLE 0x8287 -#define GL_STENCIL_RENDERABLE 0x8288 -#define GL_FRAMEBUFFER_RENDERABLE 0x8289 -#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A -#define GL_FRAMEBUFFER_BLEND 0x828B -#define GL_READ_PIXELS 0x828C -#define GL_READ_PIXELS_FORMAT 0x828D -#define GL_READ_PIXELS_TYPE 0x828E -#define GL_TEXTURE_IMAGE_FORMAT 0x828F -#define GL_TEXTURE_IMAGE_TYPE 0x8290 -#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 -#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 -#define GL_MIPMAP 0x8293 -#define GL_MANUAL_GENERATE_MIPMAP 0x8294 -#define GL_AUTO_GENERATE_MIPMAP 0x8295 -#define GL_COLOR_ENCODING 0x8296 -#define GL_SRGB_READ 0x8297 -#define GL_SRGB_WRITE 0x8298 -#define GL_FILTER 0x829A -#define GL_VERTEX_TEXTURE 0x829B -#define GL_TESS_CONTROL_TEXTURE 0x829C -#define GL_TESS_EVALUATION_TEXTURE 0x829D -#define GL_GEOMETRY_TEXTURE 0x829E -#define GL_FRAGMENT_TEXTURE 0x829F -#define GL_COMPUTE_TEXTURE 0x82A0 -#define GL_TEXTURE_SHADOW 0x82A1 -#define GL_TEXTURE_GATHER 0x82A2 -#define GL_TEXTURE_GATHER_SHADOW 0x82A3 -#define GL_SHADER_IMAGE_LOAD 0x82A4 -#define GL_SHADER_IMAGE_STORE 0x82A5 -#define GL_SHADER_IMAGE_ATOMIC 0x82A6 -#define GL_IMAGE_TEXEL_SIZE 0x82A7 -#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 -#define GL_IMAGE_PIXEL_FORMAT 0x82A9 -#define GL_IMAGE_PIXEL_TYPE 0x82AA -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF -#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 -#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 -#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 -#define GL_CLEAR_BUFFER 0x82B4 -#define GL_TEXTURE_VIEW 0x82B5 -#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 -#define GL_FULL_SUPPORT 0x82B7 -#define GL_CAVEAT_SUPPORT 0x82B8 -#define GL_IMAGE_CLASS_4_X_32 0x82B9 -#define GL_IMAGE_CLASS_2_X_32 0x82BA -#define GL_IMAGE_CLASS_1_X_32 0x82BB -#define GL_IMAGE_CLASS_4_X_16 0x82BC -#define GL_IMAGE_CLASS_2_X_16 0x82BD -#define GL_IMAGE_CLASS_1_X_16 0x82BE -#define GL_IMAGE_CLASS_4_X_8 0x82BF -#define GL_IMAGE_CLASS_2_X_8 0x82C0 -#define GL_IMAGE_CLASS_1_X_8 0x82C1 -#define GL_IMAGE_CLASS_11_11_10 0x82C2 -#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 -#define GL_VIEW_CLASS_128_BITS 0x82C4 -#define GL_VIEW_CLASS_96_BITS 0x82C5 -#define GL_VIEW_CLASS_64_BITS 0x82C6 -#define GL_VIEW_CLASS_48_BITS 0x82C7 -#define GL_VIEW_CLASS_32_BITS 0x82C8 -#define GL_VIEW_CLASS_24_BITS 0x82C9 -#define GL_VIEW_CLASS_16_BITS 0x82CA -#define GL_VIEW_CLASS_8_BITS 0x82CB -#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC -#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD -#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE -#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF -#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 -#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 -#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 -#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 -#define GL_UNIFORM 0x92E1 -#define GL_UNIFORM_BLOCK 0x92E2 -#define GL_PROGRAM_INPUT 0x92E3 -#define GL_PROGRAM_OUTPUT 0x92E4 -#define GL_BUFFER_VARIABLE 0x92E5 -#define GL_SHADER_STORAGE_BLOCK 0x92E6 -#define GL_VERTEX_SUBROUTINE 0x92E8 -#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 -#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA -#define GL_GEOMETRY_SUBROUTINE 0x92EB -#define GL_FRAGMENT_SUBROUTINE 0x92EC -#define GL_COMPUTE_SUBROUTINE 0x92ED -#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE -#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF -#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 -#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 -#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 -#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 -#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 -#define GL_ACTIVE_RESOURCES 0x92F5 -#define GL_MAX_NAME_LENGTH 0x92F6 -#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 -#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 -#define GL_NAME_LENGTH 0x92F9 -#define GL_TYPE 0x92FA -#define GL_ARRAY_SIZE 0x92FB -#define GL_OFFSET 0x92FC -#define GL_BLOCK_INDEX 0x92FD -#define GL_ARRAY_STRIDE 0x92FE -#define GL_MATRIX_STRIDE 0x92FF -#define GL_IS_ROW_MAJOR 0x9300 -#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 -#define GL_BUFFER_BINDING 0x9302 -#define GL_BUFFER_DATA_SIZE 0x9303 -#define GL_NUM_ACTIVE_VARIABLES 0x9304 -#define GL_ACTIVE_VARIABLES 0x9305 -#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 -#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 -#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 -#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 -#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A -#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B -#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C -#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D -#define GL_LOCATION 0x930E -#define GL_LOCATION_INDEX 0x930F -#define GL_IS_PER_PATCH 0x92E7 -#define GL_SHADER_STORAGE_BUFFER 0x90D2 -#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 -#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 -#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 -#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 -#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 -#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 -#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 -#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA -#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB -#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC -#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD -#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE -#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF -#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 -#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 -#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA -#define GL_TEXTURE_BUFFER_OFFSET 0x919D -#define GL_TEXTURE_BUFFER_SIZE 0x919E -#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F -#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB -#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC -#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD -#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE -#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF -#define GL_VERTEX_ATTRIB_BINDING 0x82D4 -#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 -#define GL_VERTEX_BINDING_DIVISOR 0x82D6 -#define GL_VERTEX_BINDING_OFFSET 0x82D7 -#define GL_VERTEX_BINDING_STRIDE 0x82D8 -#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 -#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA -#define GL_VERTEX_BINDING_BUFFER 0x8F4F -#define GL_DISPLAY_LIST 0x82E7 -#define GL_STACK_UNDERFLOW 0x0504 -#define GL_STACK_OVERFLOW 0x0503 -#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 -#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 -#define GL_TEXTURE_BUFFER_BINDING 0x8C2A -#define GL_MAP_PERSISTENT_BIT 0x0040 -#define GL_MAP_COHERENT_BIT 0x0080 -#define GL_DYNAMIC_STORAGE_BIT 0x0100 -#define GL_CLIENT_STORAGE_BIT 0x0200 -#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 -#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F -#define GL_BUFFER_STORAGE_FLAGS 0x8220 -#define GL_CLEAR_TEXTURE 0x9365 -#define GL_LOCATION_COMPONENT 0x934A -#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B -#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C -#define GL_QUERY_BUFFER 0x9192 -#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 -#define GL_QUERY_BUFFER_BINDING 0x9193 -#define GL_QUERY_RESULT_NO_WAIT 0x9194 -#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 -#define GL_CONTEXT_LOST 0x0507 -#define GL_NEGATIVE_ONE_TO_ONE 0x935E -#define GL_ZERO_TO_ONE 0x935F -#define GL_CLIP_ORIGIN 0x935C -#define GL_CLIP_DEPTH_MODE 0x935D -#define GL_QUERY_WAIT_INVERTED 0x8E17 -#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 -#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 -#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A -#define GL_MAX_CULL_DISTANCES 0x82F9 -#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA -#define GL_TEXTURE_TARGET 0x1006 -#define GL_QUERY_TARGET 0x82EA -#define GL_GUILTY_CONTEXT_RESET 0x8253 -#define GL_INNOCENT_CONTEXT_RESET 0x8254 -#define GL_UNKNOWN_CONTEXT_RESET 0x8255 -#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 -#define GL_LOSE_CONTEXT_ON_RESET 0x8252 -#define GL_NO_RESET_NOTIFICATION 0x8261 -#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 -#define GL_COLOR_TABLE 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 -#define GL_PROXY_COLOR_TABLE 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 -#define GL_CONVOLUTION_1D 0x8010 -#define GL_CONVOLUTION_2D 0x8011 -#define GL_SEPARABLE_2D 0x8012 -#define GL_HISTOGRAM 0x8024 -#define GL_PROXY_HISTOGRAM 0x8025 -#define GL_MINMAX 0x802E -#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB -#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC -#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551 -#define GL_SPIR_V_BINARY 0x9552 -#define GL_PARAMETER_BUFFER 0x80EE -#define GL_PARAMETER_BUFFER_BINDING 0x80EF -#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008 -#define GL_VERTICES_SUBMITTED 0x82EE -#define GL_PRIMITIVES_SUBMITTED 0x82EF -#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0 -#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1 -#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2 -#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3 -#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4 -#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5 -#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6 -#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7 -#define GL_POLYGON_OFFSET_CLAMP 0x8E1B -#define GL_SPIR_V_EXTENSIONS 0x9553 -#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 -#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE -#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF -#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC -#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED -#ifndef GL_VERSION_1_0 -#define GL_VERSION_1_0 1 -GLAPI int GLAD_GL_VERSION_1_0; -typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode); -GLAPI PFNGLCULLFACEPROC glad_glCullFace; -#define glCullFace glad_glCullFace -typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode); -GLAPI PFNGLFRONTFACEPROC glad_glFrontFace; -#define glFrontFace glad_glFrontFace -typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode); -GLAPI PFNGLHINTPROC glad_glHint; -#define glHint glad_glHint -typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width); -GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth; -#define glLineWidth glad_glLineWidth -typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size); -GLAPI PFNGLPOINTSIZEPROC glad_glPointSize; -#define glPointSize glad_glPointSize -typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); -GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode; -#define glPolygonMode glad_glPolygonMode -typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLSCISSORPROC glad_glScissor; -#define glScissor glad_glScissor -typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); -GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf; -#define glTexParameterf glad_glTexParameterf -typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params); -GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; -#define glTexParameterfv glad_glTexParameterfv -typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); -GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri; -#define glTexParameteri glad_glTexParameteri -typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params); -GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; -#define glTexParameteriv glad_glTexParameteriv -typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D; -#define glTexImage1D glad_glTexImage1D -typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D; -#define glTexImage2D glad_glTexImage2D -typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf); -GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer; -#define glDrawBuffer glad_glDrawBuffer -typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask); -GLAPI PFNGLCLEARPROC glad_glClear; -#define glClear glad_glClear -typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GLAPI PFNGLCLEARCOLORPROC glad_glClearColor; -#define glClearColor glad_glClearColor -typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s); -GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil; -#define glClearStencil glad_glClearStencil -typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth); -GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth; -#define glClearDepth glad_glClearDepth -typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask); -GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask; -#define glStencilMask glad_glStencilMask -typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); -GLAPI PFNGLCOLORMASKPROC glad_glColorMask; -#define glColorMask glad_glColorMask -typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag); -GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask; -#define glDepthMask glad_glDepthMask -typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap); -GLAPI PFNGLDISABLEPROC glad_glDisable; -#define glDisable glad_glDisable -typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap); -GLAPI PFNGLENABLEPROC glad_glEnable; -#define glEnable glad_glEnable -typedef void (APIENTRYP PFNGLFINISHPROC)(void); -GLAPI PFNGLFINISHPROC glad_glFinish; -#define glFinish glad_glFinish -typedef void (APIENTRYP PFNGLFLUSHPROC)(void); -GLAPI PFNGLFLUSHPROC glad_glFlush; -#define glFlush glad_glFlush -typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); -GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc; -#define glBlendFunc glad_glBlendFunc -typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode); -GLAPI PFNGLLOGICOPPROC glad_glLogicOp; -#define glLogicOp glad_glLogicOp -typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); -GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc; -#define glStencilFunc glad_glStencilFunc -typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); -GLAPI PFNGLSTENCILOPPROC glad_glStencilOp; -#define glStencilOp glad_glStencilOp -typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func); -GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc; -#define glDepthFunc glad_glDepthFunc -typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); -GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref; -#define glPixelStoref glad_glPixelStoref -typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); -GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei; -#define glPixelStorei glad_glPixelStorei -typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src); -GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer; -#define glReadBuffer glad_glReadBuffer -typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); -GLAPI PFNGLREADPIXELSPROC glad_glReadPixels; -#define glReadPixels glad_glReadPixels -typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data); -GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv; -#define glGetBooleanv glad_glGetBooleanv -typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data); -GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev; -#define glGetDoublev glad_glGetDoublev -typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(void); -GLAPI PFNGLGETERRORPROC glad_glGetError; -#define glGetError glad_glGetError -typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data); -GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv; -#define glGetFloatv glad_glGetFloatv -typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data); -GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv; -#define glGetIntegerv glad_glGetIntegerv -typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name); -GLAPI PFNGLGETSTRINGPROC glad_glGetString; -#define glGetString glad_glGetString -typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); -GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage; -#define glGetTexImage glad_glGetTexImage -typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params); -GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; -#define glGetTexParameterfv glad_glGetTexParameterfv -typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; -#define glGetTexParameteriv glad_glGetTexParameteriv -typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); -GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; -#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv -typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; -#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv -typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap); -GLAPI PFNGLISENABLEDPROC glad_glIsEnabled; -#define glIsEnabled glad_glIsEnabled -typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble n, GLdouble f); -GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange; -#define glDepthRange glad_glDepthRange -typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLVIEWPORTPROC glad_glViewport; -#define glViewport glad_glViewport -#endif -#ifndef GL_VERSION_1_1 -#define GL_VERSION_1_1 1 -GLAPI int GLAD_GL_VERSION_1_1; -typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); -GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays; -#define glDrawArrays glad_glDrawArrays -typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices); -GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements; -#define glDrawElements glad_glDrawElements -typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); -GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; -#define glPolygonOffset glad_glPolygonOffset -typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); -GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; -#define glCopyTexImage1D glad_glCopyTexImage1D -typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; -#define glCopyTexImage2D glad_glCopyTexImage2D -typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; -#define glCopyTexSubImage1D glad_glCopyTexSubImage1D -typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; -#define glCopyTexSubImage2D glad_glCopyTexSubImage2D -typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; -#define glTexSubImage1D glad_glTexSubImage1D -typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; -#define glTexSubImage2D glad_glTexSubImage2D -typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); -GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture; -#define glBindTexture glad_glBindTexture -typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures); -GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures; -#define glDeleteTextures glad_glDeleteTextures -typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures); -GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures; -#define glGenTextures glad_glGenTextures -typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture); -GLAPI PFNGLISTEXTUREPROC glad_glIsTexture; -#define glIsTexture glad_glIsTexture -#endif -#ifndef GL_VERSION_1_2 -#define GL_VERSION_1_2 1 -GLAPI int GLAD_GL_VERSION_1_2; -typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); -GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; -#define glDrawRangeElements glad_glDrawRangeElements -typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D; -#define glTexImage3D glad_glTexImage3D -typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; -#define glTexSubImage3D glad_glTexSubImage3D -typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; -#define glCopyTexSubImage3D glad_glCopyTexSubImage3D -#endif -#ifndef GL_VERSION_1_3 -#define GL_VERSION_1_3 1 -GLAPI int GLAD_GL_VERSION_1_3; -typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture); -GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture; -#define glActiveTexture glad_glActiveTexture -typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); -GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; -#define glSampleCoverage glad_glSampleCoverage -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; -#define glCompressedTexImage3D glad_glCompressedTexImage3D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; -#define glCompressedTexImage2D glad_glCompressedTexImage2D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; -#define glCompressedTexImage1D glad_glCompressedTexImage1D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; -#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; -#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; -#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D -typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img); -GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; -#define glGetCompressedTexImage glad_glGetCompressedTexImage -#endif -#ifndef GL_VERSION_1_4 -#define GL_VERSION_1_4 1 -GLAPI int GLAD_GL_VERSION_1_4; -typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; -#define glBlendFuncSeparate glad_glBlendFuncSeparate -typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); -GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; -#define glMultiDrawArrays glad_glMultiDrawArrays -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); -GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; -#define glMultiDrawElements glad_glMultiDrawElements -typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); -GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; -#define glPointParameterf glad_glPointParameterf -typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params); -GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; -#define glPointParameterfv glad_glPointParameterfv -typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); -GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; -#define glPointParameteri glad_glPointParameteri -typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params); -GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; -#define glPointParameteriv glad_glPointParameteriv -typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor; -#define glBlendColor glad_glBlendColor -typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode); -GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation; -#define glBlendEquation glad_glBlendEquation -#endif -#ifndef GL_VERSION_1_5 -#define GL_VERSION_1_5 1 -GLAPI int GLAD_GL_VERSION_1_5; -typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids); -GLAPI PFNGLGENQUERIESPROC glad_glGenQueries; -#define glGenQueries glad_glGenQueries -typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids); -GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries; -#define glDeleteQueries glad_glDeleteQueries -typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id); -GLAPI PFNGLISQUERYPROC glad_glIsQuery; -#define glIsQuery glad_glIsQuery -typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); -GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery; -#define glBeginQuery glad_glBeginQuery -typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target); -GLAPI PFNGLENDQUERYPROC glad_glEndQuery; -#define glEndQuery glad_glEndQuery -typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv; -#define glGetQueryiv glad_glGetQueryiv -typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params); -GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; -#define glGetQueryObjectiv glad_glGetQueryObjectiv -typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params); -GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; -#define glGetQueryObjectuiv glad_glGetQueryObjectuiv -typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); -GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer; -#define glBindBuffer glad_glBindBuffer -typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers); -GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; -#define glDeleteBuffers glad_glDeleteBuffers -typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers); -GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers; -#define glGenBuffers glad_glGenBuffers -typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer); -GLAPI PFNGLISBUFFERPROC glad_glIsBuffer; -#define glIsBuffer glad_glIsBuffer -typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); -GLAPI PFNGLBUFFERDATAPROC glad_glBufferData; -#define glBufferData glad_glBufferData -typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); -GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; -#define glBufferSubData glad_glBufferSubData -typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); -GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; -#define glGetBufferSubData glad_glGetBufferSubData -typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); -GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer; -#define glMapBuffer glad_glMapBuffer -typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target); -GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; -#define glUnmapBuffer glad_glUnmapBuffer -typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; -#define glGetBufferParameteriv glad_glGetBufferParameteriv -typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params); -GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; -#define glGetBufferPointerv glad_glGetBufferPointerv -#endif -#ifndef GL_VERSION_2_0 -#define GL_VERSION_2_0 1 -GLAPI int GLAD_GL_VERSION_2_0; -typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); -GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; -#define glBlendEquationSeparate glad_glBlendEquationSeparate -typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs); -GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; -#define glDrawBuffers glad_glDrawBuffers -typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); -GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; -#define glStencilOpSeparate glad_glStencilOpSeparate -typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); -GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; -#define glStencilFuncSeparate glad_glStencilFuncSeparate -typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); -GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; -#define glStencilMaskSeparate glad_glStencilMaskSeparate -typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); -GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader; -#define glAttachShader glad_glAttachShader -typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name); -GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; -#define glBindAttribLocation glad_glBindAttribLocation -typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader); -GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader; -#define glCompileShader glad_glCompileShader -typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(void); -GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram; -#define glCreateProgram glad_glCreateProgram -typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type); -GLAPI PFNGLCREATESHADERPROC glad_glCreateShader; -#define glCreateShader glad_glCreateShader -typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program); -GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; -#define glDeleteProgram glad_glDeleteProgram -typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader); -GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader; -#define glDeleteShader glad_glDeleteShader -typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); -GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader; -#define glDetachShader glad_glDetachShader -typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); -GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; -#define glDisableVertexAttribArray glad_glDisableVertexAttribArray -typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); -GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; -#define glEnableVertexAttribArray glad_glEnableVertexAttribArray -typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); -GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; -#define glGetActiveAttrib glad_glGetActiveAttrib -typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); -GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; -#define glGetActiveUniform glad_glGetActiveUniform -typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); -GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; -#define glGetAttachedShaders glad_glGetAttachedShaders -typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name); -GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; -#define glGetAttribLocation glad_glGetAttribLocation -typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params); -GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; -#define glGetProgramiv glad_glGetProgramiv -typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; -#define glGetProgramInfoLog glad_glGetProgramInfoLog -typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params); -GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv; -#define glGetShaderiv glad_glGetShaderiv -typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; -#define glGetShaderInfoLog glad_glGetShaderInfoLog -typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); -GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; -#define glGetShaderSource glad_glGetShaderSource -typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name); -GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; -#define glGetUniformLocation glad_glGetUniformLocation -typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params); -GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; -#define glGetUniformfv glad_glGetUniformfv -typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params); -GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; -#define glGetUniformiv glad_glGetUniformiv -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params); -GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; -#define glGetVertexAttribdv glad_glGetVertexAttribdv -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params); -GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; -#define glGetVertexAttribfv glad_glGetVertexAttribfv -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params); -GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; -#define glGetVertexAttribiv glad_glGetVertexAttribiv -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer); -GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; -#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv -typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program); -GLAPI PFNGLISPROGRAMPROC glad_glIsProgram; -#define glIsProgram glad_glIsProgram -typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader); -GLAPI PFNGLISSHADERPROC glad_glIsShader; -#define glIsShader glad_glIsShader -typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program); -GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram; -#define glLinkProgram glad_glLinkProgram -typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); -GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource; -#define glShaderSource glad_glShaderSource -typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program); -GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram; -#define glUseProgram glad_glUseProgram -typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); -GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f; -#define glUniform1f glad_glUniform1f -typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); -GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f; -#define glUniform2f glad_glUniform2f -typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); -GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f; -#define glUniform3f glad_glUniform3f -typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); -GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f; -#define glUniform4f glad_glUniform4f -typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0); -GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i; -#define glUniform1i glad_glUniform1i -typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); -GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i; -#define glUniform2i glad_glUniform2i -typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); -GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i; -#define glUniform3i glad_glUniform3i -typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); -GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i; -#define glUniform4i glad_glUniform4i -typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv; -#define glUniform1fv glad_glUniform1fv -typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv; -#define glUniform2fv glad_glUniform2fv -typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv; -#define glUniform3fv glad_glUniform3fv -typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv; -#define glUniform4fv glad_glUniform4fv -typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv; -#define glUniform1iv glad_glUniform1iv -typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv; -#define glUniform2iv glad_glUniform2iv -typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv; -#define glUniform3iv glad_glUniform3iv -typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv; -#define glUniform4iv glad_glUniform4iv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; -#define glUniformMatrix2fv glad_glUniformMatrix2fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; -#define glUniformMatrix3fv glad_glUniformMatrix3fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; -#define glUniformMatrix4fv glad_glUniformMatrix4fv -typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program); -GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; -#define glValidateProgram glad_glValidateProgram -typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); -GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; -#define glVertexAttrib1d glad_glVertexAttrib1d -typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; -#define glVertexAttrib1dv glad_glVertexAttrib1dv -typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); -GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; -#define glVertexAttrib1f glad_glVertexAttrib1f -typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v); -GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; -#define glVertexAttrib1fv glad_glVertexAttrib1fv -typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); -GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; -#define glVertexAttrib1s glad_glVertexAttrib1s -typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; -#define glVertexAttrib1sv glad_glVertexAttrib1sv -typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); -GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; -#define glVertexAttrib2d glad_glVertexAttrib2d -typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; -#define glVertexAttrib2dv glad_glVertexAttrib2dv -typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); -GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; -#define glVertexAttrib2f glad_glVertexAttrib2f -typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v); -GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; -#define glVertexAttrib2fv glad_glVertexAttrib2fv -typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); -GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; -#define glVertexAttrib2s glad_glVertexAttrib2s -typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; -#define glVertexAttrib2sv glad_glVertexAttrib2sv -typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); -GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; -#define glVertexAttrib3d glad_glVertexAttrib3d -typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; -#define glVertexAttrib3dv glad_glVertexAttrib3dv -typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); -GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; -#define glVertexAttrib3f glad_glVertexAttrib3f -typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v); -GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; -#define glVertexAttrib3fv glad_glVertexAttrib3fv -typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); -GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; -#define glVertexAttrib3s glad_glVertexAttrib3s -typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; -#define glVertexAttrib3sv glad_glVertexAttrib3sv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v); -GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; -#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; -#define glVertexAttrib4Niv glad_glVertexAttrib4Niv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; -#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); -GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; -#define glVertexAttrib4Nub glad_glVertexAttrib4Nub -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v); -GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; -#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; -#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v); -GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; -#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v); -GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; -#define glVertexAttrib4bv glad_glVertexAttrib4bv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; -#define glVertexAttrib4d glad_glVertexAttrib4d -typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; -#define glVertexAttrib4dv glad_glVertexAttrib4dv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; -#define glVertexAttrib4f glad_glVertexAttrib4f -typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v); -GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; -#define glVertexAttrib4fv glad_glVertexAttrib4fv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; -#define glVertexAttrib4iv glad_glVertexAttrib4iv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; -#define glVertexAttrib4s glad_glVertexAttrib4s -typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; -#define glVertexAttrib4sv glad_glVertexAttrib4sv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v); -GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; -#define glVertexAttrib4ubv glad_glVertexAttrib4ubv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; -#define glVertexAttrib4uiv glad_glVertexAttrib4uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v); -GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; -#define glVertexAttrib4usv glad_glVertexAttrib4usv -typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); -GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; -#define glVertexAttribPointer glad_glVertexAttribPointer -#endif -#ifndef GL_VERSION_2_1 -#define GL_VERSION_2_1 1 -GLAPI int GLAD_GL_VERSION_2_1; -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; -#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; -#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; -#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; -#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; -#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; -#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv -#endif -#ifndef GL_VERSION_3_0 -#define GL_VERSION_3_0 1 -GLAPI int GLAD_GL_VERSION_3_0; -typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); -GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski; -#define glColorMaski glad_glColorMaski -typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data); -GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; -#define glGetBooleani_v glad_glGetBooleani_v -typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data); -GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; -#define glGetIntegeri_v glad_glGetIntegeri_v -typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index); -GLAPI PFNGLENABLEIPROC glad_glEnablei; -#define glEnablei glad_glEnablei -typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index); -GLAPI PFNGLDISABLEIPROC glad_glDisablei; -#define glDisablei glad_glDisablei -typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index); -GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi; -#define glIsEnabledi glad_glIsEnabledi -typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); -GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; -#define glBeginTransformFeedback glad_glBeginTransformFeedback -typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void); -GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; -#define glEndTransformFeedback glad_glEndTransformFeedback -typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; -#define glBindBufferRange glad_glBindBufferRange -typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); -GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; -#define glBindBufferBase glad_glBindBufferBase -typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); -GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; -#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings -typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); -GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; -#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying -typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); -GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor; -#define glClampColor glad_glClampColor -typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); -GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; -#define glBeginConditionalRender glad_glBeginConditionalRender -typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void); -GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; -#define glEndConditionalRender glad_glEndConditionalRender -typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); -GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; -#define glVertexAttribIPointer glad_glVertexAttribIPointer -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params); -GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; -#define glGetVertexAttribIiv glad_glGetVertexAttribIiv -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params); -GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; -#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); -GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; -#define glVertexAttribI1i glad_glVertexAttribI1i -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); -GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; -#define glVertexAttribI2i glad_glVertexAttribI2i -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); -GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; -#define glVertexAttribI3i glad_glVertexAttribI3i -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); -GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; -#define glVertexAttribI4i glad_glVertexAttribI4i -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); -GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; -#define glVertexAttribI1ui glad_glVertexAttribI1ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); -GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; -#define glVertexAttribI2ui glad_glVertexAttribI2ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); -GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; -#define glVertexAttribI3ui glad_glVertexAttribI3ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; -#define glVertexAttribI4ui glad_glVertexAttribI4ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; -#define glVertexAttribI1iv glad_glVertexAttribI1iv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; -#define glVertexAttribI2iv glad_glVertexAttribI2iv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; -#define glVertexAttribI3iv glad_glVertexAttribI3iv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; -#define glVertexAttribI4iv glad_glVertexAttribI4iv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; -#define glVertexAttribI1uiv glad_glVertexAttribI1uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; -#define glVertexAttribI2uiv glad_glVertexAttribI2uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; -#define glVertexAttribI3uiv glad_glVertexAttribI3uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v); -GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; -#define glVertexAttribI4uiv glad_glVertexAttribI4uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v); -GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; -#define glVertexAttribI4bv glad_glVertexAttribI4bv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v); -GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; -#define glVertexAttribI4sv glad_glVertexAttribI4sv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v); -GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; -#define glVertexAttribI4ubv glad_glVertexAttribI4ubv -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v); -GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; -#define glVertexAttribI4usv glad_glVertexAttribI4usv -typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params); -GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; -#define glGetUniformuiv glad_glGetUniformuiv -typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name); -GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; -#define glBindFragDataLocation glad_glBindFragDataLocation -typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name); -GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; -#define glGetFragDataLocation glad_glGetFragDataLocation -typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); -GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui; -#define glUniform1ui glad_glUniform1ui -typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); -GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui; -#define glUniform2ui glad_glUniform2ui -typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); -GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui; -#define glUniform3ui glad_glUniform3ui -typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); -GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui; -#define glUniform4ui glad_glUniform4ui -typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; -#define glUniform1uiv glad_glUniform1uiv -typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; -#define glUniform2uiv glad_glUniform2uiv -typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; -#define glUniform3uiv glad_glUniform3uiv -typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; -#define glUniform4uiv glad_glUniform4uiv -typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params); -GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; -#define glTexParameterIiv glad_glTexParameterIiv -typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params); -GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; -#define glTexParameterIuiv glad_glTexParameterIuiv -typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; -#define glGetTexParameterIiv glad_glGetTexParameterIiv -typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params); -GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; -#define glGetTexParameterIuiv glad_glGetTexParameterIuiv -typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value); -GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; -#define glClearBufferiv glad_glClearBufferiv -typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value); -GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; -#define glClearBufferuiv glad_glClearBufferuiv -typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value); -GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; -#define glClearBufferfv glad_glClearBufferfv -typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); -GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; -#define glClearBufferfi glad_glClearBufferfi -typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); -GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi; -#define glGetStringi glad_glGetStringi -typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); -GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; -#define glIsRenderbuffer glad_glIsRenderbuffer -typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); -GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; -#define glBindRenderbuffer glad_glBindRenderbuffer -typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers); -GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; -#define glDeleteRenderbuffers glad_glDeleteRenderbuffers -typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); -GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; -#define glGenRenderbuffers glad_glGenRenderbuffers -typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; -#define glRenderbufferStorage glad_glRenderbufferStorage -typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; -#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv -typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); -GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; -#define glIsFramebuffer glad_glIsFramebuffer -typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); -GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; -#define glBindFramebuffer glad_glBindFramebuffer -typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers); -GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; -#define glDeleteFramebuffers glad_glDeleteFramebuffers -typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); -GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; -#define glGenFramebuffers glad_glGenFramebuffers -typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); -GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; -#define glCheckFramebufferStatus glad_glCheckFramebufferStatus -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; -#define glFramebufferTexture1D glad_glFramebufferTexture1D -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; -#define glFramebufferTexture2D glad_glFramebufferTexture2D -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; -#define glFramebufferTexture3D glad_glFramebufferTexture3D -typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; -#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer -typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params); -GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; -#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv -typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target); -GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; -#define glGenerateMipmap glad_glGenerateMipmap -typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; -#define glBlitFramebuffer glad_glBlitFramebuffer -typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; -#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); -GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; -#define glFramebufferTextureLayer glad_glFramebufferTextureLayer -typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); -GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; -#define glMapBufferRange glad_glMapBufferRange -typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); -GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; -#define glFlushMappedBufferRange glad_glFlushMappedBufferRange -typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array); -GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; -#define glBindVertexArray glad_glBindVertexArray -typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays); -GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; -#define glDeleteVertexArrays glad_glDeleteVertexArrays -typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); -GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; -#define glGenVertexArrays glad_glGenVertexArrays -typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array); -GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; -#define glIsVertexArray glad_glIsVertexArray -#endif -#ifndef GL_VERSION_3_1 -#define GL_VERSION_3_1 1 -GLAPI int GLAD_GL_VERSION_3_1; -typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); -GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; -#define glDrawArraysInstanced glad_glDrawArraysInstanced -typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); -GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; -#define glDrawElementsInstanced glad_glDrawElementsInstanced -typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); -GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer; -#define glTexBuffer glad_glTexBuffer -typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); -GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; -#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex -typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); -GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; -#define glCopyBufferSubData glad_glCopyBufferSubData -typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); -GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; -#define glGetUniformIndices glad_glGetUniformIndices -typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); -GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; -#define glGetActiveUniformsiv glad_glGetActiveUniformsiv -typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); -GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; -#define glGetActiveUniformName glad_glGetActiveUniformName -typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName); -GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; -#define glGetUniformBlockIndex glad_glGetUniformBlockIndex -typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); -GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; -#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv -typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); -GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; -#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName -typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); -GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; -#define glUniformBlockBinding glad_glUniformBlockBinding -#endif -#ifndef GL_VERSION_3_2 -#define GL_VERSION_3_2 1 -GLAPI int GLAD_GL_VERSION_3_2; -typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); -GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; -#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex -typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); -GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; -#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex -typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); -GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; -#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); -GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; -#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex -typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode); -GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; -#define glProvokingVertex glad_glProvokingVertex -typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); -GLAPI PFNGLFENCESYNCPROC glad_glFenceSync; -#define glFenceSync glad_glFenceSync -typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync); -GLAPI PFNGLISSYNCPROC glad_glIsSync; -#define glIsSync glad_glIsSync -typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync); -GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync; -#define glDeleteSync glad_glDeleteSync -typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); -GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; -#define glClientWaitSync glad_glClientWaitSync -typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); -GLAPI PFNGLWAITSYNCPROC glad_glWaitSync; -#define glWaitSync glad_glWaitSync -typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data); -GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v; -#define glGetInteger64v glad_glGetInteger64v -typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); -GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv; -#define glGetSynciv glad_glGetSynciv -typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data); -GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; -#define glGetInteger64i_v glad_glGetInteger64i_v -typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params); -GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; -#define glGetBufferParameteri64v glad_glGetBufferParameteri64v -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); -GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; -#define glFramebufferTexture glad_glFramebufferTexture -typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; -#define glTexImage2DMultisample glad_glTexImage2DMultisample -typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; -#define glTexImage3DMultisample glad_glTexImage3DMultisample -typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val); -GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; -#define glGetMultisamplefv glad_glGetMultisamplefv -typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); -GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski; -#define glSampleMaski glad_glSampleMaski -#endif -#ifndef GL_VERSION_3_3 -#define GL_VERSION_3_3 1 -GLAPI int GLAD_GL_VERSION_3_3; -typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); -GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; -#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed -typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name); -GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; -#define glGetFragDataIndex glad_glGetFragDataIndex -typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers); -GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers; -#define glGenSamplers glad_glGenSamplers -typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers); -GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; -#define glDeleteSamplers glad_glDeleteSamplers -typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler); -GLAPI PFNGLISSAMPLERPROC glad_glIsSampler; -#define glIsSampler glad_glIsSampler -typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); -GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler; -#define glBindSampler glad_glBindSampler -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); -GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; -#define glSamplerParameteri glad_glSamplerParameteri -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param); -GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; -#define glSamplerParameteriv glad_glSamplerParameteriv -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); -GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; -#define glSamplerParameterf glad_glSamplerParameterf -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param); -GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; -#define glSamplerParameterfv glad_glSamplerParameterfv -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param); -GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; -#define glSamplerParameterIiv glad_glSamplerParameterIiv -typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param); -GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; -#define glSamplerParameterIuiv glad_glSamplerParameterIuiv -typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params); -GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; -#define glGetSamplerParameteriv glad_glGetSamplerParameteriv -typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params); -GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; -#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv -typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params); -GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; -#define glGetSamplerParameterfv glad_glGetSamplerParameterfv -typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params); -GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; -#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv -typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); -GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter; -#define glQueryCounter glad_glQueryCounter -typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params); -GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; -#define glGetQueryObjecti64v glad_glGetQueryObjecti64v -typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params); -GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; -#define glGetQueryObjectui64v glad_glGetQueryObjectui64v -typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); -GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; -#define glVertexAttribDivisor glad_glVertexAttribDivisor -typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); -GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; -#define glVertexAttribP1ui glad_glVertexAttribP1ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); -GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; -#define glVertexAttribP1uiv glad_glVertexAttribP1uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); -GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; -#define glVertexAttribP2ui glad_glVertexAttribP2ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); -GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; -#define glVertexAttribP2uiv glad_glVertexAttribP2uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); -GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; -#define glVertexAttribP3ui glad_glVertexAttribP3ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); -GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; -#define glVertexAttribP3uiv glad_glVertexAttribP3uiv -typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); -GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; -#define glVertexAttribP4ui glad_glVertexAttribP4ui -typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); -GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; -#define glVertexAttribP4uiv glad_glVertexAttribP4uiv -typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value); -GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui; -#define glVertexP2ui glad_glVertexP2ui -typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value); -GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; -#define glVertexP2uiv glad_glVertexP2uiv -typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value); -GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui; -#define glVertexP3ui glad_glVertexP3ui -typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value); -GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; -#define glVertexP3uiv glad_glVertexP3uiv -typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value); -GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui; -#define glVertexP4ui glad_glVertexP4ui -typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value); -GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; -#define glVertexP4uiv glad_glVertexP4uiv -typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords); -GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; -#define glTexCoordP1ui glad_glTexCoordP1ui -typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords); -GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; -#define glTexCoordP1uiv glad_glTexCoordP1uiv -typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords); -GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; -#define glTexCoordP2ui glad_glTexCoordP2ui -typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords); -GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; -#define glTexCoordP2uiv glad_glTexCoordP2uiv -typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords); -GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; -#define glTexCoordP3ui glad_glTexCoordP3ui -typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords); -GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; -#define glTexCoordP3uiv glad_glTexCoordP3uiv -typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords); -GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; -#define glTexCoordP4ui glad_glTexCoordP4ui -typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords); -GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; -#define glTexCoordP4uiv glad_glTexCoordP4uiv -typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords); -GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; -#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui -typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); -GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; -#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv -typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords); -GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; -#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui -typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); -GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; -#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv -typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords); -GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; -#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui -typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); -GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; -#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv -typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords); -GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; -#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui -typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); -GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; -#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv -typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords); -GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui; -#define glNormalP3ui glad_glNormalP3ui -typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords); -GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; -#define glNormalP3uiv glad_glNormalP3uiv -typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color); -GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui; -#define glColorP3ui glad_glColorP3ui -typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color); -GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv; -#define glColorP3uiv glad_glColorP3uiv -typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color); -GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui; -#define glColorP4ui glad_glColorP4ui -typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color); -GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv; -#define glColorP4uiv glad_glColorP4uiv -typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color); -GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; -#define glSecondaryColorP3ui glad_glSecondaryColorP3ui -typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color); -GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; -#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv -#endif -#ifndef GL_VERSION_4_0 -#define GL_VERSION_4_0 1 -GLAPI int GLAD_GL_VERSION_4_0; -typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC)(GLfloat value); -GLAPI PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading; -#define glMinSampleShading glad_glMinSampleShading -typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode); -GLAPI PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi; -#define glBlendEquationi glad_glBlendEquationi -typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); -GLAPI PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei; -#define glBlendEquationSeparatei glad_glBlendEquationSeparatei -typedef void (APIENTRYP PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst); -GLAPI PFNGLBLENDFUNCIPROC glad_glBlendFunci; -#define glBlendFunci glad_glBlendFunci -typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); -GLAPI PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei; -#define glBlendFuncSeparatei glad_glBlendFuncSeparatei -typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect); -GLAPI PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect; -#define glDrawArraysIndirect glad_glDrawArraysIndirect -typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect); -GLAPI PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect; -#define glDrawElementsIndirect glad_glDrawElementsIndirect -typedef void (APIENTRYP PFNGLUNIFORM1DPROC)(GLint location, GLdouble x); -GLAPI PFNGLUNIFORM1DPROC glad_glUniform1d; -#define glUniform1d glad_glUniform1d -typedef void (APIENTRYP PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y); -GLAPI PFNGLUNIFORM2DPROC glad_glUniform2d; -#define glUniform2d glad_glUniform2d -typedef void (APIENTRYP PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z); -GLAPI PFNGLUNIFORM3DPROC glad_glUniform3d; -#define glUniform3d glad_glUniform3d -typedef void (APIENTRYP PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -GLAPI PFNGLUNIFORM4DPROC glad_glUniform4d; -#define glUniform4d glad_glUniform4d -typedef void (APIENTRYP PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLUNIFORM1DVPROC glad_glUniform1dv; -#define glUniform1dv glad_glUniform1dv -typedef void (APIENTRYP PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLUNIFORM2DVPROC glad_glUniform2dv; -#define glUniform2dv glad_glUniform2dv -typedef void (APIENTRYP PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLUNIFORM3DVPROC glad_glUniform3dv; -#define glUniform3dv glad_glUniform3dv -typedef void (APIENTRYP PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLUNIFORM4DVPROC glad_glUniform4dv; -#define glUniform4dv glad_glUniform4dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv; -#define glUniformMatrix2dv glad_glUniformMatrix2dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv; -#define glUniformMatrix3dv glad_glUniformMatrix3dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv; -#define glUniformMatrix4dv glad_glUniformMatrix4dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv; -#define glUniformMatrix2x3dv glad_glUniformMatrix2x3dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv; -#define glUniformMatrix2x4dv glad_glUniformMatrix2x4dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv; -#define glUniformMatrix3x2dv glad_glUniformMatrix3x2dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv; -#define glUniformMatrix3x4dv glad_glUniformMatrix3x4dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv; -#define glUniformMatrix4x2dv glad_glUniformMatrix4x2dv -typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv; -#define glUniformMatrix4x3dv glad_glUniformMatrix4x3dv -typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble *params); -GLAPI PFNGLGETUNIFORMDVPROC glad_glGetUniformdv; -#define glGetUniformdv glad_glGetUniformdv -typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shadertype, const GLchar *name); -GLAPI PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation; -#define glGetSubroutineUniformLocation glad_glGetSubroutineUniformLocation -typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shadertype, const GLchar *name); -GLAPI PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex; -#define glGetSubroutineIndex glad_glGetSubroutineIndex -typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); -GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv; -#define glGetActiveSubroutineUniformiv glad_glGetActiveSubroutineUniformiv -typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); -GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName; -#define glGetActiveSubroutineUniformName glad_glGetActiveSubroutineUniformName -typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); -GLAPI PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName; -#define glGetActiveSubroutineName glad_glGetActiveSubroutineName -typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shadertype, GLsizei count, const GLuint *indices); -GLAPI PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv; -#define glUniformSubroutinesuiv glad_glUniformSubroutinesuiv -typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shadertype, GLint location, GLuint *params); -GLAPI PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv; -#define glGetUniformSubroutineuiv glad_glGetUniformSubroutineuiv -typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shadertype, GLenum pname, GLint *values); -GLAPI PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv; -#define glGetProgramStageiv glad_glGetProgramStageiv -typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value); -GLAPI PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri; -#define glPatchParameteri glad_glPatchParameteri -typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat *values); -GLAPI PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv; -#define glPatchParameterfv glad_glPatchParameterfv -typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id); -GLAPI PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback; -#define glBindTransformFeedback glad_glBindTransformFeedback -typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint *ids); -GLAPI PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks; -#define glDeleteTransformFeedbacks glad_glDeleteTransformFeedbacks -typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids); -GLAPI PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks; -#define glGenTransformFeedbacks glad_glGenTransformFeedbacks -typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id); -GLAPI PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback; -#define glIsTransformFeedback glad_glIsTransformFeedback -typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)(void); -GLAPI PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback; -#define glPauseTransformFeedback glad_glPauseTransformFeedback -typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)(void); -GLAPI PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback; -#define glResumeTransformFeedback glad_glResumeTransformFeedback -typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint id); -GLAPI PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback; -#define glDrawTransformFeedback glad_glDrawTransformFeedback -typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream); -GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream; -#define glDrawTransformFeedbackStream glad_glDrawTransformFeedbackStream -typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id); -GLAPI PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed; -#define glBeginQueryIndexed glad_glBeginQueryIndexed -typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index); -GLAPI PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed; -#define glEndQueryIndexed glad_glEndQueryIndexed -typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params); -GLAPI PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv; -#define glGetQueryIndexediv glad_glGetQueryIndexediv -#endif -#ifndef GL_VERSION_4_1 -#define GL_VERSION_4_1 1 -GLAPI int GLAD_GL_VERSION_4_1; -typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC)(void); -GLAPI PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; -#define glReleaseShaderCompiler glad_glReleaseShaderCompiler -typedef void (APIENTRYP PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); -GLAPI PFNGLSHADERBINARYPROC glad_glShaderBinary; -#define glShaderBinary glad_glShaderBinary -typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); -GLAPI PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; -#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat -typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f); -GLAPI PFNGLDEPTHRANGEFPROC glad_glDepthRangef; -#define glDepthRangef glad_glDepthRangef -typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC)(GLfloat d); -GLAPI PFNGLCLEARDEPTHFPROC glad_glClearDepthf; -#define glClearDepthf glad_glClearDepthf -typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); -GLAPI PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary; -#define glGetProgramBinary glad_glGetProgramBinary -typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); -GLAPI PFNGLPROGRAMBINARYPROC glad_glProgramBinary; -#define glProgramBinary glad_glProgramBinary -typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value); -GLAPI PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri; -#define glProgramParameteri glad_glProgramParameteri -typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program); -GLAPI PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages; -#define glUseProgramStages glad_glUseProgramStages -typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program); -GLAPI PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram; -#define glActiveShaderProgram glad_glActiveShaderProgram -typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar *const*strings); -GLAPI PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv; -#define glCreateShaderProgramv glad_glCreateShaderProgramv -typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline); -GLAPI PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline; -#define glBindProgramPipeline glad_glBindProgramPipeline -typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint *pipelines); -GLAPI PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines; -#define glDeleteProgramPipelines glad_glDeleteProgramPipelines -typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines); -GLAPI PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines; -#define glGenProgramPipelines glad_glGenProgramPipelines -typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline); -GLAPI PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline; -#define glIsProgramPipeline glad_glIsProgramPipeline -typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint *params); -GLAPI PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv; -#define glGetProgramPipelineiv glad_glGetProgramPipelineiv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0); -GLAPI PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i; -#define glProgramUniform1i glad_glProgramUniform1i -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv; -#define glProgramUniform1iv glad_glProgramUniform1iv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat v0); -GLAPI PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f; -#define glProgramUniform1f glad_glProgramUniform1f -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv; -#define glProgramUniform1fv glad_glProgramUniform1fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble v0); -GLAPI PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d; -#define glProgramUniform1d glad_glProgramUniform1d -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv; -#define glProgramUniform1dv glad_glProgramUniform1dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0); -GLAPI PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui; -#define glProgramUniform1ui glad_glProgramUniform1ui -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv; -#define glProgramUniform1uiv glad_glProgramUniform1uiv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint v0, GLint v1); -GLAPI PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i; -#define glProgramUniform2i glad_glProgramUniform2i -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv; -#define glProgramUniform2iv glad_glProgramUniform2iv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1); -GLAPI PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f; -#define glProgramUniform2f glad_glProgramUniform2f -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv; -#define glProgramUniform2fv glad_glProgramUniform2fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1); -GLAPI PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d; -#define glProgramUniform2d glad_glProgramUniform2d -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv; -#define glProgramUniform2dv glad_glProgramUniform2dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1); -GLAPI PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui; -#define glProgramUniform2ui glad_glProgramUniform2ui -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv; -#define glProgramUniform2uiv glad_glProgramUniform2uiv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); -GLAPI PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i; -#define glProgramUniform3i glad_glProgramUniform3i -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv; -#define glProgramUniform3iv glad_glProgramUniform3iv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); -GLAPI PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f; -#define glProgramUniform3f glad_glProgramUniform3f -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv; -#define glProgramUniform3fv glad_glProgramUniform3fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); -GLAPI PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d; -#define glProgramUniform3d glad_glProgramUniform3d -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv; -#define glProgramUniform3dv glad_glProgramUniform3dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); -GLAPI PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui; -#define glProgramUniform3ui glad_glProgramUniform3ui -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv; -#define glProgramUniform3uiv glad_glProgramUniform3uiv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); -GLAPI PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i; -#define glProgramUniform4i glad_glProgramUniform4i -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value); -GLAPI PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv; -#define glProgramUniform4iv glad_glProgramUniform4iv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); -GLAPI PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f; -#define glProgramUniform4f glad_glProgramUniform4f -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv; -#define glProgramUniform4fv glad_glProgramUniform4fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); -GLAPI PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d; -#define glProgramUniform4d glad_glProgramUniform4d -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv; -#define glProgramUniform4dv glad_glProgramUniform4dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); -GLAPI PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui; -#define glProgramUniform4ui glad_glProgramUniform4ui -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value); -GLAPI PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv; -#define glProgramUniform4uiv glad_glProgramUniform4uiv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv; -#define glProgramUniformMatrix2fv glad_glProgramUniformMatrix2fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv; -#define glProgramUniformMatrix3fv glad_glProgramUniformMatrix3fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv; -#define glProgramUniformMatrix4fv glad_glProgramUniformMatrix4fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv; -#define glProgramUniformMatrix2dv glad_glProgramUniformMatrix2dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv; -#define glProgramUniformMatrix3dv glad_glProgramUniformMatrix3dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv; -#define glProgramUniformMatrix4dv glad_glProgramUniformMatrix4dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv; -#define glProgramUniformMatrix2x3fv glad_glProgramUniformMatrix2x3fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv; -#define glProgramUniformMatrix3x2fv glad_glProgramUniformMatrix3x2fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv; -#define glProgramUniformMatrix2x4fv glad_glProgramUniformMatrix2x4fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv; -#define glProgramUniformMatrix4x2fv glad_glProgramUniformMatrix4x2fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv; -#define glProgramUniformMatrix3x4fv glad_glProgramUniformMatrix3x4fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv; -#define glProgramUniformMatrix4x3fv glad_glProgramUniformMatrix4x3fv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv; -#define glProgramUniformMatrix2x3dv glad_glProgramUniformMatrix2x3dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv; -#define glProgramUniformMatrix3x2dv glad_glProgramUniformMatrix3x2dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv; -#define glProgramUniformMatrix2x4dv glad_glProgramUniformMatrix2x4dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv; -#define glProgramUniformMatrix4x2dv glad_glProgramUniformMatrix4x2dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv; -#define glProgramUniformMatrix3x4dv glad_glProgramUniformMatrix3x4dv -typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); -GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv; -#define glProgramUniformMatrix4x3dv glad_glProgramUniformMatrix4x3dv -typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline); -GLAPI PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline; -#define glValidateProgramPipeline glad_glValidateProgramPipeline -typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -GLAPI PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog; -#define glGetProgramPipelineInfoLog glad_glGetProgramPipelineInfoLog -typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x); -GLAPI PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d; -#define glVertexAttribL1d glad_glVertexAttribL1d -typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y); -GLAPI PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d; -#define glVertexAttribL2d glad_glVertexAttribL2d -typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); -GLAPI PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d; -#define glVertexAttribL3d glad_glVertexAttribL3d -typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -GLAPI PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d; -#define glVertexAttribL4d glad_glVertexAttribL4d -typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv; -#define glVertexAttribL1dv glad_glVertexAttribL1dv -typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv; -#define glVertexAttribL2dv glad_glVertexAttribL2dv -typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv; -#define glVertexAttribL3dv glad_glVertexAttribL3dv -typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble *v); -GLAPI PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv; -#define glVertexAttribL4dv glad_glVertexAttribL4dv -typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); -GLAPI PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer; -#define glVertexAttribLPointer glad_glVertexAttribLPointer -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble *params); -GLAPI PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv; -#define glGetVertexAttribLdv glad_glGetVertexAttribLdv -typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat *v); -GLAPI PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv; -#define glViewportArrayv glad_glViewportArrayv -typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); -GLAPI PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf; -#define glViewportIndexedf glad_glViewportIndexedf -typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat *v); -GLAPI PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv; -#define glViewportIndexedfv glad_glViewportIndexedfv -typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint *v); -GLAPI PFNGLSCISSORARRAYVPROC glad_glScissorArrayv; -#define glScissorArrayv glad_glScissorArrayv -typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); -GLAPI PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed; -#define glScissorIndexed glad_glScissorIndexed -typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint *v); -GLAPI PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv; -#define glScissorIndexedv glad_glScissorIndexedv -typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLdouble *v); -GLAPI PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv; -#define glDepthRangeArrayv glad_glDepthRangeArrayv -typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f); -GLAPI PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed; -#define glDepthRangeIndexed glad_glDepthRangeIndexed -typedef void (APIENTRYP PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *data); -GLAPI PFNGLGETFLOATI_VPROC glad_glGetFloati_v; -#define glGetFloati_v glad_glGetFloati_v -typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble *data); -GLAPI PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v; -#define glGetDoublei_v glad_glGetDoublei_v -#endif -#ifndef GL_VERSION_4_2 -#define GL_VERSION_4_2 1 -GLAPI int GLAD_GL_VERSION_4_2; -typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); -GLAPI PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance; -#define glDrawArraysInstancedBaseInstance glad_glDrawArraysInstancedBaseInstance -typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); -GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance; -#define glDrawElementsInstancedBaseInstance glad_glDrawElementsInstancedBaseInstance -typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); -GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance; -#define glDrawElementsInstancedBaseVertexBaseInstance glad_glDrawElementsInstancedBaseVertexBaseInstance -typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params); -GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; -#define glGetInternalformativ glad_glGetInternalformativ -typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); -GLAPI PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv; -#define glGetActiveAtomicCounterBufferiv glad_glGetActiveAtomicCounterBufferiv -typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); -GLAPI PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture; -#define glBindImageTexture glad_glBindImageTexture -typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC)(GLbitfield barriers); -GLAPI PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier; -#define glMemoryBarrier glad_glMemoryBarrier -typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -GLAPI PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D; -#define glTexStorage1D glad_glTexStorage1D -typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D; -#define glTexStorage2D glad_glTexStorage2D -typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -GLAPI PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D; -#define glTexStorage3D glad_glTexStorage3D -typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei instancecount); -GLAPI PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced; -#define glDrawTransformFeedbackInstanced glad_glDrawTransformFeedbackInstanced -typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); -GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced; -#define glDrawTransformFeedbackStreamInstanced glad_glDrawTransformFeedbackStreamInstanced -#endif -#ifndef GL_VERSION_4_3 -#define GL_VERSION_4_3 1 -GLAPI int GLAD_GL_VERSION_4_3; -typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData; -#define glClearBufferData glad_glClearBufferData -typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData; -#define glClearBufferSubData glad_glClearBufferSubData -typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); -GLAPI PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute; -#define glDispatchCompute glad_glDispatchCompute -typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect); -GLAPI PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect; -#define glDispatchComputeIndirect glad_glDispatchComputeIndirect -typedef void (APIENTRYP 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); -GLAPI PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData; -#define glCopyImageSubData glad_glCopyImageSubData -typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); -GLAPI PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri; -#define glFramebufferParameteri glad_glFramebufferParameteri -typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); -GLAPI PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv; -#define glGetFramebufferParameteriv glad_glGetFramebufferParameteriv -typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params); -GLAPI PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v; -#define glGetInternalformati64v glad_glGetInternalformati64v -typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); -GLAPI PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage; -#define glInvalidateTexSubImage glad_glInvalidateTexSubImage -typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level); -GLAPI PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage; -#define glInvalidateTexImage glad_glInvalidateTexImage -typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length); -GLAPI PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData; -#define glInvalidateBufferSubData glad_glInvalidateBufferSubData -typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer); -GLAPI PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData; -#define glInvalidateBufferData glad_glInvalidateBufferData -typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments); -GLAPI PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer; -#define glInvalidateFramebuffer glad_glInvalidateFramebuffer -typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer; -#define glInvalidateSubFramebuffer glad_glInvalidateSubFramebuffer -typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); -GLAPI PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect; -#define glMultiDrawArraysIndirect glad_glMultiDrawArraysIndirect -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); -GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect; -#define glMultiDrawElementsIndirect glad_glMultiDrawElementsIndirect -typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint *params); -GLAPI PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv; -#define glGetProgramInterfaceiv glad_glGetProgramInterfaceiv -typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name); -GLAPI PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex; -#define glGetProgramResourceIndex glad_glGetProgramResourceIndex -typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); -GLAPI PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName; -#define glGetProgramResourceName glad_glGetProgramResourceName -typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params); -GLAPI PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv; -#define glGetProgramResourceiv glad_glGetProgramResourceiv -typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar *name); -GLAPI PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation; -#define glGetProgramResourceLocation glad_glGetProgramResourceLocation -typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name); -GLAPI PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex; -#define glGetProgramResourceLocationIndex glad_glGetProgramResourceLocationIndex -typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); -GLAPI PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding; -#define glShaderStorageBlockBinding glad_glShaderStorageBlockBinding -typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); -GLAPI PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange; -#define glTexBufferRange glad_glTexBufferRange -typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample; -#define glTexStorage2DMultisample glad_glTexStorage2DMultisample -typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample; -#define glTexStorage3DMultisample glad_glTexStorage3DMultisample -typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); -GLAPI PFNGLTEXTUREVIEWPROC glad_glTextureView; -#define glTextureView glad_glTextureView -typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); -GLAPI PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer; -#define glBindVertexBuffer glad_glBindVertexBuffer -typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); -GLAPI PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat; -#define glVertexAttribFormat glad_glVertexAttribFormat -typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); -GLAPI PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat; -#define glVertexAttribIFormat glad_glVertexAttribIFormat -typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); -GLAPI PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat; -#define glVertexAttribLFormat glad_glVertexAttribLFormat -typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex); -GLAPI PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding; -#define glVertexAttribBinding glad_glVertexAttribBinding -typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor); -GLAPI PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor; -#define glVertexBindingDivisor glad_glVertexBindingDivisor -typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); -GLAPI PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl; -#define glDebugMessageControl glad_glDebugMessageControl -typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); -GLAPI PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert; -#define glDebugMessageInsert glad_glDebugMessageInsert -typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const void *userParam); -GLAPI PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback; -#define glDebugMessageCallback glad_glDebugMessageCallback -typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); -GLAPI PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog; -#define glGetDebugMessageLog glad_glGetDebugMessageLog -typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message); -GLAPI PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup; -#define glPushDebugGroup glad_glPushDebugGroup -typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC)(void); -GLAPI PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup; -#define glPopDebugGroup glad_glPopDebugGroup -typedef void (APIENTRYP PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label); -GLAPI PFNGLOBJECTLABELPROC glad_glObjectLabel; -#define glObjectLabel glad_glObjectLabel -typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); -GLAPI PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel; -#define glGetObjectLabel glad_glGetObjectLabel -typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void *ptr, GLsizei length, const GLchar *label); -GLAPI PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel; -#define glObjectPtrLabel glad_glObjectPtrLabel -typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); -GLAPI PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel; -#define glGetObjectPtrLabel glad_glGetObjectPtrLabel -typedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void **params); -GLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv; -#define glGetPointerv glad_glGetPointerv -#endif -#ifndef GL_VERSION_4_4 -#define GL_VERSION_4_4 1 -GLAPI int GLAD_GL_VERSION_4_4; -typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); -GLAPI PFNGLBUFFERSTORAGEPROC glad_glBufferStorage; -#define glBufferStorage glad_glBufferStorage -typedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage; -#define glClearTexImage glad_glClearTexImage -typedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage; -#define glClearTexSubImage glad_glClearTexSubImage -typedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers); -GLAPI PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase; -#define glBindBuffersBase glad_glBindBuffersBase -typedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes); -GLAPI PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange; -#define glBindBuffersRange glad_glBindBuffersRange -typedef void (APIENTRYP PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures); -GLAPI PFNGLBINDTEXTURESPROC glad_glBindTextures; -#define glBindTextures glad_glBindTextures -typedef void (APIENTRYP PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint *samplers); -GLAPI PFNGLBINDSAMPLERSPROC glad_glBindSamplers; -#define glBindSamplers glad_glBindSamplers -typedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures); -GLAPI PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures; -#define glBindImageTextures glad_glBindImageTextures -typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); -GLAPI PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers; -#define glBindVertexBuffers glad_glBindVertexBuffers -#endif -#ifndef GL_VERSION_4_5 -#define GL_VERSION_4_5 1 -GLAPI int GLAD_GL_VERSION_4_5; -typedef void (APIENTRYP PFNGLCLIPCONTROLPROC)(GLenum origin, GLenum depth); -GLAPI PFNGLCLIPCONTROLPROC glad_glClipControl; -#define glClipControl glad_glClipControl -typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids); -GLAPI PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks; -#define glCreateTransformFeedbacks glad_glCreateTransformFeedbacks -typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)(GLuint xfb, GLuint index, GLuint buffer); -GLAPI PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase; -#define glTransformFeedbackBufferBase glad_glTransformFeedbackBufferBase -typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -GLAPI PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange; -#define glTransformFeedbackBufferRange glad_glTransformFeedbackBufferRange -typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC)(GLuint xfb, GLenum pname, GLint *param); -GLAPI PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv; -#define glGetTransformFeedbackiv glad_glGetTransformFeedbackiv -typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint *param); -GLAPI PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v; -#define glGetTransformFeedbacki_v glad_glGetTransformFeedbacki_v -typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint64 *param); -GLAPI PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v; -#define glGetTransformFeedbacki64_v glad_glGetTransformFeedbacki64_v -typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC)(GLsizei n, GLuint *buffers); -GLAPI PFNGLCREATEBUFFERSPROC glad_glCreateBuffers; -#define glCreateBuffers glad_glCreateBuffers -typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); -GLAPI PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage; -#define glNamedBufferStorage glad_glNamedBufferStorage -typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); -GLAPI PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData; -#define glNamedBufferData glad_glNamedBufferData -typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); -GLAPI PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData; -#define glNamedBufferSubData glad_glNamedBufferSubData -typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); -GLAPI PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData; -#define glCopyNamedBufferSubData glad_glCopyNamedBufferSubData -typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData; -#define glClearNamedBufferData glad_glClearNamedBufferData -typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); -GLAPI PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData; -#define glClearNamedBufferSubData glad_glClearNamedBufferSubData -typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERPROC)(GLuint buffer, GLenum access); -GLAPI PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer; -#define glMapNamedBuffer glad_glMapNamedBuffer -typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); -GLAPI PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange; -#define glMapNamedBufferRange glad_glMapNamedBufferRange -typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC)(GLuint buffer); -GLAPI PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer; -#define glUnmapNamedBuffer glad_glUnmapNamedBuffer -typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length); -GLAPI PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange; -#define glFlushMappedNamedBufferRange glad_glFlushMappedNamedBufferRange -typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC)(GLuint buffer, GLenum pname, GLint *params); -GLAPI PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv; -#define glGetNamedBufferParameteriv glad_glGetNamedBufferParameteriv -typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)(GLuint buffer, GLenum pname, GLint64 *params); -GLAPI PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v; -#define glGetNamedBufferParameteri64v glad_glGetNamedBufferParameteri64v -typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC)(GLuint buffer, GLenum pname, void **params); -GLAPI PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv; -#define glGetNamedBufferPointerv glad_glGetNamedBufferPointerv -typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); -GLAPI PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData; -#define glGetNamedBufferSubData glad_glGetNamedBufferSubData -typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); -GLAPI PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers; -#define glCreateFramebuffers glad_glCreateFramebuffers -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -GLAPI PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer; -#define glNamedFramebufferRenderbuffer glad_glNamedFramebufferRenderbuffer -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)(GLuint framebuffer, GLenum pname, GLint param); -GLAPI PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri; -#define glNamedFramebufferParameteri glad_glNamedFramebufferParameteri -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); -GLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture; -#define glNamedFramebufferTexture glad_glNamedFramebufferTexture -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); -GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer; -#define glNamedFramebufferTextureLayer glad_glNamedFramebufferTextureLayer -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)(GLuint framebuffer, GLenum buf); -GLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer; -#define glNamedFramebufferDrawBuffer glad_glNamedFramebufferDrawBuffer -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs); -GLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers; -#define glNamedFramebufferDrawBuffers glad_glNamedFramebufferDrawBuffers -typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)(GLuint framebuffer, GLenum src); -GLAPI PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer; -#define glNamedFramebufferReadBuffer glad_glNamedFramebufferReadBuffer -typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); -GLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData; -#define glInvalidateNamedFramebufferData glad_glInvalidateNamedFramebufferData -typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData; -#define glInvalidateNamedFramebufferSubData glad_glInvalidateNamedFramebufferSubData -typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); -GLAPI PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv; -#define glClearNamedFramebufferiv glad_glClearNamedFramebufferiv -typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); -GLAPI PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv; -#define glClearNamedFramebufferuiv glad_glClearNamedFramebufferuiv -typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); -GLAPI PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv; -#define glClearNamedFramebufferfv glad_glClearNamedFramebufferfv -typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); -GLAPI PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi; -#define glClearNamedFramebufferfi glad_glClearNamedFramebufferfi -typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -GLAPI PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer; -#define glBlitNamedFramebuffer glad_glBlitNamedFramebuffer -typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)(GLuint framebuffer, GLenum target); -GLAPI PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus; -#define glCheckNamedFramebufferStatus glad_glCheckNamedFramebufferStatus -typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)(GLuint framebuffer, GLenum pname, GLint *param); -GLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv; -#define glGetNamedFramebufferParameteriv glad_glGetNamedFramebufferParameteriv -typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); -GLAPI PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv; -#define glGetNamedFramebufferAttachmentParameteriv glad_glGetNamedFramebufferAttachmentParameteriv -typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); -GLAPI PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers; -#define glCreateRenderbuffers glad_glCreateRenderbuffers -typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage; -#define glNamedRenderbufferStorage glad_glNamedRenderbufferStorage -typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample; -#define glNamedRenderbufferStorageMultisample glad_glNamedRenderbufferStorageMultisample -typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)(GLuint renderbuffer, GLenum pname, GLint *params); -GLAPI PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv; -#define glGetNamedRenderbufferParameteriv glad_glGetNamedRenderbufferParameteriv -typedef void (APIENTRYP PFNGLCREATETEXTURESPROC)(GLenum target, GLsizei n, GLuint *textures); -GLAPI PFNGLCREATETEXTURESPROC glad_glCreateTextures; -#define glCreateTextures glad_glCreateTextures -typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC)(GLuint texture, GLenum internalformat, GLuint buffer); -GLAPI PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer; -#define glTextureBuffer glad_glTextureBuffer -typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); -GLAPI PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange; -#define glTextureBufferRange glad_glTextureBufferRange -typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); -GLAPI PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D; -#define glTextureStorage1D glad_glTextureStorage1D -typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -GLAPI PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D; -#define glTextureStorage2D glad_glTextureStorage2D -typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -GLAPI PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D; -#define glTextureStorage3D glad_glTextureStorage3D -typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample; -#define glTextureStorage2DMultisample glad_glTextureStorage2DMultisample -typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); -GLAPI PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample; -#define glTextureStorage3DMultisample glad_glTextureStorage3DMultisample -typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D; -#define glTextureSubImage1D glad_glTextureSubImage1D -typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D; -#define glTextureSubImage2D glad_glTextureSubImage2D -typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); -GLAPI PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D; -#define glTextureSubImage3D glad_glTextureSubImage3D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D; -#define glCompressedTextureSubImage1D glad_glCompressedTextureSubImage1D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D; -#define glCompressedTextureSubImage2D glad_glCompressedTextureSubImage2D -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); -GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D; -#define glCompressedTextureSubImage3D glad_glCompressedTextureSubImage3D -typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -GLAPI PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D; -#define glCopyTextureSubImage1D glad_glCopyTextureSubImage1D -typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D; -#define glCopyTextureSubImage2D glad_glCopyTextureSubImage2D -typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D; -#define glCopyTextureSubImage3D glad_glCopyTextureSubImage3D -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC)(GLuint texture, GLenum pname, GLfloat param); -GLAPI PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf; -#define glTextureParameterf glad_glTextureParameterf -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, const GLfloat *param); -GLAPI PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv; -#define glTextureParameterfv glad_glTextureParameterfv -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC)(GLuint texture, GLenum pname, GLint param); -GLAPI PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri; -#define glTextureParameteri glad_glTextureParameteri -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, const GLint *params); -GLAPI PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv; -#define glTextureParameterIiv glad_glTextureParameterIiv -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, const GLuint *params); -GLAPI PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv; -#define glTextureParameterIuiv glad_glTextureParameterIuiv -typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, const GLint *param); -GLAPI PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv; -#define glTextureParameteriv glad_glTextureParameteriv -typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC)(GLuint texture); -GLAPI PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap; -#define glGenerateTextureMipmap glad_glGenerateTextureMipmap -typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC)(GLuint unit, GLuint texture); -GLAPI PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit; -#define glBindTextureUnit glad_glBindTextureUnit -typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage; -#define glGetTextureImage glad_glGetTextureImage -typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage; -#define glGetCompressedTextureImage glad_glGetCompressedTextureImage -typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC)(GLuint texture, GLint level, GLenum pname, GLfloat *params); -GLAPI PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv; -#define glGetTextureLevelParameterfv glad_glGetTextureLevelParameterfv -typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC)(GLuint texture, GLint level, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv; -#define glGetTextureLevelParameteriv glad_glGetTextureLevelParameteriv -typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, GLfloat *params); -GLAPI PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv; -#define glGetTextureParameterfv glad_glGetTextureParameterfv -typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv; -#define glGetTextureParameterIiv glad_glGetTextureParameterIiv -typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, GLuint *params); -GLAPI PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv; -#define glGetTextureParameterIuiv glad_glGetTextureParameterIuiv -typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, GLint *params); -GLAPI PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv; -#define glGetTextureParameteriv glad_glGetTextureParameteriv -typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); -GLAPI PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays; -#define glCreateVertexArrays glad_glCreateVertexArrays -typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index); -GLAPI PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib; -#define glDisableVertexArrayAttrib glad_glDisableVertexArrayAttrib -typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index); -GLAPI PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib; -#define glEnableVertexArrayAttrib glad_glEnableVertexArrayAttrib -typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC)(GLuint vaobj, GLuint buffer); -GLAPI PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer; -#define glVertexArrayElementBuffer glad_glVertexArrayElementBuffer -typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); -GLAPI PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer; -#define glVertexArrayVertexBuffer glad_glVertexArrayVertexBuffer -typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC)(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); -GLAPI PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers; -#define glVertexArrayVertexBuffers glad_glVertexArrayVertexBuffers -typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex); -GLAPI PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding; -#define glVertexArrayAttribBinding glad_glVertexArrayAttribBinding -typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); -GLAPI PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat; -#define glVertexArrayAttribFormat glad_glVertexArrayAttribFormat -typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); -GLAPI PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat; -#define glVertexArrayAttribIFormat glad_glVertexArrayAttribIFormat -typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); -GLAPI PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat; -#define glVertexArrayAttribLFormat glad_glVertexArrayAttribLFormat -typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor); -GLAPI PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor; -#define glVertexArrayBindingDivisor glad_glVertexArrayBindingDivisor -typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC)(GLuint vaobj, GLenum pname, GLint *param); -GLAPI PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv; -#define glGetVertexArrayiv glad_glGetVertexArrayiv -typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param); -GLAPI PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv; -#define glGetVertexArrayIndexediv glad_glGetVertexArrayIndexediv -typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); -GLAPI PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv; -#define glGetVertexArrayIndexed64iv glad_glGetVertexArrayIndexed64iv -typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC)(GLsizei n, GLuint *samplers); -GLAPI PFNGLCREATESAMPLERSPROC glad_glCreateSamplers; -#define glCreateSamplers glad_glCreateSamplers -typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines); -GLAPI PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines; -#define glCreateProgramPipelines glad_glCreateProgramPipelines -typedef void (APIENTRYP PFNGLCREATEQUERIESPROC)(GLenum target, GLsizei n, GLuint *ids); -GLAPI PFNGLCREATEQUERIESPROC glad_glCreateQueries; -#define glCreateQueries glad_glCreateQueries -typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); -GLAPI PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v; -#define glGetQueryBufferObjecti64v glad_glGetQueryBufferObjecti64v -typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); -GLAPI PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv; -#define glGetQueryBufferObjectiv glad_glGetQueryBufferObjectiv -typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); -GLAPI PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v; -#define glGetQueryBufferObjectui64v glad_glGetQueryBufferObjectui64v -typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); -GLAPI PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv; -#define glGetQueryBufferObjectuiv glad_glGetQueryBufferObjectuiv -typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers); -GLAPI PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion; -#define glMemoryBarrierByRegion glad_glMemoryBarrierByRegion -typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage; -#define glGetTextureSubImage glad_glGetTextureSubImage -typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage; -#define glGetCompressedTextureSubImage glad_glGetCompressedTextureSubImage -typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC)(void); -GLAPI PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus; -#define glGetGraphicsResetStatus glad_glGetGraphicsResetStatus -typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage; -#define glGetnCompressedTexImage glad_glGetnCompressedTexImage -typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); -GLAPI PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage; -#define glGetnTexImage glad_glGetnTexImage -typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params); -GLAPI PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv; -#define glGetnUniformdv glad_glGetnUniformdv -typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params); -GLAPI PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv; -#define glGetnUniformfv glad_glGetnUniformfv -typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params); -GLAPI PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv; -#define glGetnUniformiv glad_glGetnUniformiv -typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params); -GLAPI PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv; -#define glGetnUniformuiv glad_glGetnUniformuiv -typedef void (APIENTRYP PFNGLREADNPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); -GLAPI PFNGLREADNPIXELSPROC glad_glReadnPixels; -#define glReadnPixels glad_glReadnPixels -typedef void (APIENTRYP PFNGLGETNMAPDVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); -GLAPI PFNGLGETNMAPDVPROC glad_glGetnMapdv; -#define glGetnMapdv glad_glGetnMapdv -typedef void (APIENTRYP PFNGLGETNMAPFVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); -GLAPI PFNGLGETNMAPFVPROC glad_glGetnMapfv; -#define glGetnMapfv glad_glGetnMapfv -typedef void (APIENTRYP PFNGLGETNMAPIVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v); -GLAPI PFNGLGETNMAPIVPROC glad_glGetnMapiv; -#define glGetnMapiv glad_glGetnMapiv -typedef void (APIENTRYP PFNGLGETNPIXELMAPFVPROC)(GLenum map, GLsizei bufSize, GLfloat *values); -GLAPI PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv; -#define glGetnPixelMapfv glad_glGetnPixelMapfv -typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVPROC)(GLenum map, GLsizei bufSize, GLuint *values); -GLAPI PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv; -#define glGetnPixelMapuiv glad_glGetnPixelMapuiv -typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVPROC)(GLenum map, GLsizei bufSize, GLushort *values); -GLAPI PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv; -#define glGetnPixelMapusv glad_glGetnPixelMapusv -typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEPROC)(GLsizei bufSize, GLubyte *pattern); -GLAPI PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple; -#define glGetnPolygonStipple glad_glGetnPolygonStipple -typedef void (APIENTRYP PFNGLGETNCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table); -GLAPI PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable; -#define glGetnColorTable glad_glGetnColorTable -typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image); -GLAPI PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter; -#define glGetnConvolutionFilter glad_glGetnConvolutionFilter -typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span); -GLAPI PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter; -#define glGetnSeparableFilter glad_glGetnSeparableFilter -typedef void (APIENTRYP PFNGLGETNHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); -GLAPI PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram; -#define glGetnHistogram glad_glGetnHistogram -typedef void (APIENTRYP PFNGLGETNMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); -GLAPI PFNGLGETNMINMAXPROC glad_glGetnMinmax; -#define glGetnMinmax glad_glGetnMinmax -typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC)(void); -GLAPI PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier; -#define glTextureBarrier glad_glTextureBarrier -#endif -#ifndef GL_VERSION_4_6 -#define GL_VERSION_4_6 1 -GLAPI int GLAD_GL_VERSION_4_6; -typedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC)(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); -GLAPI PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader; -#define glSpecializeShader glad_glSpecializeShader -typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); -GLAPI PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount; -#define glMultiDrawArraysIndirectCount glad_glMultiDrawArraysIndirectCount -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); -GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount; -#define glMultiDrawElementsIndirectCount glad_glMultiDrawElementsIndirectCount -typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC)(GLfloat factor, GLfloat units, GLfloat clamp); -GLAPI PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp; -#define glPolygonOffsetClamp glad_glPolygonOffsetClamp -#endif -#ifndef GL_ARB_shading_language_420pack -#define GL_ARB_shading_language_420pack 1 -GLAPI int GLAD_GL_ARB_shading_language_420pack; -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Dependencies/GLAD/src/glad.c b/Dependencies/GLAD/src/glad.c deleted file mode 100644 index a1f3395..0000000 --- a/Dependencies/GLAD/src/glad.c +++ /dev/null @@ -1,1834 +0,0 @@ -/* - - OpenGL loader generated by glad 0.1.34 on Sun Jul 4 22:51:05 2021. - - Language/Generator: C/C++ - Specification: gl - APIs: gl=4.6 - Profile: core - Extensions: - GL_ARB_shading_language_420pack - Loader: True - Local files: False - Omit khrplatform: False - Reproducible: False - - Commandline: - --profile="core" --api="gl=4.6" --generator="c" --spec="gl" --extensions="GL_ARB_shading_language_420pack" - Online: - https://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D4.6&extensions=GL_ARB_shading_language_420pack -*/ - -#include -#include -#include -#include - -static void* get_proc(const char *namez); - -#if defined(_WIN32) || defined(__CYGWIN__) -#ifndef _WINDOWS_ -#undef APIENTRY -#endif -#include -static HMODULE libGL; - -typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*); -static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; - -#ifdef _MSC_VER -#ifdef __has_include - #if __has_include() - #define HAVE_WINAPIFAMILY 1 - #endif -#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ - #define HAVE_WINAPIFAMILY 1 -#endif -#endif - -#ifdef HAVE_WINAPIFAMILY - #include - #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) - #define IS_UWP 1 - #endif -#endif - -static -int open_gl(void) { -#ifndef IS_UWP - libGL = LoadLibraryW(L"opengl32.dll"); - if(libGL != NULL) { - void (* tmp)(void); - tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress"); - gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE) tmp; - return gladGetProcAddressPtr != NULL; - } -#endif - - return 0; -} - -static -void close_gl(void) { - if(libGL != NULL) { - FreeLibrary((HMODULE) libGL); - libGL = NULL; - } -} -#else -#include -static void* libGL; - -#if !defined(__APPLE__) && !defined(__HAIKU__) -typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*); -static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; -#endif - -static -int open_gl(void) { -#ifdef __APPLE__ - static const char *NAMES[] = { - "../Frameworks/OpenGL.framework/OpenGL", - "/Library/Frameworks/OpenGL.framework/OpenGL", - "/System/Library/Frameworks/OpenGL.framework/OpenGL", - "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" - }; -#else - static const char *NAMES[] = {"libGL.so.1", "libGL.so"}; -#endif - - unsigned int index = 0; - for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) { - libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL); - - if(libGL != NULL) { -#if defined(__APPLE__) || defined(__HAIKU__) - return 1; -#else - gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL, - "glXGetProcAddressARB"); - return gladGetProcAddressPtr != NULL; -#endif - } - } - - return 0; -} - -static -void close_gl(void) { - if(libGL != NULL) { - dlclose(libGL); - libGL = NULL; - } -} -#endif - -static -void* get_proc(const char *namez) { - void* result = NULL; - if(libGL == NULL) return NULL; - -#if !defined(__APPLE__) && !defined(__HAIKU__) - if(gladGetProcAddressPtr != NULL) { - result = gladGetProcAddressPtr(namez); - } -#endif - if(result == NULL) { -#if defined(_WIN32) || defined(__CYGWIN__) - result = (void*)GetProcAddress((HMODULE) libGL, namez); -#else - result = dlsym(libGL, namez); -#endif - } - - return result; -} - -int gladLoadGL(void) { - int status = 0; - - if(open_gl()) { - status = gladLoadGLLoader(&get_proc); - close_gl(); - } - - return status; -} - -struct gladGLversionStruct GLVersion = { 0, 0 }; - -#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) -#define _GLAD_IS_SOME_NEW_VERSION 1 -#endif - -static int max_loaded_major; -static int max_loaded_minor; - -static const char *exts = NULL; -static int num_exts_i = 0; -static char **exts_i = NULL; - -static int get_exts(void) { -#ifdef _GLAD_IS_SOME_NEW_VERSION - if(max_loaded_major < 3) { -#endif - exts = (const char *)glGetString(GL_EXTENSIONS); -#ifdef _GLAD_IS_SOME_NEW_VERSION - } else { - unsigned int index; - - num_exts_i = 0; - glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); - if (num_exts_i > 0) { - exts_i = (char **)malloc((size_t)num_exts_i * (sizeof *exts_i)); - } - - if (exts_i == NULL) { - return 0; - } - - for(index = 0; index < (unsigned)num_exts_i; index++) { - const char *gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index); - size_t len = strlen(gl_str_tmp); - - char *local_str = (char*)malloc((len+1) * sizeof(char)); - if(local_str != NULL) { - memcpy(local_str, gl_str_tmp, (len+1) * sizeof(char)); - } - exts_i[index] = local_str; - } - } -#endif - return 1; -} - -static void free_exts(void) { - if (exts_i != NULL) { - int index; - for(index = 0; index < num_exts_i; index++) { - free((char *)exts_i[index]); - } - free((void *)exts_i); - exts_i = NULL; - } -} - -static int has_ext(const char *ext) { -#ifdef _GLAD_IS_SOME_NEW_VERSION - if(max_loaded_major < 3) { -#endif - const char *extensions; - const char *loc; - const char *terminator; - extensions = exts; - if(extensions == NULL || ext == NULL) { - return 0; - } - - while(1) { - loc = strstr(extensions, ext); - if(loc == NULL) { - return 0; - } - - terminator = loc + strlen(ext); - if((loc == extensions || *(loc - 1) == ' ') && - (*terminator == ' ' || *terminator == '\0')) { - return 1; - } - extensions = terminator; - } -#ifdef _GLAD_IS_SOME_NEW_VERSION - } else { - int index; - if(exts_i == NULL) return 0; - for(index = 0; index < num_exts_i; index++) { - const char *e = exts_i[index]; - - if(exts_i[index] != NULL && strcmp(e, ext) == 0) { - return 1; - } - } - } -#endif - - return 0; -} -int GLAD_GL_VERSION_1_0 = 0; -int GLAD_GL_VERSION_1_1 = 0; -int GLAD_GL_VERSION_1_2 = 0; -int GLAD_GL_VERSION_1_3 = 0; -int GLAD_GL_VERSION_1_4 = 0; -int GLAD_GL_VERSION_1_5 = 0; -int GLAD_GL_VERSION_2_0 = 0; -int GLAD_GL_VERSION_2_1 = 0; -int GLAD_GL_VERSION_3_0 = 0; -int GLAD_GL_VERSION_3_1 = 0; -int GLAD_GL_VERSION_3_2 = 0; -int GLAD_GL_VERSION_3_3 = 0; -int GLAD_GL_VERSION_4_0 = 0; -int GLAD_GL_VERSION_4_1 = 0; -int GLAD_GL_VERSION_4_2 = 0; -int GLAD_GL_VERSION_4_3 = 0; -int GLAD_GL_VERSION_4_4 = 0; -int GLAD_GL_VERSION_4_5 = 0; -int GLAD_GL_VERSION_4_6 = 0; -PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram = NULL; -PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL; -PFNGLATTACHSHADERPROC glad_glAttachShader = NULL; -PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL; -PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL; -PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed = NULL; -PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL; -PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL; -PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL; -PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL; -PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL; -PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase = NULL; -PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange = NULL; -PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL; -PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL; -PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL; -PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture = NULL; -PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures = NULL; -PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline = NULL; -PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL; -PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL; -PFNGLBINDSAMPLERSPROC glad_glBindSamplers = NULL; -PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL; -PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit = NULL; -PFNGLBINDTEXTURESPROC glad_glBindTextures = NULL; -PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL; -PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL; -PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer = NULL; -PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers = NULL; -PFNGLBLENDCOLORPROC glad_glBlendColor = NULL; -PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL; -PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL; -PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei = NULL; -PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi = NULL; -PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL; -PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL; -PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei = NULL; -PFNGLBLENDFUNCIPROC glad_glBlendFunci = NULL; -PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL; -PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer = NULL; -PFNGLBUFFERDATAPROC glad_glBufferData = NULL; -PFNGLBUFFERSTORAGEPROC glad_glBufferStorage = NULL; -PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL; -PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL; -PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus = NULL; -PFNGLCLAMPCOLORPROC glad_glClampColor = NULL; -PFNGLCLEARPROC glad_glClear = NULL; -PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData = NULL; -PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData = NULL; -PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL; -PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL; -PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL; -PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL; -PFNGLCLEARCOLORPROC glad_glClearColor = NULL; -PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL; -PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL; -PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData = NULL; -PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData = NULL; -PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi = NULL; -PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv = NULL; -PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv = NULL; -PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv = NULL; -PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL; -PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage = NULL; -PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage = NULL; -PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL; -PFNGLCLIPCONTROLPROC glad_glClipControl = NULL; -PFNGLCOLORMASKPROC glad_glColorMask = NULL; -PFNGLCOLORMASKIPROC glad_glColorMaski = NULL; -PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL; -PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL; -PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL; -PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL; -PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL; -PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL; -PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL; -PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D = NULL; -PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL; -PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData = NULL; -PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData = NULL; -PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL; -PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL; -PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL; -PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL; -PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL; -PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D = NULL; -PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D = NULL; -PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D = NULL; -PFNGLCREATEBUFFERSPROC glad_glCreateBuffers = NULL; -PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers = NULL; -PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL; -PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines = NULL; -PFNGLCREATEQUERIESPROC glad_glCreateQueries = NULL; -PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers = NULL; -PFNGLCREATESAMPLERSPROC glad_glCreateSamplers = NULL; -PFNGLCREATESHADERPROC glad_glCreateShader = NULL; -PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv = NULL; -PFNGLCREATETEXTURESPROC glad_glCreateTextures = NULL; -PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks = NULL; -PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays = NULL; -PFNGLCULLFACEPROC glad_glCullFace = NULL; -PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL; -PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL; -PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL; -PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL; -PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL; -PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL; -PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines = NULL; -PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL; -PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL; -PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL; -PFNGLDELETESHADERPROC glad_glDeleteShader = NULL; -PFNGLDELETESYNCPROC glad_glDeleteSync = NULL; -PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL; -PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL; -PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL; -PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL; -PFNGLDEPTHMASKPROC glad_glDepthMask = NULL; -PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL; -PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL; -PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL; -PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL; -PFNGLDETACHSHADERPROC glad_glDetachShader = NULL; -PFNGLDISABLEPROC glad_glDisable = NULL; -PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib = NULL; -PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL; -PFNGLDISABLEIPROC glad_glDisablei = NULL; -PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL; -PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL; -PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL; -PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect = NULL; -PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL; -PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance = NULL; -PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL; -PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL; -PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL; -PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL; -PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect = NULL; -PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance = NULL; -PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL; -PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL; -PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback = NULL; -PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced = NULL; -PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream = NULL; -PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced = NULL; -PFNGLENABLEPROC glad_glEnable = NULL; -PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib = NULL; -PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL; -PFNGLENABLEIPROC glad_glEnablei = NULL; -PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL; -PFNGLENDQUERYPROC glad_glEndQuery = NULL; -PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed = NULL; -PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL; -PFNGLFENCESYNCPROC glad_glFenceSync = NULL; -PFNGLFINISHPROC glad_glFinish = NULL; -PFNGLFLUSHPROC glad_glFlush = NULL; -PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL; -PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange = NULL; -PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri = NULL; -PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL; -PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL; -PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL; -PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL; -PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL; -PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL; -PFNGLFRONTFACEPROC glad_glFrontFace = NULL; -PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL; -PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL; -PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines = NULL; -PFNGLGENQUERIESPROC glad_glGenQueries = NULL; -PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL; -PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL; -PFNGLGENTEXTURESPROC glad_glGenTextures = NULL; -PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL; -PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL; -PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL; -PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap = NULL; -PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv = NULL; -PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL; -PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName = NULL; -PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName = NULL; -PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv = NULL; -PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL; -PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL; -PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL; -PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL; -PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL; -PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL; -PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL; -PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL; -PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL; -PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL; -PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL; -PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL; -PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL; -PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL; -PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage = NULL; -PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage = NULL; -PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL; -PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL; -PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL; -PFNGLGETERRORPROC glad_glGetError = NULL; -PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL; -PFNGLGETFLOATVPROC glad_glGetFloatv = NULL; -PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL; -PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL; -PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL; -PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv = NULL; -PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus = NULL; -PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL; -PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL; -PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL; -PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL; -PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v = NULL; -PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL; -PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL; -PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v = NULL; -PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv = NULL; -PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv = NULL; -PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData = NULL; -PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv = NULL; -PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv = NULL; -PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv = NULL; -PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL; -PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL; -PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL; -PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL; -PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL; -PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL; -PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog = NULL; -PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv = NULL; -PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL; -PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL; -PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL; -PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL; -PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL; -PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv = NULL; -PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL; -PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v = NULL; -PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv = NULL; -PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v = NULL; -PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv = NULL; -PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv = NULL; -PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL; -PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL; -PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL; -PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL; -PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL; -PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL; -PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL; -PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL; -PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL; -PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL; -PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL; -PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL; -PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL; -PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL; -PFNGLGETSTRINGPROC glad_glGetString = NULL; -PFNGLGETSTRINGIPROC glad_glGetStringi = NULL; -PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex = NULL; -PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation = NULL; -PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL; -PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL; -PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL; -PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL; -PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL; -PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL; -PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL; -PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL; -PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage = NULL; -PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv = NULL; -PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv = NULL; -PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv = NULL; -PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv = NULL; -PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv = NULL; -PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv = NULL; -PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage = NULL; -PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL; -PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v = NULL; -PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v = NULL; -PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv = NULL; -PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL; -PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL; -PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL; -PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv = NULL; -PFNGLGETUNIFORMDVPROC glad_glGetUniformdv = NULL; -PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL; -PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL; -PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL; -PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv = NULL; -PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv = NULL; -PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv = NULL; -PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL; -PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL; -PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv = NULL; -PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL; -PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL; -PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL; -PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL; -PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable = NULL; -PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage = NULL; -PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter = NULL; -PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram = NULL; -PFNGLGETNMAPDVPROC glad_glGetnMapdv = NULL; -PFNGLGETNMAPFVPROC glad_glGetnMapfv = NULL; -PFNGLGETNMAPIVPROC glad_glGetnMapiv = NULL; -PFNGLGETNMINMAXPROC glad_glGetnMinmax = NULL; -PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv = NULL; -PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv = NULL; -PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv = NULL; -PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple = NULL; -PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter = NULL; -PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage = NULL; -PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv = NULL; -PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv = NULL; -PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv = NULL; -PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv = NULL; -PFNGLHINTPROC glad_glHint = NULL; -PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData = NULL; -PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData = NULL; -PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL; -PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData = NULL; -PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData = NULL; -PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL; -PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage = NULL; -PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage = NULL; -PFNGLISBUFFERPROC glad_glIsBuffer = NULL; -PFNGLISENABLEDPROC glad_glIsEnabled = NULL; -PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL; -PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL; -PFNGLISPROGRAMPROC glad_glIsProgram = NULL; -PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline = NULL; -PFNGLISQUERYPROC glad_glIsQuery = NULL; -PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL; -PFNGLISSAMPLERPROC glad_glIsSampler = NULL; -PFNGLISSHADERPROC glad_glIsShader = NULL; -PFNGLISSYNCPROC glad_glIsSync = NULL; -PFNGLISTEXTUREPROC glad_glIsTexture = NULL; -PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL; -PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL; -PFNGLLINEWIDTHPROC glad_glLineWidth = NULL; -PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL; -PFNGLLOGICOPPROC glad_glLogicOp = NULL; -PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL; -PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL; -PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer = NULL; -PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange = NULL; -PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier = NULL; -PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion = NULL; -PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading = NULL; -PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL; -PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect = NULL; -PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount = NULL; -PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL; -PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL; -PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect = NULL; -PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount = NULL; -PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL; -PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL; -PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL; -PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL; -PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL; -PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL; -PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL; -PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL; -PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData = NULL; -PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage = NULL; -PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData = NULL; -PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer = NULL; -PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers = NULL; -PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri = NULL; -PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer = NULL; -PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer = NULL; -PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage = NULL; -PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample = NULL; -PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL; -PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL; -PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL; -PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL; -PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv = NULL; -PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri = NULL; -PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL; -PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL; -PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL; -PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL; -PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL; -PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL; -PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL; -PFNGLPOINTSIZEPROC glad_glPointSize = NULL; -PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL; -PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL; -PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp = NULL; -PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL; -PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL; -PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL; -PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL; -PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d = NULL; -PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv = NULL; -PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f = NULL; -PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv = NULL; -PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i = NULL; -PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv = NULL; -PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui = NULL; -PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv = NULL; -PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d = NULL; -PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv = NULL; -PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f = NULL; -PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv = NULL; -PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i = NULL; -PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv = NULL; -PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui = NULL; -PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv = NULL; -PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d = NULL; -PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv = NULL; -PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f = NULL; -PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv = NULL; -PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i = NULL; -PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv = NULL; -PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui = NULL; -PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv = NULL; -PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d = NULL; -PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv = NULL; -PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f = NULL; -PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv = NULL; -PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i = NULL; -PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv = NULL; -PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui = NULL; -PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv = NULL; -PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL; -PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL; -PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL; -PFNGLREADBUFFERPROC glad_glReadBuffer = NULL; -PFNGLREADPIXELSPROC glad_glReadPixels = NULL; -PFNGLREADNPIXELSPROC glad_glReadnPixels = NULL; -PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL; -PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL; -PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL; -PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL; -PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL; -PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL; -PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL; -PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL; -PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL; -PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL; -PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL; -PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL; -PFNGLSCISSORPROC glad_glScissor = NULL; -PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL; -PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL; -PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL; -PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL; -PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL; -PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL; -PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL; -PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL; -PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader = NULL; -PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL; -PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL; -PFNGLSTENCILMASKPROC glad_glStencilMask = NULL; -PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL; -PFNGLSTENCILOPPROC glad_glStencilOp = NULL; -PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL; -PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL; -PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange = NULL; -PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL; -PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL; -PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL; -PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL; -PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL; -PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL; -PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL; -PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL; -PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL; -PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL; -PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL; -PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL; -PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL; -PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL; -PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL; -PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL; -PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL; -PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL; -PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL; -PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL; -PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL; -PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample = NULL; -PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL; -PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample = NULL; -PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL; -PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL; -PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL; -PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier = NULL; -PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer = NULL; -PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange = NULL; -PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv = NULL; -PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv = NULL; -PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf = NULL; -PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv = NULL; -PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri = NULL; -PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv = NULL; -PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D = NULL; -PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D = NULL; -PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample = NULL; -PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D = NULL; -PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample = NULL; -PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D = NULL; -PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D = NULL; -PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D = NULL; -PFNGLTEXTUREVIEWPROC glad_glTextureView = NULL; -PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase = NULL; -PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange = NULL; -PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL; -PFNGLUNIFORM1DPROC glad_glUniform1d = NULL; -PFNGLUNIFORM1DVPROC glad_glUniform1dv = NULL; -PFNGLUNIFORM1FPROC glad_glUniform1f = NULL; -PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL; -PFNGLUNIFORM1IPROC glad_glUniform1i = NULL; -PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL; -PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL; -PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL; -PFNGLUNIFORM2DPROC glad_glUniform2d = NULL; -PFNGLUNIFORM2DVPROC glad_glUniform2dv = NULL; -PFNGLUNIFORM2FPROC glad_glUniform2f = NULL; -PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL; -PFNGLUNIFORM2IPROC glad_glUniform2i = NULL; -PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL; -PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL; -PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL; -PFNGLUNIFORM3DPROC glad_glUniform3d = NULL; -PFNGLUNIFORM3DVPROC glad_glUniform3dv = NULL; -PFNGLUNIFORM3FPROC glad_glUniform3f = NULL; -PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL; -PFNGLUNIFORM3IPROC glad_glUniform3i = NULL; -PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL; -PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL; -PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL; -PFNGLUNIFORM4DPROC glad_glUniform4d = NULL; -PFNGLUNIFORM4DVPROC glad_glUniform4dv = NULL; -PFNGLUNIFORM4FPROC glad_glUniform4f = NULL; -PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL; -PFNGLUNIFORM4IPROC glad_glUniform4i = NULL; -PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL; -PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL; -PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL; -PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL; -PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv = NULL; -PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL; -PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv = NULL; -PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL; -PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv = NULL; -PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL; -PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv = NULL; -PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL; -PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv = NULL; -PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL; -PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv = NULL; -PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL; -PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv = NULL; -PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL; -PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv = NULL; -PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL; -PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv = NULL; -PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL; -PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv = NULL; -PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL; -PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer = NULL; -PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL; -PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages = NULL; -PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL; -PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline = NULL; -PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding = NULL; -PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat = NULL; -PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat = NULL; -PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat = NULL; -PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor = NULL; -PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer = NULL; -PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer = NULL; -PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers = NULL; -PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL; -PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL; -PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL; -PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL; -PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL; -PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL; -PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL; -PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL; -PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL; -PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL; -PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL; -PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL; -PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL; -PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL; -PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL; -PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL; -PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL; -PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL; -PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL; -PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL; -PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL; -PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL; -PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL; -PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL; -PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL; -PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL; -PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL; -PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL; -PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL; -PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL; -PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL; -PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL; -PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL; -PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL; -PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL; -PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL; -PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding = NULL; -PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL; -PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat = NULL; -PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL; -PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL; -PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL; -PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL; -PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL; -PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL; -PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL; -PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL; -PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL; -PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL; -PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL; -PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL; -PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL; -PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL; -PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL; -PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL; -PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL; -PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL; -PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL; -PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL; -PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat = NULL; -PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL; -PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d = NULL; -PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv = NULL; -PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d = NULL; -PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv = NULL; -PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d = NULL; -PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv = NULL; -PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d = NULL; -PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv = NULL; -PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat = NULL; -PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer = NULL; -PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL; -PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL; -PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL; -PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL; -PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL; -PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL; -PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL; -PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL; -PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL; -PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor = NULL; -PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL; -PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL; -PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL; -PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL; -PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL; -PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL; -PFNGLVIEWPORTPROC glad_glViewport = NULL; -PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL; -PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL; -PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL; -PFNGLWAITSYNCPROC glad_glWaitSync = NULL; -int GLAD_GL_ARB_shading_language_420pack = 0; -static void load_GL_VERSION_1_0(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_0) return; - glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); - glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace"); - glad_glHint = (PFNGLHINTPROC)load("glHint"); - glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth"); - glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize"); - glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode"); - glad_glScissor = (PFNGLSCISSORPROC)load("glScissor"); - glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf"); - glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv"); - glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri"); - glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv"); - glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D"); - glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D"); - glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer"); - glad_glClear = (PFNGLCLEARPROC)load("glClear"); - glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor"); - glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil"); - glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth"); - glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask"); - glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask"); - glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask"); - glad_glDisable = (PFNGLDISABLEPROC)load("glDisable"); - glad_glEnable = (PFNGLENABLEPROC)load("glEnable"); - glad_glFinish = (PFNGLFINISHPROC)load("glFinish"); - glad_glFlush = (PFNGLFLUSHPROC)load("glFlush"); - glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc"); - glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp"); - glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc"); - glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp"); - glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc"); - glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref"); - glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei"); - glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer"); - glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels"); - glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv"); - glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev"); - glad_glGetError = (PFNGLGETERRORPROC)load("glGetError"); - glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv"); - glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv"); - glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); - glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage"); - glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv"); - glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv"); - glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv"); - glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv"); - glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled"); - glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange"); - glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport"); -} -static void load_GL_VERSION_1_1(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_1) return; - glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays"); - glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements"); - glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset"); - glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D"); - glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D"); - glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D"); - glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D"); - glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D"); - glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D"); - glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture"); - glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures"); - glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures"); - glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture"); -} -static void load_GL_VERSION_1_2(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_2) return; - glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements"); - glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D"); - glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D"); - glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D"); -} -static void load_GL_VERSION_1_3(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_3) return; - glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture"); - glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage"); - glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D"); - glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D"); - glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D"); - glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D"); - glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D"); - glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D"); - glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage"); -} -static void load_GL_VERSION_1_4(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_4) return; - glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate"); - glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays"); - glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements"); - glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf"); - glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv"); - glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri"); - glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv"); - glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor"); - glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation"); -} -static void load_GL_VERSION_1_5(GLADloadproc load) { - if(!GLAD_GL_VERSION_1_5) return; - glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries"); - glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries"); - glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery"); - glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery"); - glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery"); - glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv"); - glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv"); - glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv"); - glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer"); - glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers"); - glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers"); - glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer"); - glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData"); - glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData"); - glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData"); - glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer"); - glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer"); - glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv"); - glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv"); -} -static void load_GL_VERSION_2_0(GLADloadproc load) { - if(!GLAD_GL_VERSION_2_0) return; - glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate"); - glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers"); - glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate"); - glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate"); - glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate"); - glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader"); - glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation"); - glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader"); - glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram"); - glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader"); - glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram"); - glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader"); - glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader"); - glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray"); - glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray"); - glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib"); - glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform"); - glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders"); - glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation"); - glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv"); - glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog"); - glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv"); - glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog"); - glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource"); - glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation"); - glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv"); - glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv"); - glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv"); - glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv"); - glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv"); - glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv"); - glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram"); - glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader"); - glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram"); - glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource"); - glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram"); - glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f"); - glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f"); - glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f"); - glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f"); - glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i"); - glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i"); - glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i"); - glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i"); - glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv"); - glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv"); - glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv"); - glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv"); - glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv"); - glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv"); - glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv"); - glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv"); - glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv"); - glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv"); - glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv"); - glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram"); - glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d"); - glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv"); - glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f"); - glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv"); - glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s"); - glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv"); - glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d"); - glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv"); - glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f"); - glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv"); - glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s"); - glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv"); - glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d"); - glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv"); - glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f"); - glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv"); - glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s"); - glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv"); - glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv"); - glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv"); - glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv"); - glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub"); - glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv"); - glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv"); - glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv"); - glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv"); - glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d"); - glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv"); - glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f"); - glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv"); - glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv"); - glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s"); - glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv"); - glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv"); - glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv"); - glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv"); - glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer"); -} -static void load_GL_VERSION_2_1(GLADloadproc load) { - if(!GLAD_GL_VERSION_2_1) return; - glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv"); - glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv"); - glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv"); - glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv"); - glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv"); - glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv"); -} -static void load_GL_VERSION_3_0(GLADloadproc load) { - if(!GLAD_GL_VERSION_3_0) return; - glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski"); - glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v"); - glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); - glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei"); - glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei"); - glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi"); - glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback"); - glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback"); - glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); - glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); - glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings"); - glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying"); - glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor"); - glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender"); - glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender"); - glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer"); - glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv"); - glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv"); - glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i"); - glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i"); - glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i"); - glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i"); - glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui"); - glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui"); - glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui"); - glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui"); - glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv"); - glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv"); - glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv"); - glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv"); - glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv"); - glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv"); - glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv"); - glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv"); - glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv"); - glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv"); - glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv"); - glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv"); - glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv"); - glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation"); - glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation"); - glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui"); - glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui"); - glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui"); - glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui"); - glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv"); - glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv"); - glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv"); - glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv"); - glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv"); - glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv"); - glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv"); - glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv"); - glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv"); - glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv"); - glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv"); - glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi"); - glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi"); - glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer"); - glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer"); - glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers"); - glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers"); - glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage"); - glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv"); - glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer"); - glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer"); - glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers"); - glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers"); - glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus"); - glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D"); - glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D"); - glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D"); - glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer"); - glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv"); - glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap"); - glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer"); - glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample"); - glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer"); - glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange"); - glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange"); - glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray"); - glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays"); - glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays"); - glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray"); -} -static void load_GL_VERSION_3_1(GLADloadproc load) { - if(!GLAD_GL_VERSION_3_1) return; - glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced"); - glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced"); - glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer"); - glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex"); - glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData"); - glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices"); - glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv"); - glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName"); - glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex"); - glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv"); - glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName"); - glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding"); - glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); - glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); - glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); -} -static void load_GL_VERSION_3_2(GLADloadproc load) { - if(!GLAD_GL_VERSION_3_2) return; - glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex"); - glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex"); - glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex"); - glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex"); - glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex"); - glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync"); - glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync"); - glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync"); - glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync"); - glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync"); - glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v"); - glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv"); - glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v"); - glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v"); - glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture"); - glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample"); - glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample"); - glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv"); - glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski"); -} -static void load_GL_VERSION_3_3(GLADloadproc load) { - if(!GLAD_GL_VERSION_3_3) return; - glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed"); - glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex"); - glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers"); - glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers"); - glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler"); - glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler"); - glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri"); - glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv"); - glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf"); - glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv"); - glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv"); - glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv"); - glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv"); - glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv"); - glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv"); - glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv"); - glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter"); - glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v"); - glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v"); - glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor"); - glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui"); - glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv"); - glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui"); - glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv"); - glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui"); - glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv"); - glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui"); - glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv"); - glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui"); - glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv"); - glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui"); - glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv"); - glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui"); - glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv"); - glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui"); - glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv"); - glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui"); - glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv"); - glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui"); - glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv"); - glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui"); - glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv"); - glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui"); - glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv"); - glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui"); - glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv"); - glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui"); - glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv"); - glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui"); - glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv"); - glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui"); - glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv"); - glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui"); - glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv"); - glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui"); - glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv"); - glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); - glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); -} -static void load_GL_VERSION_4_0(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_0) return; - glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)load("glMinSampleShading"); - glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)load("glBlendEquationi"); - glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)load("glBlendEquationSeparatei"); - glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)load("glBlendFunci"); - glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)load("glBlendFuncSeparatei"); - glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load("glDrawArraysIndirect"); - glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load("glDrawElementsIndirect"); - glad_glUniform1d = (PFNGLUNIFORM1DPROC)load("glUniform1d"); - glad_glUniform2d = (PFNGLUNIFORM2DPROC)load("glUniform2d"); - glad_glUniform3d = (PFNGLUNIFORM3DPROC)load("glUniform3d"); - glad_glUniform4d = (PFNGLUNIFORM4DPROC)load("glUniform4d"); - glad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load("glUniform1dv"); - glad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load("glUniform2dv"); - glad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load("glUniform3dv"); - glad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load("glUniform4dv"); - glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load("glUniformMatrix2dv"); - glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load("glUniformMatrix3dv"); - glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load("glUniformMatrix4dv"); - glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load("glUniformMatrix2x3dv"); - glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load("glUniformMatrix2x4dv"); - glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load("glUniformMatrix3x2dv"); - glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load("glUniformMatrix3x4dv"); - glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load("glUniformMatrix4x2dv"); - glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load("glUniformMatrix4x3dv"); - glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load("glGetUniformdv"); - glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load("glGetSubroutineUniformLocation"); - glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load("glGetSubroutineIndex"); - glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load("glGetActiveSubroutineUniformiv"); - glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load("glGetActiveSubroutineUniformName"); - glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load("glGetActiveSubroutineName"); - glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load("glUniformSubroutinesuiv"); - glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load("glGetUniformSubroutineuiv"); - glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load("glGetProgramStageiv"); - glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load("glPatchParameteri"); - glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load("glPatchParameterfv"); - glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback"); - glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks"); - glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks"); - glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback"); - glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback"); - glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback"); - glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load("glDrawTransformFeedback"); - glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load("glDrawTransformFeedbackStream"); - glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load("glBeginQueryIndexed"); - glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load("glEndQueryIndexed"); - glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load("glGetQueryIndexediv"); -} -static void load_GL_VERSION_4_1(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_1) return; - glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler"); - glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary"); - glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat"); - glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef"); - glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf"); - glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary"); - glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary"); - glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri"); - glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load("glUseProgramStages"); - glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load("glActiveShaderProgram"); - glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load("glCreateShaderProgramv"); - glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load("glBindProgramPipeline"); - glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load("glDeleteProgramPipelines"); - glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load("glGenProgramPipelines"); - glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load("glIsProgramPipeline"); - glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load("glGetProgramPipelineiv"); - glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri"); - glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load("glProgramUniform1i"); - glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load("glProgramUniform1iv"); - glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load("glProgramUniform1f"); - glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load("glProgramUniform1fv"); - glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load("glProgramUniform1d"); - glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load("glProgramUniform1dv"); - glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load("glProgramUniform1ui"); - glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load("glProgramUniform1uiv"); - glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load("glProgramUniform2i"); - glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load("glProgramUniform2iv"); - glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load("glProgramUniform2f"); - glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load("glProgramUniform2fv"); - glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load("glProgramUniform2d"); - glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load("glProgramUniform2dv"); - glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load("glProgramUniform2ui"); - glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load("glProgramUniform2uiv"); - glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load("glProgramUniform3i"); - glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load("glProgramUniform3iv"); - glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load("glProgramUniform3f"); - glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load("glProgramUniform3fv"); - glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load("glProgramUniform3d"); - glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load("glProgramUniform3dv"); - glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load("glProgramUniform3ui"); - glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load("glProgramUniform3uiv"); - glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load("glProgramUniform4i"); - glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load("glProgramUniform4iv"); - glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load("glProgramUniform4f"); - glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load("glProgramUniform4fv"); - glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load("glProgramUniform4d"); - glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load("glProgramUniform4dv"); - glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load("glProgramUniform4ui"); - glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load("glProgramUniform4uiv"); - glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load("glProgramUniformMatrix2fv"); - glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load("glProgramUniformMatrix3fv"); - glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load("glProgramUniformMatrix4fv"); - glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load("glProgramUniformMatrix2dv"); - glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load("glProgramUniformMatrix3dv"); - glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load("glProgramUniformMatrix4dv"); - glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load("glProgramUniformMatrix2x3fv"); - glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load("glProgramUniformMatrix3x2fv"); - glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load("glProgramUniformMatrix2x4fv"); - glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load("glProgramUniformMatrix4x2fv"); - glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load("glProgramUniformMatrix3x4fv"); - glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load("glProgramUniformMatrix4x3fv"); - glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load("glProgramUniformMatrix2x3dv"); - glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load("glProgramUniformMatrix3x2dv"); - glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load("glProgramUniformMatrix2x4dv"); - glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load("glProgramUniformMatrix4x2dv"); - glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load("glProgramUniformMatrix3x4dv"); - glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load("glProgramUniformMatrix4x3dv"); - glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load("glValidateProgramPipeline"); - glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load("glGetProgramPipelineInfoLog"); - glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load("glVertexAttribL1d"); - glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load("glVertexAttribL2d"); - glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load("glVertexAttribL3d"); - glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load("glVertexAttribL4d"); - glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load("glVertexAttribL1dv"); - glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load("glVertexAttribL2dv"); - glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load("glVertexAttribL3dv"); - glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load("glVertexAttribL4dv"); - glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load("glVertexAttribLPointer"); - glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load("glGetVertexAttribLdv"); - glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load("glViewportArrayv"); - glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load("glViewportIndexedf"); - glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load("glViewportIndexedfv"); - glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load("glScissorArrayv"); - glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load("glScissorIndexed"); - glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load("glScissorIndexedv"); - glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load("glDepthRangeArrayv"); - glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load("glDepthRangeIndexed"); - glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load("glGetFloati_v"); - glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load("glGetDoublei_v"); -} -static void load_GL_VERSION_4_2(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_2) return; - glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load("glDrawArraysInstancedBaseInstance"); - glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load("glDrawElementsInstancedBaseInstance"); - glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load("glDrawElementsInstancedBaseVertexBaseInstance"); - glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ"); - glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load("glGetActiveAtomicCounterBufferiv"); - glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load("glBindImageTexture"); - glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load("glMemoryBarrier"); - glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D"); - glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D"); - glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D"); - glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load("glDrawTransformFeedbackInstanced"); - glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load("glDrawTransformFeedbackStreamInstanced"); -} -static void load_GL_VERSION_4_3(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_3) return; - glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load("glClearBufferData"); - glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load("glClearBufferSubData"); - glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute"); - glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect"); - glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load("glCopyImageSubData"); - glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load("glFramebufferParameteri"); - glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load("glGetFramebufferParameteriv"); - glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load("glGetInternalformati64v"); - glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load("glInvalidateTexSubImage"); - glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load("glInvalidateTexImage"); - glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load("glInvalidateBufferSubData"); - glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load("glInvalidateBufferData"); - glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer"); - glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer"); - glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load("glMultiDrawArraysIndirect"); - glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load("glMultiDrawElementsIndirect"); - glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load("glGetProgramInterfaceiv"); - glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load("glGetProgramResourceIndex"); - glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load("glGetProgramResourceName"); - glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load("glGetProgramResourceiv"); - glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load("glGetProgramResourceLocation"); - glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load("glGetProgramResourceLocationIndex"); - glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load("glShaderStorageBlockBinding"); - glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load("glTexBufferRange"); - glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load("glTexStorage2DMultisample"); - glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load("glTexStorage3DMultisample"); - glad_glTextureView = (PFNGLTEXTUREVIEWPROC)load("glTextureView"); - glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load("glBindVertexBuffer"); - glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load("glVertexAttribFormat"); - glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load("glVertexAttribIFormat"); - glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load("glVertexAttribLFormat"); - glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load("glVertexAttribBinding"); - glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load("glVertexBindingDivisor"); - glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl"); - glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert"); - glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback"); - glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog"); - glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup"); - glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup"); - glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel"); - glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel"); - glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel"); - glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel"); - glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv"); -} -static void load_GL_VERSION_4_4(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_4) return; - glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load("glBufferStorage"); - glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load("glClearTexImage"); - glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load("glClearTexSubImage"); - glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load("glBindBuffersBase"); - glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load("glBindBuffersRange"); - glad_glBindTextures = (PFNGLBINDTEXTURESPROC)load("glBindTextures"); - glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load("glBindSamplers"); - glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load("glBindImageTextures"); - glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load("glBindVertexBuffers"); -} -static void load_GL_VERSION_4_5(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_5) return; - glad_glClipControl = (PFNGLCLIPCONTROLPROC)load("glClipControl"); - glad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC)load("glCreateTransformFeedbacks"); - glad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)load("glTransformFeedbackBufferBase"); - glad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)load("glTransformFeedbackBufferRange"); - glad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC)load("glGetTransformFeedbackiv"); - glad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC)load("glGetTransformFeedbacki_v"); - glad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC)load("glGetTransformFeedbacki64_v"); - glad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC)load("glCreateBuffers"); - glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)load("glNamedBufferStorage"); - glad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC)load("glNamedBufferData"); - glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)load("glNamedBufferSubData"); - glad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC)load("glCopyNamedBufferSubData"); - glad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC)load("glClearNamedBufferData"); - glad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC)load("glClearNamedBufferSubData"); - glad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC)load("glMapNamedBuffer"); - glad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC)load("glMapNamedBufferRange"); - glad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC)load("glUnmapNamedBuffer"); - glad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)load("glFlushMappedNamedBufferRange"); - glad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC)load("glGetNamedBufferParameteriv"); - glad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)load("glGetNamedBufferParameteri64v"); - glad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC)load("glGetNamedBufferPointerv"); - glad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC)load("glGetNamedBufferSubData"); - glad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC)load("glCreateFramebuffers"); - glad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)load("glNamedFramebufferRenderbuffer"); - glad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)load("glNamedFramebufferParameteri"); - glad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)load("glNamedFramebufferTexture"); - glad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)load("glNamedFramebufferTextureLayer"); - glad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)load("glNamedFramebufferDrawBuffer"); - glad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)load("glNamedFramebufferDrawBuffers"); - glad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)load("glNamedFramebufferReadBuffer"); - glad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)load("glInvalidateNamedFramebufferData"); - glad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)load("glInvalidateNamedFramebufferSubData"); - glad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)load("glClearNamedFramebufferiv"); - glad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)load("glClearNamedFramebufferuiv"); - glad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)load("glClearNamedFramebufferfv"); - glad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)load("glClearNamedFramebufferfi"); - glad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC)load("glBlitNamedFramebuffer"); - glad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)load("glCheckNamedFramebufferStatus"); - glad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)load("glGetNamedFramebufferParameteriv"); - glad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetNamedFramebufferAttachmentParameteriv"); - glad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC)load("glCreateRenderbuffers"); - glad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC)load("glNamedRenderbufferStorage"); - glad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glNamedRenderbufferStorageMultisample"); - glad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)load("glGetNamedRenderbufferParameteriv"); - glad_glCreateTextures = (PFNGLCREATETEXTURESPROC)load("glCreateTextures"); - glad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC)load("glTextureBuffer"); - glad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC)load("glTextureBufferRange"); - glad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC)load("glTextureStorage1D"); - glad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC)load("glTextureStorage2D"); - glad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC)load("glTextureStorage3D"); - glad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)load("glTextureStorage2DMultisample"); - glad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)load("glTextureStorage3DMultisample"); - glad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC)load("glTextureSubImage1D"); - glad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)load("glTextureSubImage2D"); - glad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC)load("glTextureSubImage3D"); - glad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)load("glCompressedTextureSubImage1D"); - glad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)load("glCompressedTextureSubImage2D"); - glad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)load("glCompressedTextureSubImage3D"); - glad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC)load("glCopyTextureSubImage1D"); - glad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC)load("glCopyTextureSubImage2D"); - glad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC)load("glCopyTextureSubImage3D"); - glad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)load("glTextureParameterf"); - glad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)load("glTextureParameterfv"); - glad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)load("glTextureParameteri"); - glad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC)load("glTextureParameterIiv"); - glad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC)load("glTextureParameterIuiv"); - glad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)load("glTextureParameteriv"); - glad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC)load("glGenerateTextureMipmap"); - glad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC)load("glBindTextureUnit"); - glad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)load("glGetTextureImage"); - glad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)load("glGetCompressedTextureImage"); - glad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC)load("glGetTextureLevelParameterfv"); - glad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC)load("glGetTextureLevelParameteriv"); - glad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC)load("glGetTextureParameterfv"); - glad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC)load("glGetTextureParameterIiv"); - glad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC)load("glGetTextureParameterIuiv"); - glad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC)load("glGetTextureParameteriv"); - glad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC)load("glCreateVertexArrays"); - glad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC)load("glDisableVertexArrayAttrib"); - glad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC)load("glEnableVertexArrayAttrib"); - glad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC)load("glVertexArrayElementBuffer"); - glad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC)load("glVertexArrayVertexBuffer"); - glad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC)load("glVertexArrayVertexBuffers"); - glad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC)load("glVertexArrayAttribBinding"); - glad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC)load("glVertexArrayAttribFormat"); - glad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC)load("glVertexArrayAttribIFormat"); - glad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC)load("glVertexArrayAttribLFormat"); - glad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC)load("glVertexArrayBindingDivisor"); - glad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC)load("glGetVertexArrayiv"); - glad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC)load("glGetVertexArrayIndexediv"); - glad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC)load("glGetVertexArrayIndexed64iv"); - glad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC)load("glCreateSamplers"); - glad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC)load("glCreateProgramPipelines"); - glad_glCreateQueries = (PFNGLCREATEQUERIESPROC)load("glCreateQueries"); - glad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC)load("glGetQueryBufferObjecti64v"); - glad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC)load("glGetQueryBufferObjectiv"); - glad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC)load("glGetQueryBufferObjectui64v"); - glad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC)load("glGetQueryBufferObjectuiv"); - glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)load("glMemoryBarrierByRegion"); - glad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC)load("glGetTextureSubImage"); - glad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)load("glGetCompressedTextureSubImage"); - glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load("glGetGraphicsResetStatus"); - glad_glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC)load("glGetnCompressedTexImage"); - glad_glGetnTexImage = (PFNGLGETNTEXIMAGEPROC)load("glGetnTexImage"); - glad_glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC)load("glGetnUniformdv"); - glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load("glGetnUniformfv"); - glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load("glGetnUniformiv"); - glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)load("glGetnUniformuiv"); - glad_glReadnPixels = (PFNGLREADNPIXELSPROC)load("glReadnPixels"); - glad_glGetnMapdv = (PFNGLGETNMAPDVPROC)load("glGetnMapdv"); - glad_glGetnMapfv = (PFNGLGETNMAPFVPROC)load("glGetnMapfv"); - glad_glGetnMapiv = (PFNGLGETNMAPIVPROC)load("glGetnMapiv"); - glad_glGetnPixelMapfv = (PFNGLGETNPIXELMAPFVPROC)load("glGetnPixelMapfv"); - glad_glGetnPixelMapuiv = (PFNGLGETNPIXELMAPUIVPROC)load("glGetnPixelMapuiv"); - glad_glGetnPixelMapusv = (PFNGLGETNPIXELMAPUSVPROC)load("glGetnPixelMapusv"); - glad_glGetnPolygonStipple = (PFNGLGETNPOLYGONSTIPPLEPROC)load("glGetnPolygonStipple"); - glad_glGetnColorTable = (PFNGLGETNCOLORTABLEPROC)load("glGetnColorTable"); - glad_glGetnConvolutionFilter = (PFNGLGETNCONVOLUTIONFILTERPROC)load("glGetnConvolutionFilter"); - glad_glGetnSeparableFilter = (PFNGLGETNSEPARABLEFILTERPROC)load("glGetnSeparableFilter"); - glad_glGetnHistogram = (PFNGLGETNHISTOGRAMPROC)load("glGetnHistogram"); - glad_glGetnMinmax = (PFNGLGETNMINMAXPROC)load("glGetnMinmax"); - glad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC)load("glTextureBarrier"); -} -static void load_GL_VERSION_4_6(GLADloadproc load) { - if(!GLAD_GL_VERSION_4_6) return; - glad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC)load("glSpecializeShader"); - glad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)load("glMultiDrawArraysIndirectCount"); - glad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)load("glMultiDrawElementsIndirectCount"); - glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)load("glPolygonOffsetClamp"); -} -static int find_extensionsGL(void) { - if (!get_exts()) return 0; - GLAD_GL_ARB_shading_language_420pack = has_ext("GL_ARB_shading_language_420pack"); - free_exts(); - return 1; -} - -static void find_coreGL(void) { - - /* Thank you @elmindreda - * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 - * https://github.com/glfw/glfw/blob/master/src/context.c#L36 - */ - int i, major, minor; - - const char* version; - const char* prefixes[] = { - "OpenGL ES-CM ", - "OpenGL ES-CL ", - "OpenGL ES ", - NULL - }; - - version = (const char*) glGetString(GL_VERSION); - if (!version) return; - - for (i = 0; prefixes[i]; i++) { - const size_t length = strlen(prefixes[i]); - if (strncmp(version, prefixes[i], length) == 0) { - version += length; - break; - } - } - -/* PR #18 */ -#ifdef _MSC_VER - sscanf_s(version, "%d.%d", &major, &minor); -#else - sscanf(version, "%d.%d", &major, &minor); -#endif - - GLVersion.major = major; GLVersion.minor = minor; - max_loaded_major = major; max_loaded_minor = minor; - GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; - GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; - GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; - GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; - GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; - GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; - GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; - GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; - GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; - GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; - GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; - GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; - GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4; - GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4; - GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4; - GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4; - GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4; - GLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4; - GLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4; - if (GLVersion.major > 4 || (GLVersion.major >= 4 && GLVersion.minor >= 6)) { - max_loaded_major = 4; - max_loaded_minor = 6; - } -} - -int gladLoadGLLoader(GLADloadproc load) { - GLVersion.major = 0; GLVersion.minor = 0; - glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); - if(glGetString == NULL) return 0; - if(glGetString(GL_VERSION) == NULL) return 0; - find_coreGL(); - load_GL_VERSION_1_0(load); - load_GL_VERSION_1_1(load); - load_GL_VERSION_1_2(load); - load_GL_VERSION_1_3(load); - load_GL_VERSION_1_4(load); - load_GL_VERSION_1_5(load); - load_GL_VERSION_2_0(load); - load_GL_VERSION_2_1(load); - load_GL_VERSION_3_0(load); - load_GL_VERSION_3_1(load); - load_GL_VERSION_3_2(load); - load_GL_VERSION_3_3(load); - load_GL_VERSION_4_0(load); - load_GL_VERSION_4_1(load); - load_GL_VERSION_4_2(load); - load_GL_VERSION_4_3(load); - load_GL_VERSION_4_4(load); - load_GL_VERSION_4_5(load); - load_GL_VERSION_4_6(load); - - if (!find_extensionsGL()) return 0; - return GLVersion.major != 0 || GLVersion.minor != 0; -} - diff --git a/Dependencies/GLFW b/Dependencies/GLFW deleted file mode 160000 index 62e175e..0000000 --- a/Dependencies/GLFW +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 62e175ef9fae75335575964c845a302447c012c7 diff --git a/Dependencies/entt b/Dependencies/entt deleted file mode 160000 index ebc0c18..0000000 --- a/Dependencies/entt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ebc0c18534a33afcd49878cadea2620bac5cc6bf diff --git a/Dependencies/glm b/Dependencies/glm deleted file mode 160000 index cc98465..0000000 --- a/Dependencies/glm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cc98465e3508535ba8c7f6208df934c156a018dc diff --git a/Dependencies/shaderc b/Dependencies/shaderc deleted file mode 160000 index 96b1dd7..0000000 --- a/Dependencies/shaderc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 96b1dd72a827304817470274a470c4d3b2293451 diff --git a/Dependencies/spdlog b/Dependencies/spdlog deleted file mode 160000 index 6fa3601..0000000 --- a/Dependencies/spdlog +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6fa36017cfd5731d617e1a934f0e5ea9c4445b13 diff --git a/Dependencies/spirv-cross b/Dependencies/spirv-cross deleted file mode 160000 index b3ff97d..0000000 --- a/Dependencies/spirv-cross +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b3ff97d0feafd2b7ca72aec7215cfc3d0998fb79 diff --git a/Dependencies/stb_image/CMakeLists.txt b/Dependencies/stb_image/CMakeLists.txt deleted file mode 100644 index 31367c4..0000000 --- a/Dependencies/stb_image/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -if (CMAKE_COMPILER_IS_GNUCC) - add_compile_options(-w) -endif() -if(MSVC) - add_compile_options(/MP) - add_compile_options(/W0) -endif() - -file(GLOB STB_IMAGES_FILES true ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/*) - -add_library(stb_image STATIC ${STB_IMAGES_FILES}) diff --git a/Dependencies/stb_image/stb_image.c b/Dependencies/stb_image/stb_image.c deleted file mode 100644 index 8f074a7..0000000 --- a/Dependencies/stb_image/stb_image.c +++ /dev/null @@ -1,7126 +0,0 @@ -#include "stb_image.h" - -#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ - || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ - || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ - || defined(STBI_ONLY_ZLIB) - #ifndef STBI_ONLY_JPEG - #define STBI_NO_JPEG - #endif - #ifndef STBI_ONLY_PNG - #define STBI_NO_PNG - #endif - #ifndef STBI_ONLY_BMP - #define STBI_NO_BMP - #endif - #ifndef STBI_ONLY_PSD - #define STBI_NO_PSD - #endif - #ifndef STBI_ONLY_TGA - #define STBI_NO_TGA - #endif - #ifndef STBI_ONLY_GIF - #define STBI_NO_GIF - #endif - #ifndef STBI_ONLY_HDR - #define STBI_NO_HDR - #endif - #ifndef STBI_ONLY_PIC - #define STBI_NO_PIC - #endif - #ifndef STBI_ONLY_PNM - #define STBI_NO_PNM - #endif -#endif - -#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) -#define STBI_NO_ZLIB -#endif - - -#include -#include // ptrdiff_t on osx -#include -#include -#include - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -#include // ldexp, pow -#endif - -#ifndef STBI_NO_STDIO -#include -#endif - -#ifndef STBI_ASSERT -#include -#define STBI_ASSERT(x) assert(x) -#endif - -#ifdef __cplusplus -#define STBI_EXTERN extern "C" -#else -#define STBI_EXTERN extern -#endif - - -#ifndef _MSC_VER - #ifdef __cplusplus - #define stbi_inline inline - #else - #define stbi_inline - #endif -#else - #define stbi_inline __forceinline -#endif - -#ifndef STBI_NO_THREAD_LOCALS - #if defined(__cplusplus) && __cplusplus >= 201103L - #define STBI_THREAD_LOCAL thread_local - #elif defined(__GNUC__) && __GNUC__ < 5 - #define STBI_THREAD_LOCAL __thread - #elif defined(_MSC_VER) - #define STBI_THREAD_LOCAL __declspec(thread) - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) - #define STBI_THREAD_LOCAL _Thread_local - #endif - - #ifndef STBI_THREAD_LOCAL - #if defined(__GNUC__) - #define STBI_THREAD_LOCAL __thread - #endif - #endif -#endif - -#ifdef _MSC_VER -typedef unsigned short stbi__uint16; -typedef signed short stbi__int16; -typedef unsigned int stbi__uint32; -typedef signed int stbi__int32; -#else -#include -typedef uint16_t stbi__uint16; -typedef int16_t stbi__int16; -typedef uint32_t stbi__uint32; -typedef int32_t stbi__int32; -#endif - -// should produce compiler error if size is wrong -typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; - -#ifdef _MSC_VER -#define STBI_NOTUSED(v) (void)(v) -#else -#define STBI_NOTUSED(v) (void)sizeof(v) -#endif - -#ifdef _MSC_VER -#define STBI_HAS_LROTL -#endif - -#ifdef STBI_HAS_LROTL - #define stbi_lrot(x,y) _lrotl(x,y) -#else - #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (-(y) & 31))) -#endif - -#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) -// ok -#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) -// ok -#else -#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." -#endif - -#ifndef STBI_MALLOC -#define STBI_MALLOC(sz) malloc(sz) -#define STBI_REALLOC(p,newsz) realloc(p,newsz) -#define STBI_FREE(p) free(p) -#endif - -#ifndef STBI_REALLOC_SIZED -#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) -#endif - -// x86/x64 detection -#if defined(__x86_64__) || defined(_M_X64) -#define STBI__X64_TARGET -#elif defined(__i386) || defined(_M_IX86) -#define STBI__X86_TARGET -#endif - -#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// which in turn means it gets to use SSE2 everywhere. This is unfortunate, -// but previous attempts to provide the SSE2 functions with runtime -// detection caused numerous issues. The way architecture extensions are -// exposed in GCC/Clang is, sadly, not really suited for one-file libs. -// New behavior: if compiled with -msse2, we use SSE2 without any -// detection; if not, we don't use it at all. -#define STBI_NO_SIMD -#endif - -#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) -// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET -// -// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the -// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. -// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not -// simultaneously enabling "-mstackrealign". -// -// See https://github.com/nothings/stb/issues/81 for more information. -// -// So default to no SSE2 on 32-bit MinGW. If you've read this far and added -// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. -#define STBI_NO_SIMD -#endif - -#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) -#define STBI_SSE2 -#include - -#ifdef _MSC_VER - -#if _MSC_VER >= 1400 // not VC6 -#include // __cpuid -static int stbi__cpuid3(void) -{ - int info[4]; - __cpuid(info,1); - return info[3]; -} -#else -static int stbi__cpuid3(void) -{ - int res; - __asm { - mov eax,1 - cpuid - mov res,edx - } - return res; -} -#endif - -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name - -#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) -static int stbi__sse2_available(void) -{ - int info3 = stbi__cpuid3(); - return ((info3 >> 26) & 1) != 0; -} -#endif - -#else // assume GCC-style if not VC++ -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) - -#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) -static int stbi__sse2_available(void) -{ - // If we're even attempting to compile this on GCC/Clang, that means - // -msse2 is on, which means the compiler is allowed to use SSE2 - // instructions at will, and so are we. - return 1; -} -#endif - -#endif -#endif - -// ARM NEON -#if defined(STBI_NO_SIMD) && defined(STBI_NEON) -#undef STBI_NEON -#endif - -#ifdef STBI_NEON -#include -#ifdef _MSC_VER -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name -#else -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) -#endif -#endif - -#ifndef STBI_SIMD_ALIGN -#define STBI_SIMD_ALIGN(type, name) type name -#endif - -#ifndef STBI_MAX_DIMENSIONS -#define STBI_MAX_DIMENSIONS (1 << 24) -#endif - -/////////////////////////////////////////////// -// -// stbi__context struct and start_xxx functions - -// stbi__context structure is our basic context used by all images, so it -// contains all the IO context, plus some basic image information -typedef struct -{ - stbi__uint32 img_x, img_y; - int img_n, img_out_n; - - stbi_io_callbacks io; - void *io_user_data; - - int read_from_callbacks; - int buflen; - stbi_uc buffer_start[128]; - int callback_already_read; - - stbi_uc *img_buffer, *img_buffer_end; - stbi_uc *img_buffer_original, *img_buffer_original_end; -} stbi__context; - - -static void stbi__refill_buffer(stbi__context *s); - -// initialize a memory-decode context -static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) -{ - s->io.read = NULL; - s->read_from_callbacks = 0; - s->callback_already_read = 0; - s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; - s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; -} - -// initialize a callback-based context -static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) -{ - s->io = *c; - s->io_user_data = user; - s->buflen = sizeof(s->buffer_start); - s->read_from_callbacks = 1; - s->callback_already_read = 0; - s->img_buffer = s->img_buffer_original = s->buffer_start; - stbi__refill_buffer(s); - s->img_buffer_original_end = s->img_buffer_end; -} - -#ifndef STBI_NO_STDIO - -static int stbi__stdio_read(void *user, char *data, int size) -{ - return (int) fread(data,1,size,(FILE*) user); -} - -static void stbi__stdio_skip(void *user, int n) -{ - int ch; - fseek((FILE*) user, n, SEEK_CUR); - ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ - if (ch != EOF) { - ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ - } -} - -static int stbi__stdio_eof(void *user) -{ - return feof((FILE*) user) || ferror((FILE *) user); -} - -static stbi_io_callbacks stbi__stdio_callbacks = -{ - stbi__stdio_read, - stbi__stdio_skip, - stbi__stdio_eof, -}; - -static void stbi__start_file(stbi__context *s, FILE *f) -{ - stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); -} - -//static void stop_file(stbi__context *s) { } - -#endif // !STBI_NO_STDIO - -static void stbi__rewind(stbi__context *s) -{ - // conceptually rewind SHOULD rewind to the beginning of the stream, - // but we just rewind to the beginning of the initial buffer, because - // we only use it after doing 'test', which only ever looks at at most 92 bytes - s->img_buffer = s->img_buffer_original; - s->img_buffer_end = s->img_buffer_original_end; -} - -enum -{ - STBI_ORDER_RGB, - STBI_ORDER_BGR -}; - -typedef struct -{ - int bits_per_channel; - int num_channels; - int channel_order; -} stbi__result_info; - -#ifndef STBI_NO_JPEG -static int stbi__jpeg_test(stbi__context *s); -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNG -static int stbi__png_test(stbi__context *s); -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__png_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_BMP -static int stbi__bmp_test(stbi__context *s); -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_TGA -static int stbi__tga_test(stbi__context *s); -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s); -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__psd_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_HDR -static int stbi__hdr_test(stbi__context *s); -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_test(stbi__context *s); -static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_GIF -static int stbi__gif_test(stbi__context *s); -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNM -static int stbi__pnm_test(stbi__context *s); -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__pnm_is16(stbi__context *s); -#endif - -static -#ifdef STBI_THREAD_LOCAL -STBI_THREAD_LOCAL -#endif -const char *stbi__g_failure_reason; - -STBIDEF const char *stbi_failure_reason(void) -{ - return stbi__g_failure_reason; -} - -#ifndef STBI_NO_FAILURE_STRINGS -static int stbi__err(const char *str) -{ - stbi__g_failure_reason = str; - return 0; -} -#endif - -static void *stbi__malloc(size_t size) -{ - return STBI_MALLOC(size); -} - -// stb_image uses ints pervasively, including for offset calculations. -// therefore the largest decoded image size we can support with the -// current code, even on 64-bit targets, is INT_MAX. this is not a -// significant limitation for the intended use case. -// -// we do, however, need to make sure our size calculations don't -// overflow. hence a few helper functions for size calculations that -// multiply integers together, making sure that they're non-negative -// and no overflow occurs. - -// return 1 if the sum is valid, 0 on overflow. -// negative terms are considered invalid. -static int stbi__addsizes_valid(int a, int b) -{ - if (b < 0) return 0; - // now 0 <= b <= INT_MAX, hence also - // 0 <= INT_MAX - b <= INTMAX. - // And "a + b <= INT_MAX" (which might overflow) is the - // same as a <= INT_MAX - b (no overflow) - return a <= INT_MAX - b; -} - -// returns 1 if the product is valid, 0 on overflow. -// negative factors are considered invalid. -static int stbi__mul2sizes_valid(int a, int b) -{ - if (a < 0 || b < 0) return 0; - if (b == 0) return 1; // mul-by-0 is always safe - // portable way to check for no overflows in a*b - return a <= INT_MAX/b; -} - -#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) -// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow -static int stbi__mad2sizes_valid(int a, int b, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); -} -#endif - -// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow -static int stbi__mad3sizes_valid(int a, int b, int c, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__addsizes_valid(a*b*c, add); -} - -// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) -static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); -} -#endif - -#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) -// mallocs with size overflow checking -static void *stbi__malloc_mad2(int a, int b, int add) -{ - if (!stbi__mad2sizes_valid(a, b, add)) return NULL; - return stbi__malloc(a*b + add); -} -#endif - -static void *stbi__malloc_mad3(int a, int b, int c, int add) -{ - if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; - return stbi__malloc(a*b*c + add); -} - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) -static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) -{ - if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; - return stbi__malloc(a*b*c*d + add); -} -#endif - -// stbi__err - error -// stbi__errpf - error returning pointer to float -// stbi__errpuc - error returning pointer to unsigned char - -#ifdef STBI_NO_FAILURE_STRINGS - #define stbi__err(x,y) 0 -#elif defined(STBI_FAILURE_USERMSG) - #define stbi__err(x,y) stbi__err(y) -#else - #define stbi__err(x,y) stbi__err(x) -#endif - -#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) -#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) - -STBIDEF void stbi_image_free(void *retval_from_stbi_load) -{ - STBI_FREE(retval_from_stbi_load); -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); -#endif - -#ifndef STBI_NO_HDR -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); -#endif - -static int stbi__vertically_flip_on_load_global = 0; - -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load_global = flag_true_if_should_flip; -} - -#ifndef STBI_THREAD_LOCAL -#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global -#else -static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; - -STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load_local = flag_true_if_should_flip; - stbi__vertically_flip_on_load_set = 1; -} - -#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ - ? stbi__vertically_flip_on_load_local \ - : stbi__vertically_flip_on_load_global) -#endif // STBI_THREAD_LOCAL - -static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) -{ - memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields - ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed - ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order - ri->num_channels = 0; - - // test the formats with a very explicit header first (at least a FOURCC - // or distinctive magic number first) - #ifndef STBI_NO_PNG - if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_BMP - if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_GIF - if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PSD - if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); - #else - STBI_NOTUSED(bpc); - #endif - #ifndef STBI_NO_PIC - if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); - #endif - - // then the formats that can end up attempting to load with just 1 or 2 - // bytes matching expectations; these are prone to false positives, so - // try them later - #ifndef STBI_NO_JPEG - if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PNM - if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); - return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); - } - #endif - - #ifndef STBI_NO_TGA - // test tga last because it's a crappy test! - if (stbi__tga_test(s)) - return stbi__tga_load(s,x,y,comp,req_comp, ri); - #endif - - return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); -} - -static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi_uc *reduced; - - reduced = (stbi_uc *) stbi__malloc(img_len); - if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling - - STBI_FREE(orig); - return reduced; -} - -static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi__uint16 *enlarged; - - enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); - if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff - - STBI_FREE(orig); - return enlarged; -} - -static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) -{ - int row; - size_t bytes_per_row = (size_t)w * bytes_per_pixel; - stbi_uc temp[2048]; - stbi_uc *bytes = (stbi_uc *)image; - - for (row = 0; row < (h>>1); row++) { - stbi_uc *row0 = bytes + row*bytes_per_row; - stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; - // swap row0 with row1 - size_t bytes_left = bytes_per_row; - while (bytes_left) { - size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); - memcpy(temp, row0, bytes_copy); - memcpy(row0, row1, bytes_copy); - memcpy(row1, temp, bytes_copy); - row0 += bytes_copy; - row1 += bytes_copy; - bytes_left -= bytes_copy; - } - } -} - -#ifndef STBI_NO_GIF -static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) -{ - int slice; - int slice_size = w * h * bytes_per_pixel; - - stbi_uc *bytes = (stbi_uc *)image; - for (slice = 0; slice < z; ++slice) { - stbi__vertical_flip(bytes, w, h, bytes_per_pixel); - bytes += slice_size; - } -} -#endif - -static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); - - if (result == NULL) - return NULL; - - // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. - STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - if (ri.bits_per_channel != 8) { - result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 8; - } - - // @TODO: move stbi__convert_format to here - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); - } - - return (unsigned char *) result; -} - -static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); - - if (result == NULL) - return NULL; - - // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. - STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - if (ri.bits_per_channel != 16) { - result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 16; - } - - // @TODO: move stbi__convert_format16 to here - // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); - } - - return (stbi__uint16 *) result; -} - -#if !defined(STBI_NO_HDR) && !defined(STBI_NO_LINEAR) -static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) -{ - if (stbi__vertically_flip_on_load && result != NULL) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); - } -} -#endif - -#ifndef STBI_NO_STDIO - -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) -STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); -STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); -#endif - -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) -STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) -{ - return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); -} -#endif - -static FILE *stbi__fopen(char const *filename, char const *mode) -{ - FILE *f; -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) - wchar_t wMode[64]; - wchar_t wFilename[1024]; - if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) - return 0; - - if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) - return 0; - -#if defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != _wfopen_s(&f, wFilename, wMode)) - f = 0; -#else - f = _wfopen(wFilename, wMode); -#endif - -#elif defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != fopen_s(&f, filename, mode)) - f=0; -#else - f = fopen(filename, mode); -#endif - return f; -} - - -STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - unsigned char *result; - if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__uint16 *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - stbi__uint16 *result; - if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file_16(f,x,y,comp,req_comp); - fclose(f); - return result; -} - - -#endif //!STBI_NO_STDIO - -STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_GIF -STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_mem(&s,buffer,len); - - result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); - if (stbi__vertically_flip_on_load) { - stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); - } - - return result; -} -#endif - -#ifndef STBI_NO_LINEAR -static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *data; - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - stbi__result_info ri; - float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); - if (hdr_data) - stbi__float_postprocess(hdr_data,x,y,comp,req_comp); - return hdr_data; - } - #endif - data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); - if (data) - return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); - return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); -} - -STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_STDIO -STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - float *result; - FILE *f = stbi__fopen(filename, "rb"); - if (!f) return stbi__errpf("can't fopen", "Unable to open file"); - result = stbi_loadf_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_file(&s,f); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} -#endif // !STBI_NO_STDIO - -#endif // !STBI_NO_LINEAR - -// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is -// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always -// reports false! - -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(buffer); - STBI_NOTUSED(len); - return 0; - #endif -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result=0; - if (f) { - result = stbi_is_hdr_from_file(f); - fclose(f); - } - return result; -} - -STBIDEF int stbi_is_hdr_from_file(FILE *f) -{ - #ifndef STBI_NO_HDR - long pos = ftell(f); - int res; - stbi__context s; - stbi__start_file(&s,f); - res = stbi__hdr_test(&s); - fseek(f, pos, SEEK_SET); - return res; - #else - STBI_NOTUSED(f); - return 0; - #endif -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(clbk); - STBI_NOTUSED(user); - return 0; - #endif -} - -#ifndef STBI_NO_LINEAR -static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; - -STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } -STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } -#endif - -static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; - -STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } -STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } - - -////////////////////////////////////////////////////////////////////////////// -// -// Common code used by all image loaders -// - -enum -{ - STBI__SCAN_load=0, - STBI__SCAN_type, - STBI__SCAN_header -}; - -static void stbi__refill_buffer(stbi__context *s) -{ - int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); - s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); - if (n == 0) { - // at end of file, treat same as if from memory, but need to handle case - // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file - s->read_from_callbacks = 0; - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start+1; - *s->img_buffer = 0; - } else { - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start + n; - } -} - -stbi_inline static stbi_uc stbi__get8(stbi__context *s) -{ - if (s->img_buffer < s->img_buffer_end) - return *s->img_buffer++; - if (s->read_from_callbacks) { - stbi__refill_buffer(s); - return *s->img_buffer++; - } - return 0; -} - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -stbi_inline static int stbi__at_eof(stbi__context *s) -{ - if (s->io.read) { - if (!(s->io.eof)(s->io_user_data)) return 0; - // if feof() is true, check if buffer = end - // special case: we've only got the special 0 character at the end - if (s->read_from_callbacks == 0) return 1; - } - - return s->img_buffer >= s->img_buffer_end; -} -#endif - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) -// nothing -#else -static void stbi__skip(stbi__context *s, int n) -{ - if (n == 0) return; // already there! - if (n < 0) { - s->img_buffer = s->img_buffer_end; - return; - } - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - s->img_buffer = s->img_buffer_end; - (s->io.skip)(s->io_user_data, n - blen); - return; - } - } - s->img_buffer += n; -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) -// nothing -#else -static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) -{ - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - int res, count; - - memcpy(buffer, s->img_buffer, blen); - - count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); - res = (count == (n-blen)); - s->img_buffer = s->img_buffer_end; - return res; - } - } - - if (s->img_buffer+n <= s->img_buffer_end) { - memcpy(buffer, s->img_buffer, n); - s->img_buffer += n; - return 1; - } else - return 0; -} -#endif - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) -// nothing -#else -static int stbi__get16be(stbi__context *s) -{ - int z = stbi__get8(s); - return (z << 8) + stbi__get8(s); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) -// nothing -#else -static stbi__uint32 stbi__get32be(stbi__context *s) -{ - stbi__uint32 z = stbi__get16be(s); - return (z << 16) + stbi__get16be(s); -} -#endif - -#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) -// nothing -#else -static int stbi__get16le(stbi__context *s) -{ - int z = stbi__get8(s); - return z + (stbi__get8(s) << 8); -} -#endif - -#ifndef STBI_NO_BMP -static stbi__uint32 stbi__get32le(stbi__context *s) -{ - stbi__uint32 z = stbi__get16le(s); - z += (stbi__uint32)stbi__get16le(s) << 16; - return z; -} -#endif - -#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -////////////////////////////////////////////////////////////////////////////// -// -// generic converter from built-in img_n to req_comp -// individual types do this automatically as much as possible (e.g. jpeg -// does all cases internally since it needs to colorspace convert anyway, -// and it never has alpha, so very few cases ). png can automatically -// interleave an alpha=255 channel, but falls back to this for other cases -// -// assume data buffer is malloced, so malloc a new one and free that one -// only failure mode is malloc failing - -static stbi_uc stbi__compute_y(int r, int g, int b) -{ - return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - unsigned char *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); - if (good == NULL) { - STBI_FREE(data); - return stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - unsigned char *src = data + j * x * img_n ; - unsigned char *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=255; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=255; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=255; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = 255; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; - default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) -// nothing -#else -static stbi__uint16 stbi__compute_y_16(int r, int g, int b) -{ - return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) -// nothing -#else -static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - stbi__uint16 *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); - if (good == NULL) { - STBI_FREE(data); - return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - stbi__uint16 *src = data + j * x * img_n ; - stbi__uint16 *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=0xffff; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=0xffff; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=0xffff; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = 0xffff; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; - default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} -#endif - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) -{ - int i,k,n; - float *output; - if (!data) return NULL; - output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); - } - } - if (n < comp) { - for (i=0; i < x*y; ++i) { - output[i*comp + n] = data[i*comp + n]/255.0f; - } - } - STBI_FREE(data); - return output; -} -#endif - -#ifndef STBI_NO_HDR -#define stbi__float2int(x) ((int) (x)) -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) -{ - int i,k,n; - stbi_uc *output; - if (!data) return NULL; - output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - if (k < comp) { - float z = data[i*comp+k] * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - } - STBI_FREE(data); - return output; -} -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// "baseline" JPEG/JFIF decoder -// -// simple implementation -// - doesn't support delayed output of y-dimension -// - simple interface (only one output format: 8-bit interleaved RGB) -// - doesn't try to recover corrupt jpegs -// - doesn't allow partial loading, loading multiple at once -// - still fast on x86 (copying globals into locals doesn't help x86) -// - allocates lots of intermediate memory (full size of all components) -// - non-interleaved case requires this anyway -// - allows good upsampling (see next) -// high-quality -// - upsampled channels are bilinearly interpolated, even across blocks -// - quality integer IDCT derived from IJG's 'slow' -// performance -// - fast huffman; reasonable integer IDCT -// - some SIMD kernels for common paths on targets with SSE2/NEON -// - uses a lot of intermediate memory, could cache poorly - -#ifndef STBI_NO_JPEG - -// huffman decoding acceleration -#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache - -typedef struct -{ - stbi_uc fast[1 << FAST_BITS]; - // weirdly, repacking this into AoS is a 10% speed loss, instead of a win - stbi__uint16 code[256]; - stbi_uc values[256]; - stbi_uc size[257]; - unsigned int maxcode[18]; - int delta[17]; // old 'firstsymbol' - old 'firstcode' -} stbi__huffman; - -typedef struct -{ - stbi__context *s; - stbi__huffman huff_dc[4]; - stbi__huffman huff_ac[4]; - stbi__uint16 dequant[4][64]; - stbi__int16 fast_ac[4][1 << FAST_BITS]; - -// sizes for components, interleaved MCUs - int img_h_max, img_v_max; - int img_mcu_x, img_mcu_y; - int img_mcu_w, img_mcu_h; - -// definition of jpeg image component - struct - { - int id; - int h,v; - int tq; - int hd,ha; - int dc_pred; - - int x,y,w2,h2; - stbi_uc *data; - void *raw_data, *raw_coeff; - stbi_uc *linebuf; - short *coeff; // progressive only - int coeff_w, coeff_h; // number of 8x8 coefficient blocks - } img_comp[4]; - - stbi__uint32 code_buffer; // jpeg entropy-coded buffer - int code_bits; // number of valid bits - unsigned char marker; // marker seen while filling entropy buffer - int nomore; // flag if we saw a marker so must stop - - int progressive; - int spec_start; - int spec_end; - int succ_high; - int succ_low; - int eob_run; - int jfif; - int app14_color_transform; // Adobe APP14 tag - int rgb; - - int scan_n, order[4]; - int restart_interval, todo; - -// kernels - void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); - void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); - stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); -} stbi__jpeg; - -static int stbi__build_huffman(stbi__huffman *h, int *count) -{ - int i,j,k=0; - unsigned int code; - // build size list for each symbol (from JPEG spec) - for (i=0; i < 16; ++i) - for (j=0; j < count[i]; ++j) - h->size[k++] = (stbi_uc) (i+1); - h->size[k] = 0; - - // compute actual symbols (from jpeg spec) - code = 0; - k = 0; - for(j=1; j <= 16; ++j) { - // compute delta to add to code to compute symbol id - h->delta[j] = k - code; - if (h->size[k] == j) { - while (h->size[k] == j) - h->code[k++] = (stbi__uint16) (code++); - if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); - } - // compute largest code + 1 for this size, preshifted as needed later - h->maxcode[j] = code << (16-j); - code <<= 1; - } - h->maxcode[j] = 0xffffffff; - - // build non-spec acceleration table; 255 is flag for not-accelerated - memset(h->fast, 255, 1 << FAST_BITS); - for (i=0; i < k; ++i) { - int s = h->size[i]; - if (s <= FAST_BITS) { - int c = h->code[i] << (FAST_BITS-s); - int m = 1 << (FAST_BITS-s); - for (j=0; j < m; ++j) { - h->fast[c+j] = (stbi_uc) i; - } - } - } - return 1; -} - -// build a table that decodes both magnitude and value of small ACs in -// one go. -static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) -{ - int i; - for (i=0; i < (1 << FAST_BITS); ++i) { - stbi_uc fast = h->fast[i]; - fast_ac[i] = 0; - if (fast < 255) { - int rs = h->values[fast]; - int run = (rs >> 4) & 15; - int magbits = rs & 15; - int len = h->size[fast]; - - if (magbits && len + magbits <= FAST_BITS) { - // magnitude code followed by receive_extend code - int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); - int m = 1 << (magbits - 1); - if (k < m) k += (~0U << magbits) + 1; - // if the result is small enough, we can fit it in fast_ac table - if (k >= -128 && k <= 127) - fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); - } - } - } -} - -static void stbi__grow_buffer_unsafe(stbi__jpeg *j) -{ - do { - unsigned int b = j->nomore ? 0 : stbi__get8(j->s); - if (b == 0xff) { - int c = stbi__get8(j->s); - while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes - if (c != 0) { - j->marker = (unsigned char) c; - j->nomore = 1; - return; - } - } - j->code_buffer |= b << (24 - j->code_bits); - j->code_bits += 8; - } while (j->code_bits <= 24); -} - -// (1 << n) - 1 -static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; - -// decode a jpeg huffman value from the bitstream -stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) -{ - unsigned int temp; - int c,k; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - // look at the top FAST_BITS and determine what symbol ID it is, - // if the code is <= FAST_BITS - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - k = h->fast[c]; - if (k < 255) { - int s = h->size[k]; - if (s > j->code_bits) - return -1; - j->code_buffer <<= s; - j->code_bits -= s; - return h->values[k]; - } - - // naive test is to shift the code_buffer down so k bits are - // valid, then test against maxcode. To speed this up, we've - // preshifted maxcode left so that it has (16-k) 0s at the - // end; in other words, regardless of the number of bits, it - // wants to be compared against something shifted to have 16; - // that way we don't need to shift inside the loop. - temp = j->code_buffer >> 16; - for (k=FAST_BITS+1 ; ; ++k) - if (temp < h->maxcode[k]) - break; - if (k == 17) { - // error! code not found - j->code_bits -= 16; - return -1; - } - - if (k > j->code_bits) - return -1; - - // convert the huffman code to the symbol id - c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; - STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); - - // convert the id to a symbol - j->code_bits -= k; - j->code_buffer <<= k; - return h->values[c]; -} - -// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); - - sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k + (stbi__jbias[n] & (sgn - 1)); -} - -// get some unsigned bits -stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) -{ - unsigned int k; - if (j->code_bits < n) stbi__grow_buffer_unsafe(j); - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k; -} - -stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) -{ - unsigned int k; - if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); - k = j->code_buffer; - j->code_buffer <<= 1; - --j->code_bits; - return k & 0x80000000; -} - -// given a value that's at position X in the zigzag stream, -// where does it appear in the 8x8 matrix coded as row-major? -static const stbi_uc stbi__jpeg_dezigzag[64+15] = -{ - 0, 1, 8, 16, 9, 2, 3, 10, - 17, 24, 32, 25, 18, 11, 4, 5, - 12, 19, 26, 33, 40, 48, 41, 34, - 27, 20, 13, 6, 7, 14, 21, 28, - 35, 42, 49, 56, 57, 50, 43, 36, - 29, 22, 15, 23, 30, 37, 44, 51, - 58, 59, 52, 45, 38, 31, 39, 46, - 53, 60, 61, 54, 47, 55, 62, 63, - // let corrupt input sample past end - 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63 -}; - -// decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) -{ - int diff,dc,k; - int t; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0 || t > 15) return stbi__err("bad huffman code","Corrupt JPEG"); - - // 0 all the ac values now so we can do it 32-bits at a time - memset(data,0,64*sizeof(data[0])); - - diff = t ? stbi__extend_receive(j, t) : 0; - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc * dequant[0]); - - // decode AC components, see JPEG spec - k = 1; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * dequant[zig]); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (rs != 0xf0) break; // end block - k += 16; - } else { - k += r; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); - } - } - } while (k < 64); - return 1; -} - -static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) -{ - int diff,dc; - int t; - if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - if (j->succ_high == 0) { - // first scan for DC coefficient, must be first - memset(data,0,64*sizeof(data[0])); // 0 all the ac values now - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - diff = t ? stbi__extend_receive(j, t) : 0; - - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc * (1 << j->succ_low)); - } else { - // refinement scan for DC coefficient - if (stbi__jpeg_get_bit(j)) - data[0] += (short) (1 << j->succ_low); - } - return 1; -} - -// @OPTIMIZE: store non-zigzagged during the decode passes, -// and only de-zigzag when dequantizing -static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) -{ - int k; - if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->succ_high == 0) { - int shift = j->succ_low; - - if (j->eob_run) { - --j->eob_run; - return 1; - } - - k = j->spec_start; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * (1 << shift)); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r); - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - --j->eob_run; - break; - } - k += 16; - } else { - k += r; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * (1 << shift)); - } - } - } while (k <= j->spec_end); - } else { - // refinement scan for these AC coefficients - - short bit = (short) (1 << j->succ_low); - - if (j->eob_run) { - --j->eob_run; - for (k = j->spec_start; k <= j->spec_end; ++k) { - short *p = &data[stbi__jpeg_dezigzag[k]]; - if (*p != 0) - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } - } else { - k = j->spec_start; - do { - int r,s; - int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r) - 1; - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - r = 64; // force end of block - } else { - // r=15 s=0 should write 16 0s, so we just do - // a run of 15 0s and then write s (which is 0), - // so we don't have to do anything special here - } - } else { - if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); - // sign bit - if (stbi__jpeg_get_bit(j)) - s = bit; - else - s = -bit; - } - - // advance by r - while (k <= j->spec_end) { - short *p = &data[stbi__jpeg_dezigzag[k++]]; - if (*p != 0) { - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } else { - if (r == 0) { - *p = (short) s; - break; - } - --r; - } - } - } while (k <= j->spec_end); - } - } - return 1; -} - -// take a -128..127 value and stbi__clamp it and convert to 0..255 -stbi_inline static stbi_uc stbi__clamp(int x) -{ - // trick to use a single test to catch both cases - if ((unsigned int) x > 255) { - if (x < 0) return 0; - if (x > 255) return 255; - } - return (stbi_uc) x; -} - -#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) -#define stbi__fsh(x) ((x) * 4096) - -// derived from jidctint -- DCT_ISLOW -#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ - int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ - p2 = s2; \ - p3 = s6; \ - p1 = (p2+p3) * stbi__f2f(0.5411961f); \ - t2 = p1 + p3*stbi__f2f(-1.847759065f); \ - t3 = p1 + p2*stbi__f2f( 0.765366865f); \ - p2 = s0; \ - p3 = s4; \ - t0 = stbi__fsh(p2+p3); \ - t1 = stbi__fsh(p2-p3); \ - x0 = t0+t3; \ - x3 = t0-t3; \ - x1 = t1+t2; \ - x2 = t1-t2; \ - t0 = s7; \ - t1 = s5; \ - t2 = s3; \ - t3 = s1; \ - p3 = t0+t2; \ - p4 = t1+t3; \ - p1 = t0+t3; \ - p2 = t1+t2; \ - p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ - t0 = t0*stbi__f2f( 0.298631336f); \ - t1 = t1*stbi__f2f( 2.053119869f); \ - t2 = t2*stbi__f2f( 3.072711026f); \ - t3 = t3*stbi__f2f( 1.501321110f); \ - p1 = p5 + p1*stbi__f2f(-0.899976223f); \ - p2 = p5 + p2*stbi__f2f(-2.562915447f); \ - p3 = p3*stbi__f2f(-1.961570560f); \ - p4 = p4*stbi__f2f(-0.390180644f); \ - t3 += p1+p4; \ - t2 += p2+p3; \ - t1 += p2+p4; \ - t0 += p1+p3; - -static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) -{ - int i,val[64],*v=val; - stbi_uc *o; - short *d = data; - - // columns - for (i=0; i < 8; ++i,++d, ++v) { - // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing - if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 - && d[40]==0 && d[48]==0 && d[56]==0) { - // no shortcut 0 seconds - // (1|2|3|4|5|6|7)==0 0 seconds - // all separate -0.047 seconds - // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds - int dcterm = d[0]*4; - v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; - } else { - STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) - // constants scaled things up by 1<<12; let's bring them back - // down, but keep 2 extra bits of precision - x0 += 512; x1 += 512; x2 += 512; x3 += 512; - v[ 0] = (x0+t3) >> 10; - v[56] = (x0-t3) >> 10; - v[ 8] = (x1+t2) >> 10; - v[48] = (x1-t2) >> 10; - v[16] = (x2+t1) >> 10; - v[40] = (x2-t1) >> 10; - v[24] = (x3+t0) >> 10; - v[32] = (x3-t0) >> 10; - } - } - - for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { - // no fast case since the first 1D IDCT spread components out - STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) - // constants scaled things up by 1<<12, plus we had 1<<2 from first - // loop, plus horizontal and vertical each scale by sqrt(8) so together - // we've got an extra 1<<3, so 1<<17 total we need to remove. - // so we want to round that, which means adding 0.5 * 1<<17, - // aka 65536. Also, we'll end up with -128 to 127 that we want - // to encode as 0..255 by adding 128, so we'll add that before the shift - x0 += 65536 + (128<<17); - x1 += 65536 + (128<<17); - x2 += 65536 + (128<<17); - x3 += 65536 + (128<<17); - // tried computing the shifts into temps, or'ing the temps to see - // if any were out of range, but that was slower - o[0] = stbi__clamp((x0+t3) >> 17); - o[7] = stbi__clamp((x0-t3) >> 17); - o[1] = stbi__clamp((x1+t2) >> 17); - o[6] = stbi__clamp((x1-t2) >> 17); - o[2] = stbi__clamp((x2+t1) >> 17); - o[5] = stbi__clamp((x2-t1) >> 17); - o[3] = stbi__clamp((x3+t0) >> 17); - o[4] = stbi__clamp((x3-t0) >> 17); - } -} - -#ifdef STBI_SSE2 -// sse2 integer IDCT. not the fastest possible implementation but it -// produces bit-identical results to the generic C version so it's -// fully "transparent". -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - // This is constructed to match our regular (generic) integer IDCT exactly. - __m128i row0, row1, row2, row3, row4, row5, row6, row7; - __m128i tmp; - - // dot product constant: even elems=x, odd elems=y - #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) - - // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) - // out(1) = c1[even]*x + c1[odd]*y - #define dct_rot(out0,out1, x,y,c0,c1) \ - __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ - __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ - __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ - __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ - __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ - __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) - - // out = in << 12 (in 16-bit, out 32-bit) - #define dct_widen(out, in) \ - __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ - __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) - - // wide add - #define dct_wadd(out, a, b) \ - __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_add_epi32(a##_h, b##_h) - - // wide sub - #define dct_wsub(out, a, b) \ - __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) - - // butterfly a/b, add bias, then shift by "s" and pack - #define dct_bfly32o(out0, out1, a,b,bias,s) \ - { \ - __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ - __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ - dct_wadd(sum, abiased, b); \ - dct_wsub(dif, abiased, b); \ - out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ - out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ - } - - // 8-bit interleave step (for transposes) - #define dct_interleave8(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi8(a, b); \ - b = _mm_unpackhi_epi8(tmp, b) - - // 16-bit interleave step (for transposes) - #define dct_interleave16(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi16(a, b); \ - b = _mm_unpackhi_epi16(tmp, b) - - #define dct_pass(bias,shift) \ - { \ - /* even part */ \ - dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ - __m128i sum04 = _mm_add_epi16(row0, row4); \ - __m128i dif04 = _mm_sub_epi16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ - dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ - __m128i sum17 = _mm_add_epi16(row1, row7); \ - __m128i sum35 = _mm_add_epi16(row3, row5); \ - dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ - dct_wadd(x4, y0o, y4o); \ - dct_wadd(x5, y1o, y5o); \ - dct_wadd(x6, y2o, y5o); \ - dct_wadd(x7, y3o, y4o); \ - dct_bfly32o(row0,row7, x0,x7,bias,shift); \ - dct_bfly32o(row1,row6, x1,x6,bias,shift); \ - dct_bfly32o(row2,row5, x2,x5,bias,shift); \ - dct_bfly32o(row3,row4, x3,x4,bias,shift); \ - } - - __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); - __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); - __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); - __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); - __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); - __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); - __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); - __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); - - // rounding biases in column/row passes, see stbi__idct_block for explanation. - __m128i bias_0 = _mm_set1_epi32(512); - __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); - - // load - row0 = _mm_load_si128((const __m128i *) (data + 0*8)); - row1 = _mm_load_si128((const __m128i *) (data + 1*8)); - row2 = _mm_load_si128((const __m128i *) (data + 2*8)); - row3 = _mm_load_si128((const __m128i *) (data + 3*8)); - row4 = _mm_load_si128((const __m128i *) (data + 4*8)); - row5 = _mm_load_si128((const __m128i *) (data + 5*8)); - row6 = _mm_load_si128((const __m128i *) (data + 6*8)); - row7 = _mm_load_si128((const __m128i *) (data + 7*8)); - - // column pass - dct_pass(bias_0, 10); - - { - // 16bit 8x8 transpose pass 1 - dct_interleave16(row0, row4); - dct_interleave16(row1, row5); - dct_interleave16(row2, row6); - dct_interleave16(row3, row7); - - // transpose pass 2 - dct_interleave16(row0, row2); - dct_interleave16(row1, row3); - dct_interleave16(row4, row6); - dct_interleave16(row5, row7); - - // transpose pass 3 - dct_interleave16(row0, row1); - dct_interleave16(row2, row3); - dct_interleave16(row4, row5); - dct_interleave16(row6, row7); - } - - // row pass - dct_pass(bias_1, 17); - - { - // pack - __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 - __m128i p1 = _mm_packus_epi16(row2, row3); - __m128i p2 = _mm_packus_epi16(row4, row5); - __m128i p3 = _mm_packus_epi16(row6, row7); - - // 8bit 8x8 transpose pass 1 - dct_interleave8(p0, p2); // a0e0a1e1... - dct_interleave8(p1, p3); // c0g0c1g1... - - // transpose pass 2 - dct_interleave8(p0, p1); // a0c0e0g0... - dct_interleave8(p2, p3); // b0d0f0h0... - - // transpose pass 3 - dct_interleave8(p0, p2); // a0b0c0d0... - dct_interleave8(p1, p3); // a4b4c4d4... - - // store - _mm_storel_epi64((__m128i *) out, p0); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p2); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p1); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p3); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); - } - -#undef dct_const -#undef dct_rot -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_interleave8 -#undef dct_interleave16 -#undef dct_pass -} - -#endif // STBI_SSE2 - -#ifdef STBI_NEON - -// NEON integer IDCT. should produce bit-identical -// results to the generic C version. -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; - - int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); - int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); - int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); - int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); - int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); - int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); - int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); - int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); - int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); - int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); - int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); - int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); - -#define dct_long_mul(out, inq, coeff) \ - int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) - -#define dct_long_mac(out, acc, inq, coeff) \ - int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) - -#define dct_widen(out, inq) \ - int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ - int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) - -// wide add -#define dct_wadd(out, a, b) \ - int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vaddq_s32(a##_h, b##_h) - -// wide sub -#define dct_wsub(out, a, b) \ - int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vsubq_s32(a##_h, b##_h) - -// butterfly a/b, then shift using "shiftop" by "s" and pack -#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ - { \ - dct_wadd(sum, a, b); \ - dct_wsub(dif, a, b); \ - out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ - out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ - } - -#define dct_pass(shiftop, shift) \ - { \ - /* even part */ \ - int16x8_t sum26 = vaddq_s16(row2, row6); \ - dct_long_mul(p1e, sum26, rot0_0); \ - dct_long_mac(t2e, p1e, row6, rot0_1); \ - dct_long_mac(t3e, p1e, row2, rot0_2); \ - int16x8_t sum04 = vaddq_s16(row0, row4); \ - int16x8_t dif04 = vsubq_s16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - int16x8_t sum15 = vaddq_s16(row1, row5); \ - int16x8_t sum17 = vaddq_s16(row1, row7); \ - int16x8_t sum35 = vaddq_s16(row3, row5); \ - int16x8_t sum37 = vaddq_s16(row3, row7); \ - int16x8_t sumodd = vaddq_s16(sum17, sum35); \ - dct_long_mul(p5o, sumodd, rot1_0); \ - dct_long_mac(p1o, p5o, sum17, rot1_1); \ - dct_long_mac(p2o, p5o, sum35, rot1_2); \ - dct_long_mul(p3o, sum37, rot2_0); \ - dct_long_mul(p4o, sum15, rot2_1); \ - dct_wadd(sump13o, p1o, p3o); \ - dct_wadd(sump24o, p2o, p4o); \ - dct_wadd(sump23o, p2o, p3o); \ - dct_wadd(sump14o, p1o, p4o); \ - dct_long_mac(x4, sump13o, row7, rot3_0); \ - dct_long_mac(x5, sump24o, row5, rot3_1); \ - dct_long_mac(x6, sump23o, row3, rot3_2); \ - dct_long_mac(x7, sump14o, row1, rot3_3); \ - dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ - dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ - dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ - dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ - } - - // load - row0 = vld1q_s16(data + 0*8); - row1 = vld1q_s16(data + 1*8); - row2 = vld1q_s16(data + 2*8); - row3 = vld1q_s16(data + 3*8); - row4 = vld1q_s16(data + 4*8); - row5 = vld1q_s16(data + 5*8); - row6 = vld1q_s16(data + 6*8); - row7 = vld1q_s16(data + 7*8); - - // add DC bias - row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); - - // column pass - dct_pass(vrshrn_n_s32, 10); - - // 16bit 8x8 transpose - { -// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. -// whether compilers actually get this is another story, sadly. -#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } -#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } - - // pass 1 - dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 - dct_trn16(row2, row3); - dct_trn16(row4, row5); - dct_trn16(row6, row7); - - // pass 2 - dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 - dct_trn32(row1, row3); - dct_trn32(row4, row6); - dct_trn32(row5, row7); - - // pass 3 - dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 - dct_trn64(row1, row5); - dct_trn64(row2, row6); - dct_trn64(row3, row7); - -#undef dct_trn16 -#undef dct_trn32 -#undef dct_trn64 - } - - // row pass - // vrshrn_n_s32 only supports shifts up to 16, we need - // 17. so do a non-rounding shift of 16 first then follow - // up with a rounding shift by 1. - dct_pass(vshrn_n_s32, 16); - - { - // pack and round - uint8x8_t p0 = vqrshrun_n_s16(row0, 1); - uint8x8_t p1 = vqrshrun_n_s16(row1, 1); - uint8x8_t p2 = vqrshrun_n_s16(row2, 1); - uint8x8_t p3 = vqrshrun_n_s16(row3, 1); - uint8x8_t p4 = vqrshrun_n_s16(row4, 1); - uint8x8_t p5 = vqrshrun_n_s16(row5, 1); - uint8x8_t p6 = vqrshrun_n_s16(row6, 1); - uint8x8_t p7 = vqrshrun_n_s16(row7, 1); - - // again, these can translate into one instruction, but often don't. -#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } -#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } - - // sadly can't use interleaved stores here since we only write - // 8 bytes to each scan line! - - // 8x8 8-bit transpose pass 1 - dct_trn8_8(p0, p1); - dct_trn8_8(p2, p3); - dct_trn8_8(p4, p5); - dct_trn8_8(p6, p7); - - // pass 2 - dct_trn8_16(p0, p2); - dct_trn8_16(p1, p3); - dct_trn8_16(p4, p6); - dct_trn8_16(p5, p7); - - // pass 3 - dct_trn8_32(p0, p4); - dct_trn8_32(p1, p5); - dct_trn8_32(p2, p6); - dct_trn8_32(p3, p7); - - // store - vst1_u8(out, p0); out += out_stride; - vst1_u8(out, p1); out += out_stride; - vst1_u8(out, p2); out += out_stride; - vst1_u8(out, p3); out += out_stride; - vst1_u8(out, p4); out += out_stride; - vst1_u8(out, p5); out += out_stride; - vst1_u8(out, p6); out += out_stride; - vst1_u8(out, p7); - -#undef dct_trn8_8 -#undef dct_trn8_16 -#undef dct_trn8_32 - } - -#undef dct_long_mul -#undef dct_long_mac -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_pass -} - -#endif // STBI_NEON - -#define STBI__MARKER_none 0xff -// if there's a pending marker from the entropy stream, return that -// otherwise, fetch from the stream and get a marker. if there's no -// marker, return 0xff, which is never a valid marker value -static stbi_uc stbi__get_marker(stbi__jpeg *j) -{ - stbi_uc x; - if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } - x = stbi__get8(j->s); - if (x != 0xff) return STBI__MARKER_none; - while (x == 0xff) - x = stbi__get8(j->s); // consume repeated 0xff fill bytes - return x; -} - -// in each scan, we'll have scan_n components, and the order -// of the components is specified by order[] -#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) - -// after a restart interval, stbi__jpeg_reset the entropy decoder and -// the dc prediction -static void stbi__jpeg_reset(stbi__jpeg *j) -{ - j->code_bits = 0; - j->code_buffer = 0; - j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; - j->marker = STBI__MARKER_none; - j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; - j->eob_run = 0; - // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, - // since we don't even allow 1<<30 pixels -} - -static int stbi__parse_entropy_coded_data(stbi__jpeg *z) -{ - stbi__jpeg_reset(z); - if (!z->progressive) { - if (z->scan_n == 1) { - int i,j; - STBI_SIMD_ALIGN(short, data[64]); - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - // if it's NOT a restart, then just bail, so we get corrupt data - // rather than no data - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - STBI_SIMD_ALIGN(short, data[64]); - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x)*8; - int y2 = (j*z->img_comp[n].v + y)*8; - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } else { - if (z->scan_n == 1) { - int i,j; - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - if (z->spec_start == 0) { - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } else { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) - return 0; - } - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x); - int y2 = (j*z->img_comp[n].v + y); - short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } -} - -static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) -{ - int i; - for (i=0; i < 64; ++i) - data[i] *= dequant[i]; -} - -static void stbi__jpeg_finish(stbi__jpeg *z) -{ - if (z->progressive) { - // dequantize and idct the data - int i,j,n; - for (n=0; n < z->s->img_n; ++n) { - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - } - } - } - } -} - -static int stbi__process_marker(stbi__jpeg *z, int m) -{ - int L; - switch (m) { - case STBI__MARKER_none: // no marker found - return stbi__err("expected marker","Corrupt JPEG"); - - case 0xDD: // DRI - specify restart interval - if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); - z->restart_interval = stbi__get16be(z->s); - return 1; - - case 0xDB: // DQT - define quantization table - L = stbi__get16be(z->s)-2; - while (L > 0) { - int q = stbi__get8(z->s); - int p = q >> 4, sixteen = (p != 0); - int t = q & 15,i; - if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); - if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); - - for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); - L -= (sixteen ? 129 : 65); - } - return L==0; - - case 0xC4: // DHT - define huffman table - L = stbi__get16be(z->s)-2; - while (L > 0) { - stbi_uc *v; - int sizes[16],i,n=0; - int q = stbi__get8(z->s); - int tc = q >> 4; - int th = q & 15; - if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); - for (i=0; i < 16; ++i) { - sizes[i] = stbi__get8(z->s); - n += sizes[i]; - } - L -= 17; - if (tc == 0) { - if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; - v = z->huff_dc[th].values; - } else { - if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; - v = z->huff_ac[th].values; - } - for (i=0; i < n; ++i) - v[i] = stbi__get8(z->s); - if (tc != 0) - stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); - L -= n; - } - return L==0; - } - - // check for comment block or APP blocks - if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - L = stbi__get16be(z->s); - if (L < 2) { - if (m == 0xFE) - return stbi__err("bad COM len","Corrupt JPEG"); - else - return stbi__err("bad APP len","Corrupt JPEG"); - } - L -= 2; - - if (m == 0xE0 && L >= 5) { // JFIF APP0 segment - static const unsigned char tag[5] = {'J','F','I','F','\0'}; - int ok = 1; - int i; - for (i=0; i < 5; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 5; - if (ok) - z->jfif = 1; - } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment - static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; - int ok = 1; - int i; - for (i=0; i < 6; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 6; - if (ok) { - stbi__get8(z->s); // version - stbi__get16be(z->s); // flags0 - stbi__get16be(z->s); // flags1 - z->app14_color_transform = stbi__get8(z->s); // color transform - L -= 6; - } - } - - stbi__skip(z->s, L); - return 1; - } - - return stbi__err("unknown marker","Corrupt JPEG"); -} - -// after we see SOS -static int stbi__process_scan_header(stbi__jpeg *z) -{ - int i; - int Ls = stbi__get16be(z->s); - z->scan_n = stbi__get8(z->s); - if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); - if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); - for (i=0; i < z->scan_n; ++i) { - int id = stbi__get8(z->s), which; - int q = stbi__get8(z->s); - for (which = 0; which < z->s->img_n; ++which) - if (z->img_comp[which].id == id) - break; - if (which == z->s->img_n) return 0; // no match - z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); - z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); - z->order[i] = which; - } - - { - int aa; - z->spec_start = stbi__get8(z->s); - z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 - aa = stbi__get8(z->s); - z->succ_high = (aa >> 4); - z->succ_low = (aa & 15); - if (z->progressive) { - if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) - return stbi__err("bad SOS", "Corrupt JPEG"); - } else { - if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); - if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); - z->spec_end = 63; - } - } - - return 1; -} - -static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) -{ - int i; - for (i=0; i < ncomp; ++i) { - if (z->img_comp[i].raw_data) { - STBI_FREE(z->img_comp[i].raw_data); - z->img_comp[i].raw_data = NULL; - z->img_comp[i].data = NULL; - } - if (z->img_comp[i].raw_coeff) { - STBI_FREE(z->img_comp[i].raw_coeff); - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].coeff = 0; - } - if (z->img_comp[i].linebuf) { - STBI_FREE(z->img_comp[i].linebuf); - z->img_comp[i].linebuf = NULL; - } - } - return why; -} - -static int stbi__process_frame_header(stbi__jpeg *z, int scan) -{ - stbi__context *s = z->s; - int Lf,p,i,q, h_max=1,v_max=1,c; - Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG - p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline - s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG - s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - c = stbi__get8(s); - if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); - s->img_n = c; - for (i=0; i < c; ++i) { - z->img_comp[i].data = NULL; - z->img_comp[i].linebuf = NULL; - } - - if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); - - z->rgb = 0; - for (i=0; i < s->img_n; ++i) { - static const unsigned char rgb[3] = { 'R', 'G', 'B' }; - z->img_comp[i].id = stbi__get8(s); - if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) - ++z->rgb; - q = stbi__get8(s); - z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); - z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); - z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); - } - - if (scan != STBI__SCAN_load) return 1; - - if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); - - for (i=0; i < s->img_n; ++i) { - if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; - if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; - } - - // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios - // and I've never seen a non-corrupted JPEG file actually use them - for (i=0; i < s->img_n; ++i) { - if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); - if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); - } - - // compute interleaved mcu info - z->img_h_max = h_max; - z->img_v_max = v_max; - z->img_mcu_w = h_max * 8; - z->img_mcu_h = v_max * 8; - // these sizes can't be more than 17 bits - z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; - z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; - - for (i=0; i < s->img_n; ++i) { - // number of effective pixels (e.g. for non-interleaved MCU) - z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; - z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; - // to simplify generation, we'll allocate enough memory to decode - // the bogus oversized data from using interleaved MCUs and their - // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't - // discard the extra data until colorspace conversion - // - // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) - // so these muls can't overflow with 32-bit ints (which we require) - z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; - z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - z->img_comp[i].coeff = 0; - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].linebuf = NULL; - z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); - if (z->img_comp[i].raw_data == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - // align blocks for idct using mmx/sse - z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); - if (z->progressive) { - // w2, h2 are multiples of 8 (see above) - z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; - z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; - z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); - if (z->img_comp[i].raw_coeff == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); - } - } - - return 1; -} - -// use comparisons since in some cases we handle more than one case (e.g. SOF) -#define stbi__DNL(x) ((x) == 0xdc) -#define stbi__SOI(x) ((x) == 0xd8) -#define stbi__EOI(x) ((x) == 0xd9) -#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) -#define stbi__SOS(x) ((x) == 0xda) - -#define stbi__SOF_progressive(x) ((x) == 0xc2) - -static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) -{ - int m; - z->jfif = 0; - z->app14_color_transform = -1; // valid values are 0,1,2 - z->marker = STBI__MARKER_none; // initialize cached marker to empty - m = stbi__get_marker(z); - if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); - if (scan == STBI__SCAN_type) return 1; - m = stbi__get_marker(z); - while (!stbi__SOF(m)) { - if (!stbi__process_marker(z,m)) return 0; - m = stbi__get_marker(z); - while (m == STBI__MARKER_none) { - // some files have extra padding after their blocks, so ok, we'll scan - if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); - m = stbi__get_marker(z); - } - } - z->progressive = stbi__SOF_progressive(m); - if (!stbi__process_frame_header(z, scan)) return 0; - return 1; -} - -// decode image to YCbCr format -static int stbi__decode_jpeg_image(stbi__jpeg *j) -{ - int m; - for (m = 0; m < 4; m++) { - j->img_comp[m].raw_data = NULL; - j->img_comp[m].raw_coeff = NULL; - } - j->restart_interval = 0; - if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; - m = stbi__get_marker(j); - while (!stbi__EOI(m)) { - if (stbi__SOS(m)) { - if (!stbi__process_scan_header(j)) return 0; - if (!stbi__parse_entropy_coded_data(j)) return 0; - if (j->marker == STBI__MARKER_none ) { - // handle 0s at the end of image data from IP Kamera 9060 - while (!stbi__at_eof(j->s)) { - int x = stbi__get8(j->s); - if (x == 255) { - j->marker = stbi__get8(j->s); - break; - } - } - // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 - } - } else if (stbi__DNL(m)) { - int Ld = stbi__get16be(j->s); - stbi__uint32 NL = stbi__get16be(j->s); - if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); - if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); - } else { - if (!stbi__process_marker(j, m)) return 0; - } - m = stbi__get_marker(j); - } - if (j->progressive) - stbi__jpeg_finish(j); - return 1; -} - -// static jfif-centered resampling (across block boundaries) - -typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, - int w, int hs); - -#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) - -static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - STBI_NOTUSED(out); - STBI_NOTUSED(in_far); - STBI_NOTUSED(w); - STBI_NOTUSED(hs); - return in_near; -} - -static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples vertically for every one in input - int i; - STBI_NOTUSED(hs); - for (i=0; i < w; ++i) - out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); - return out; -} - -static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples horizontally for every one in input - int i; - stbi_uc *input = in_near; - - if (w == 1) { - // if only one sample, can't do any interpolation - out[0] = out[1] = input[0]; - return out; - } - - out[0] = input[0]; - out[1] = stbi__div4(input[0]*3 + input[1] + 2); - for (i=1; i < w-1; ++i) { - int n = 3*input[i]+2; - out[i*2+0] = stbi__div4(n+input[i-1]); - out[i*2+1] = stbi__div4(n+input[i+1]); - } - out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); - out[i*2+1] = input[w-1]; - - STBI_NOTUSED(in_far); - STBI_NOTUSED(hs); - - return out; -} - -#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) - -static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i,t0,t1; - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - out[0] = stbi__div4(t1+2); - for (i=1; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i=0,t0,t1; - - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - // process groups of 8 pixels for as long as we can. - // note we can't handle the last pixel in a row in this loop - // because we need to handle the filter boundary conditions. - for (; i < ((w-1) & ~7); i += 8) { -#if defined(STBI_SSE2) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - __m128i zero = _mm_setzero_si128(); - __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); - __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); - __m128i farw = _mm_unpacklo_epi8(farb, zero); - __m128i nearw = _mm_unpacklo_epi8(nearb, zero); - __m128i diff = _mm_sub_epi16(farw, nearw); - __m128i nears = _mm_slli_epi16(nearw, 2); - __m128i curr = _mm_add_epi16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - __m128i prv0 = _mm_slli_si128(curr, 2); - __m128i nxt0 = _mm_srli_si128(curr, 2); - __m128i prev = _mm_insert_epi16(prv0, t1, 0); - __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - __m128i bias = _mm_set1_epi16(8); - __m128i curs = _mm_slli_epi16(curr, 2); - __m128i prvd = _mm_sub_epi16(prev, curr); - __m128i nxtd = _mm_sub_epi16(next, curr); - __m128i curb = _mm_add_epi16(curs, bias); - __m128i even = _mm_add_epi16(prvd, curb); - __m128i odd = _mm_add_epi16(nxtd, curb); - - // interleave even and odd pixels, then undo scaling. - __m128i int0 = _mm_unpacklo_epi16(even, odd); - __m128i int1 = _mm_unpackhi_epi16(even, odd); - __m128i de0 = _mm_srli_epi16(int0, 4); - __m128i de1 = _mm_srli_epi16(int1, 4); - - // pack and write output - __m128i outv = _mm_packus_epi16(de0, de1); - _mm_storeu_si128((__m128i *) (out + i*2), outv); -#elif defined(STBI_NEON) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - uint8x8_t farb = vld1_u8(in_far + i); - uint8x8_t nearb = vld1_u8(in_near + i); - int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); - int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); - int16x8_t curr = vaddq_s16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - int16x8_t prv0 = vextq_s16(curr, curr, 7); - int16x8_t nxt0 = vextq_s16(curr, curr, 1); - int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); - int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - int16x8_t curs = vshlq_n_s16(curr, 2); - int16x8_t prvd = vsubq_s16(prev, curr); - int16x8_t nxtd = vsubq_s16(next, curr); - int16x8_t even = vaddq_s16(curs, prvd); - int16x8_t odd = vaddq_s16(curs, nxtd); - - // undo scaling and round, then store with even/odd phases interleaved - uint8x8x2_t o; - o.val[0] = vqrshrun_n_s16(even, 4); - o.val[1] = vqrshrun_n_s16(odd, 4); - vst2_u8(out + i*2, o); -#endif - - // "previous" value for next iter - t1 = 3*in_near[i+7] + in_far[i+7]; - } - - t0 = t1; - t1 = 3*in_near[i] + in_far[i]; - out[i*2] = stbi__div16(3*t1 + t0 + 8); - - for (++i; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} -#endif - -static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // resample with nearest-neighbor - int i,j; - STBI_NOTUSED(in_far); - for (i=0; i < w; ++i) - for (j=0; j < hs; ++j) - out[i*hs+j] = in_near[i]; - return out; -} - -// this is a reduced-precision calculation of YCbCr-to-RGB introduced -// to make sure the code produces the same results in both SIMD and scalar -#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) -{ - int i = 0; - -#ifdef STBI_SSE2 - // step == 3 is pretty ugly on the final interleave, and i'm not convinced - // it's useful in practice (you wouldn't use it for textures, for example). - // so just accelerate step == 4 case. - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - __m128i signflip = _mm_set1_epi8(-0x80); - __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); - __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); - __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); - __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); - __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); - __m128i xw = _mm_set1_epi16(255); // alpha channel - - for (; i+7 < count; i += 8) { - // load - __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); - __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); - __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); - __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 - __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 - - // unpack to short (and left-shift cr, cb by 8) - __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); - __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); - __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); - - // color transform - __m128i yws = _mm_srli_epi16(yw, 4); - __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); - __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); - __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); - __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); - __m128i rws = _mm_add_epi16(cr0, yws); - __m128i gwt = _mm_add_epi16(cb0, yws); - __m128i bws = _mm_add_epi16(yws, cb1); - __m128i gws = _mm_add_epi16(gwt, cr1); - - // descale - __m128i rw = _mm_srai_epi16(rws, 4); - __m128i bw = _mm_srai_epi16(bws, 4); - __m128i gw = _mm_srai_epi16(gws, 4); - - // back to byte, set up for transpose - __m128i brb = _mm_packus_epi16(rw, bw); - __m128i gxb = _mm_packus_epi16(gw, xw); - - // transpose to interleave channels - __m128i t0 = _mm_unpacklo_epi8(brb, gxb); - __m128i t1 = _mm_unpackhi_epi8(brb, gxb); - __m128i o0 = _mm_unpacklo_epi16(t0, t1); - __m128i o1 = _mm_unpackhi_epi16(t0, t1); - - // store - _mm_storeu_si128((__m128i *) (out + 0), o0); - _mm_storeu_si128((__m128i *) (out + 16), o1); - out += 32; - } - } -#endif - -#ifdef STBI_NEON - // in this version, step=3 support would be easy to add. but is there demand? - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - uint8x8_t signflip = vdup_n_u8(0x80); - int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); - int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); - int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); - int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); - - for (; i+7 < count; i += 8) { - // load - uint8x8_t y_bytes = vld1_u8(y + i); - uint8x8_t cr_bytes = vld1_u8(pcr + i); - uint8x8_t cb_bytes = vld1_u8(pcb + i); - int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); - int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); - - // expand to s16 - int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); - int16x8_t crw = vshll_n_s8(cr_biased, 7); - int16x8_t cbw = vshll_n_s8(cb_biased, 7); - - // color transform - int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); - int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); - int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); - int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); - int16x8_t rws = vaddq_s16(yws, cr0); - int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); - int16x8_t bws = vaddq_s16(yws, cb1); - - // undo scaling, round, convert to byte - uint8x8x4_t o; - o.val[0] = vqrshrun_n_s16(rws, 4); - o.val[1] = vqrshrun_n_s16(gws, 4); - o.val[2] = vqrshrun_n_s16(bws, 4); - o.val[3] = vdup_n_u8(255); - - // store, interleaving r/g/b/a - vst4_u8(out, o); - out += 8*4; - } - } -#endif - - for (; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#endif - -// set up the kernels -static void stbi__setup_jpeg(stbi__jpeg *j) -{ - j->idct_block_kernel = stbi__idct_block; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; - -#ifdef STBI_SSE2 - if (stbi__sse2_available()) { - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; - } -#endif - -#ifdef STBI_NEON - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; -#endif -} - -// clean up the temporary component buffers -static void stbi__cleanup_jpeg(stbi__jpeg *j) -{ - stbi__free_jpeg_components(j, j->s->img_n, 0); -} - -typedef struct -{ - resample_row_func resample; - stbi_uc *line0,*line1; - int hs,vs; // expansion factor in each axis - int w_lores; // horizontal pixels pre-expansion - int ystep; // how far through vertical expansion we are - int ypos; // which pre-expansion row we're on -} stbi__resample; - -// fast 0..255 * 0..255 => 0..255 rounded multiplication -static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) -{ - unsigned int t = x*y + 128; - return (stbi_uc) ((t + (t >>8)) >> 8); -} - -static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) -{ - int n, decode_n, is_rgb; - z->s->img_n = 0; // make stbi__cleanup_jpeg safe - - // validate req_comp - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - - // load a jpeg image from whichever source, but leave in YCbCr format - if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } - - // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; - - is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); - - if (z->s->img_n == 3 && n < 3 && !is_rgb) - decode_n = 1; - else - decode_n = z->s->img_n; - - // nothing to do if no components requested; check this now to avoid - // accessing uninitialized coutput[0] later - if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } - - // resample and color-convert - { - int k; - unsigned int i,j; - stbi_uc *output; - stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; - - stbi__resample res_comp[4]; - - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - - // allocate line buffer big enough for upsampling off the edges - // with upsample factor of 4 - z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); - if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - r->hs = z->img_h_max / z->img_comp[k].h; - r->vs = z->img_v_max / z->img_comp[k].v; - r->ystep = r->vs >> 1; - r->w_lores = (z->s->img_x + r->hs-1) / r->hs; - r->ypos = 0; - r->line0 = r->line1 = z->img_comp[k].data; - - if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; - else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; - else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; - else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; - else r->resample = stbi__resample_row_generic; - } - - // can't error after this so, this is safe - output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); - if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - // now go ahead and resample - for (j=0; j < z->s->img_y; ++j) { - stbi_uc *out = output + n * z->s->img_x * j; - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - int y_bot = r->ystep >= (r->vs >> 1); - coutput[k] = r->resample(z->img_comp[k].linebuf, - y_bot ? r->line1 : r->line0, - y_bot ? r->line0 : r->line1, - r->w_lores, r->hs); - if (++r->ystep >= r->vs) { - r->ystep = 0; - r->line0 = r->line1; - if (++r->ypos < z->img_comp[k].y) - r->line1 += z->img_comp[k].w2; - } - } - if (n >= 3) { - stbi_uc *y = coutput[0]; - if (z->s->img_n == 3) { - if (is_rgb) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = y[i]; - out[1] = coutput[1][i]; - out[2] = coutput[2][i]; - out[3] = 255; - out += n; - } - } else { - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else if (z->s->img_n == 4) { - if (z->app14_color_transform == 0) { // CMYK - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(coutput[0][i], m); - out[1] = stbi__blinn_8x8(coutput[1][i], m); - out[2] = stbi__blinn_8x8(coutput[2][i], m); - out[3] = 255; - out += n; - } - } else if (z->app14_color_transform == 2) { // YCCK - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(255 - out[0], m); - out[1] = stbi__blinn_8x8(255 - out[1], m); - out[2] = stbi__blinn_8x8(255 - out[2], m); - out += n; - } - } else { // YCbCr + alpha? Ignore the fourth channel for now - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else - for (i=0; i < z->s->img_x; ++i) { - out[0] = out[1] = out[2] = y[i]; - out[3] = 255; // not used if n==3 - out += n; - } - } else { - if (is_rgb) { - if (n == 1) - for (i=0; i < z->s->img_x; ++i) - *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - else { - for (i=0; i < z->s->img_x; ++i, out += 2) { - out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - out[1] = 255; - } - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); - stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); - stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); - out[0] = stbi__compute_y(r, g, b); - out[1] = 255; - out += n; - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); - out[1] = 255; - out += n; - } - } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) { *out++ = y[i]; *out++ = 255; } - } - } - } - stbi__cleanup_jpeg(z); - *out_x = z->s->img_x; - *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output - return output; - } -} - -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - unsigned char* result; - stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); - if (!j) return stbi__errpuc("outofmem", "Out of memory"); - STBI_NOTUSED(ri); - j->s = s; - stbi__setup_jpeg(j); - result = load_jpeg_image(j, x,y,comp,req_comp); - STBI_FREE(j); - return result; -} - -static int stbi__jpeg_test(stbi__context *s) -{ - int r; - stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); - if (!j) return stbi__err("outofmem", "Out of memory"); - j->s = s; - stbi__setup_jpeg(j); - r = stbi__decode_jpeg_header(j, STBI__SCAN_type); - stbi__rewind(s); - STBI_FREE(j); - return r; -} - -static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) -{ - if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { - stbi__rewind( j->s ); - return 0; - } - if (x) *x = j->s->img_x; - if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; - return 1; -} - -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) -{ - int result; - stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); - if (!j) return stbi__err("outofmem", "Out of memory"); - j->s = s; - result = stbi__jpeg_info_raw(j, x, y, comp); - STBI_FREE(j); - return result; -} -#endif - -// public domain zlib decode v0.2 Sean Barrett 2006-11-18 -// simple implementation -// - all input must be provided in an upfront buffer -// - all output is written to a single output buffer (can malloc/realloc) -// performance -// - fast huffman - -#ifndef STBI_NO_ZLIB - -// fast-way is faster to check than jpeg huffman, but slow way is slower -#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables -#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) -#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet - -// zlib-style huffman encoding -// (jpegs packs from left, zlib from right, so can't share code) -typedef struct -{ - stbi__uint16 fast[1 << STBI__ZFAST_BITS]; - stbi__uint16 firstcode[16]; - int maxcode[17]; - stbi__uint16 firstsymbol[16]; - stbi_uc size[STBI__ZNSYMS]; - stbi__uint16 value[STBI__ZNSYMS]; -} stbi__zhuffman; - -stbi_inline static int stbi__bitreverse16(int n) -{ - n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); - n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); - n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); - n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); - return n; -} - -stbi_inline static int stbi__bit_reverse(int v, int bits) -{ - STBI_ASSERT(bits <= 16); - // to bit reverse n bits, reverse 16 and shift - // e.g. 11 bits, bit reverse and shift away 5 - return stbi__bitreverse16(v) >> (16-bits); -} - -static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) -{ - int i,k=0; - int code, next_code[16], sizes[17]; - - // DEFLATE spec for generating codes - memset(sizes, 0, sizeof(sizes)); - memset(z->fast, 0, sizeof(z->fast)); - for (i=0; i < num; ++i) - ++sizes[sizelist[i]]; - sizes[0] = 0; - for (i=1; i < 16; ++i) - if (sizes[i] > (1 << i)) - return stbi__err("bad sizes", "Corrupt PNG"); - code = 0; - for (i=1; i < 16; ++i) { - next_code[i] = code; - z->firstcode[i] = (stbi__uint16) code; - z->firstsymbol[i] = (stbi__uint16) k; - code = (code + sizes[i]); - if (sizes[i]) - if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); - z->maxcode[i] = code << (16-i); // preshift for inner loop - code <<= 1; - k += sizes[i]; - } - z->maxcode[16] = 0x10000; // sentinel - for (i=0; i < num; ++i) { - int s = sizelist[i]; - if (s) { - int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; - stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); - z->size [c] = (stbi_uc ) s; - z->value[c] = (stbi__uint16) i; - if (s <= STBI__ZFAST_BITS) { - int j = stbi__bit_reverse(next_code[s],s); - while (j < (1 << STBI__ZFAST_BITS)) { - z->fast[j] = fastv; - j += (1 << s); - } - } - ++next_code[s]; - } - } - return 1; -} - -// zlib-from-memory implementation for PNG reading -// because PNG allows splitting the zlib stream arbitrarily, -// and it's annoying structurally to have PNG call ZLIB call PNG, -// we require PNG read all the IDATs and combine them into a single -// memory buffer - -typedef struct -{ - stbi_uc *zbuffer, *zbuffer_end; - int num_bits; - stbi__uint32 code_buffer; - - char *zout; - char *zout_start; - char *zout_end; - int z_expandable; - - stbi__zhuffman z_length, z_distance; -} stbi__zbuf; - -stbi_inline static int stbi__zeof(stbi__zbuf *z) -{ - return (z->zbuffer >= z->zbuffer_end); -} - -stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) -{ - return stbi__zeof(z) ? 0 : *z->zbuffer++; -} - -static void stbi__fill_bits(stbi__zbuf *z) -{ - do { - if (z->code_buffer >= (1U << z->num_bits)) { - z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ - return; - } - z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; - z->num_bits += 8; - } while (z->num_bits <= 24); -} - -stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) -{ - unsigned int k; - if (z->num_bits < n) stbi__fill_bits(z); - k = z->code_buffer & ((1 << n) - 1); - z->code_buffer >>= n; - z->num_bits -= n; - return k; -} - -static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s,k; - // not resolved by fast table, so compute it the slow way - // use jpeg approach, which requires MSbits at top - k = stbi__bit_reverse(a->code_buffer, 16); - for (s=STBI__ZFAST_BITS+1; ; ++s) - if (k < z->maxcode[s]) - break; - if (s >= 16) return -1; // invalid code! - // code size is s, so: - b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; - if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! - if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. - a->code_buffer >>= s; - a->num_bits -= s; - return z->value[b]; -} - -stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s; - if (a->num_bits < 16) { - if (stbi__zeof(a)) { - return -1; /* report error for unexpected end of data. */ - } - stbi__fill_bits(a); - } - b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; - if (b) { - s = b >> 9; - a->code_buffer >>= s; - a->num_bits -= s; - return b & 511; - } - return stbi__zhuffman_decode_slowpath(a, z); -} - -static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes -{ - char *q; - unsigned int cur, limit, old_limit; - z->zout = zout; - if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); - cur = (unsigned int) (z->zout - z->zout_start); - limit = old_limit = (unsigned) (z->zout_end - z->zout_start); - if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); - while (cur + n > limit) { - if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); - limit *= 2; - } - q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); - STBI_NOTUSED(old_limit); - if (q == NULL) return stbi__err("outofmem", "Out of memory"); - z->zout_start = q; - z->zout = q + cur; - z->zout_end = q + limit; - return 1; -} - -static const int stbi__zlength_base[31] = { - 3,4,5,6,7,8,9,10,11,13, - 15,17,19,23,27,31,35,43,51,59, - 67,83,99,115,131,163,195,227,258,0,0 }; - -static const int stbi__zlength_extra[31]= -{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; - -static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, -257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; - -static const int stbi__zdist_extra[32] = -{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -static int stbi__parse_huffman_block(stbi__zbuf *a) -{ - char *zout = a->zout; - for(;;) { - int z = stbi__zhuffman_decode(a, &a->z_length); - if (z < 256) { - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes - if (zout >= a->zout_end) { - if (!stbi__zexpand(a, zout, 1)) return 0; - zout = a->zout; - } - *zout++ = (char) z; - } else { - stbi_uc *p; - int len,dist; - if (z == 256) { - a->zout = zout; - return 1; - } - z -= 257; - len = stbi__zlength_base[z]; - if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); - z = stbi__zhuffman_decode(a, &a->z_distance); - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); - dist = stbi__zdist_base[z]; - if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); - if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); - if (zout + len > a->zout_end) { - if (!stbi__zexpand(a, zout, len)) return 0; - zout = a->zout; - } - p = (stbi_uc *) (zout - dist); - if (dist == 1) { // run of one byte; common in images. - stbi_uc v = *p; - if (len) { do *zout++ = v; while (--len); } - } else { - if (len) { do *zout++ = *p++; while (--len); } - } - } - } -} - -static int stbi__compute_huffman_codes(stbi__zbuf *a) -{ - static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; - stbi__zhuffman z_codelength; - stbi_uc lencodes[286+32+137];//padding for maximum single op - stbi_uc codelength_sizes[19]; - int i,n; - - int hlit = stbi__zreceive(a,5) + 257; - int hdist = stbi__zreceive(a,5) + 1; - int hclen = stbi__zreceive(a,4) + 4; - int ntot = hlit + hdist; - - memset(codelength_sizes, 0, sizeof(codelength_sizes)); - for (i=0; i < hclen; ++i) { - int s = stbi__zreceive(a,3); - codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; - } - if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; - - n = 0; - while (n < ntot) { - int c = stbi__zhuffman_decode(a, &z_codelength); - if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); - if (c < 16) - lencodes[n++] = (stbi_uc) c; - else { - stbi_uc fill = 0; - if (c == 16) { - c = stbi__zreceive(a,2)+3; - if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); - fill = lencodes[n-1]; - } else if (c == 17) { - c = stbi__zreceive(a,3)+3; - } else if (c == 18) { - c = stbi__zreceive(a,7)+11; - } else { - return stbi__err("bad codelengths", "Corrupt PNG"); - } - if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); - memset(lencodes+n, fill, c); - n += c; - } - } - if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); - if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; - return 1; -} - -static int stbi__parse_uncompressed_block(stbi__zbuf *a) -{ - stbi_uc header[4]; - int len,nlen,k; - if (a->num_bits & 7) - stbi__zreceive(a, a->num_bits & 7); // discard - // drain the bit-packed data into header - k = 0; - while (a->num_bits > 0) { - header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check - a->code_buffer >>= 8; - a->num_bits -= 8; - } - if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); - // now fill header the normal way - while (k < 4) - header[k++] = stbi__zget8(a); - len = header[1] * 256 + header[0]; - nlen = header[3] * 256 + header[2]; - if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); - if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); - if (a->zout + len > a->zout_end) - if (!stbi__zexpand(a, a->zout, len)) return 0; - memcpy(a->zout, a->zbuffer, len); - a->zbuffer += len; - a->zout += len; - return 1; -} - -static int stbi__parse_zlib_header(stbi__zbuf *a) -{ - int cmf = stbi__zget8(a); - int cm = cmf & 15; - /* int cinfo = cmf >> 4; */ - int flg = stbi__zget8(a); - if (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png - if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png - // window = 1 << (8 + cinfo)... but who cares, we fully buffer output - return 1; -} - -static const stbi_uc stbi__zdefault_length[STBI__ZNSYMS] = -{ - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 -}; -static const stbi_uc stbi__zdefault_distance[32] = -{ - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 -}; -/* -Init algorithm: -{ - int i; // use <= to match clearly with spec - for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; - for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; - for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; - for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; - - for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; -} -*/ - -static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) -{ - int final, type; - if (parse_header) - if (!stbi__parse_zlib_header(a)) return 0; - a->num_bits = 0; - a->code_buffer = 0; - do { - final = stbi__zreceive(a,1); - type = stbi__zreceive(a,2); - if (type == 0) { - if (!stbi__parse_uncompressed_block(a)) return 0; - } else if (type == 3) { - return 0; - } else { - if (type == 1) { - // use fixed code lengths - if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , STBI__ZNSYMS)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; - } else { - if (!stbi__compute_huffman_codes(a)) return 0; - } - if (!stbi__parse_huffman_block(a)) return 0; - } - } while (!final); - return 1; -} - -static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) -{ - a->zout_start = obuf; - a->zout = obuf; - a->zout_end = obuf + olen; - a->z_expandable = exp; - - return stbi__parse_zlib(a, parse_header); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) -{ - return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) - return (int) (a.zout - a.zout_start); - else - return -1; -} - -STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(16384); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer+len; - if (stbi__do_zlib(&a, p, 16384, 1, 0)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) - return (int) (a.zout - a.zout_start); - else - return -1; -} -#endif - -// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 -// simple implementation -// - only 8-bit samples -// - no CRC checking -// - allocates lots of intermediate memory -// - avoids problem of streaming data between subsystems -// - avoids explicit window management -// performance -// - uses stb_zlib, a PD zlib implementation with fast huffman decoding - -#ifndef STBI_NO_PNG -typedef struct -{ - stbi__uint32 length; - stbi__uint32 type; -} stbi__pngchunk; - -static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) -{ - stbi__pngchunk c; - c.length = stbi__get32be(s); - c.type = stbi__get32be(s); - return c; -} - -static int stbi__check_png_header(stbi__context *s) -{ - static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; - int i; - for (i=0; i < 8; ++i) - if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); - return 1; -} - -typedef struct -{ - stbi__context *s; - stbi_uc *idata, *expanded, *out; - int depth; -} stbi__png; - - -enum { - STBI__F_none=0, - STBI__F_sub=1, - STBI__F_up=2, - STBI__F_avg=3, - STBI__F_paeth=4, - // synthetic filters used for first scanline to avoid needing a dummy row of 0s - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static stbi_uc first_row_filter[5] = -{ - STBI__F_none, - STBI__F_sub, - STBI__F_none, - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static int stbi__paeth(int a, int b, int c) -{ - int p = a + b - c; - int pa = abs(p-a); - int pb = abs(p-b); - int pc = abs(p-c); - if (pa <= pb && pa <= pc) return a; - if (pb <= pc) return b; - return c; -} - -static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; - -// create the png data from post-deflated data -static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) -{ - int bytes = (depth == 16? 2 : 1); - stbi__context *s = a->s; - stbi__uint32 i,j,stride = x*out_n*bytes; - stbi__uint32 img_len, img_width_bytes; - int k; - int img_n = s->img_n; // copy it into a local for later - - int output_bytes = out_n*bytes; - int filter_bytes = img_n*bytes; - int width = x; - - STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into - if (!a->out) return stbi__err("outofmem", "Out of memory"); - - if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); - img_width_bytes = (((img_n * x * depth) + 7) >> 3); - img_len = (img_width_bytes + 1) * y; - - // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, - // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), - // so just check for raw_len < img_len always. - if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); - - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *prior; - int filter = *raw++; - - if (filter > 4) - return stbi__err("invalid filter","Corrupt PNG"); - - if (depth < 8) { - if (img_width_bytes > x) return stbi__err("invalid width","Corrupt PNG"); - cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place - filter_bytes = 1; - width = img_width_bytes; - } - prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above - - // if first row, use special filter that doesn't sample previous row - if (j == 0) filter = first_row_filter[filter]; - - // handle first byte explicitly - for (k=0; k < filter_bytes; ++k) { - switch (filter) { - case STBI__F_none : cur[k] = raw[k]; break; - case STBI__F_sub : cur[k] = raw[k]; break; - case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; - case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; - case STBI__F_avg_first : cur[k] = raw[k]; break; - case STBI__F_paeth_first: cur[k] = raw[k]; break; - } - } - - if (depth == 8) { - if (img_n != out_n) - cur[img_n] = 255; // first pixel - raw += img_n; - cur += out_n; - prior += out_n; - } else if (depth == 16) { - if (img_n != out_n) { - cur[filter_bytes] = 255; // first pixel top byte - cur[filter_bytes+1] = 255; // first pixel bottom byte - } - raw += filter_bytes; - cur += output_bytes; - prior += output_bytes; - } else { - raw += 1; - cur += 1; - prior += 1; - } - - // this is a little gross, so that we don't switch per-pixel or per-component - if (depth < 8 || img_n == out_n) { - int nk = (width - 1)*filter_bytes; - #define STBI__CASE(f) \ - case f: \ - for (k=0; k < nk; ++k) - switch (filter) { - // "none" filter turns into a memcpy here; make that explicit. - case STBI__F_none: memcpy(cur, raw, nk); break; - STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break; - STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; - STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break; - STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break; - STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break; - STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break; - } - #undef STBI__CASE - raw += nk; - } else { - STBI_ASSERT(img_n+1 == out_n); - #define STBI__CASE(f) \ - case f: \ - for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \ - for (k=0; k < filter_bytes; ++k) - switch (filter) { - STBI__CASE(STBI__F_none) { cur[k] = raw[k]; } break; - STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break; - STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; - STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break; - STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break; - STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break; - STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break; - } - #undef STBI__CASE - - // the loop above sets the high byte of the pixels' alpha, but for - // 16 bit png files we also need the low byte set. we'll do that here. - if (depth == 16) { - cur = a->out + stride*j; // start at the beginning of the row again - for (i=0; i < x; ++i,cur+=output_bytes) { - cur[filter_bytes+1] = 255; - } - } - } - } - - // we make a separate pass to expand bits to pixels; for performance, - // this could run two scanlines behind the above code, so it won't - // intefere with filtering but will still be in the cache. - if (depth < 8) { - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; - // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit - // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop - stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range - - // note that the final byte might overshoot and write more data than desired. - // we can allocate enough data that this never writes out of memory, but it - // could also overwrite the next scanline. can it overwrite non-empty data - // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. - // so we need to explicitly clamp the final ones - - if (depth == 4) { - for (k=x*img_n; k >= 2; k-=2, ++in) { - *cur++ = scale * ((*in >> 4) ); - *cur++ = scale * ((*in ) & 0x0f); - } - if (k > 0) *cur++ = scale * ((*in >> 4) ); - } else if (depth == 2) { - for (k=x*img_n; k >= 4; k-=4, ++in) { - *cur++ = scale * ((*in >> 6) ); - *cur++ = scale * ((*in >> 4) & 0x03); - *cur++ = scale * ((*in >> 2) & 0x03); - *cur++ = scale * ((*in ) & 0x03); - } - if (k > 0) *cur++ = scale * ((*in >> 6) ); - if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); - if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); - } else if (depth == 1) { - for (k=x*img_n; k >= 8; k-=8, ++in) { - *cur++ = scale * ((*in >> 7) ); - *cur++ = scale * ((*in >> 6) & 0x01); - *cur++ = scale * ((*in >> 5) & 0x01); - *cur++ = scale * ((*in >> 4) & 0x01); - *cur++ = scale * ((*in >> 3) & 0x01); - *cur++ = scale * ((*in >> 2) & 0x01); - *cur++ = scale * ((*in >> 1) & 0x01); - *cur++ = scale * ((*in ) & 0x01); - } - if (k > 0) *cur++ = scale * ((*in >> 7) ); - if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); - if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); - if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); - if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); - if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); - if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); - } - if (img_n != out_n) { - int q; - // insert alpha = 255 - cur = a->out + stride*j; - if (img_n == 1) { - for (q=x-1; q >= 0; --q) { - cur[q*2+1] = 255; - cur[q*2+0] = cur[q]; - } - } else { - STBI_ASSERT(img_n == 3); - for (q=x-1; q >= 0; --q) { - cur[q*4+3] = 255; - cur[q*4+2] = cur[q*3+2]; - cur[q*4+1] = cur[q*3+1]; - cur[q*4+0] = cur[q*3+0]; - } - } - } - } - } else if (depth == 16) { - // force the image data from big-endian to platform-native. - // this is done in a separate pass due to the decoding relying - // on the data being untouched, but could probably be done - // per-line during decode if care is taken. - stbi_uc *cur = a->out; - stbi__uint16 *cur16 = (stbi__uint16*)cur; - - for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) { - *cur16 = (cur[0] << 8) | cur[1]; - } - } - - return 1; -} - -static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) -{ - int bytes = (depth == 16 ? 2 : 1); - int out_bytes = out_n * bytes; - stbi_uc *final; - int p; - if (!interlaced) - return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); - - // de-interlacing - final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); - if (!final) return stbi__err("outofmem", "Out of memory"); - for (p=0; p < 7; ++p) { - int xorig[] = { 0,4,0,2,0,1,0 }; - int yorig[] = { 0,0,4,0,2,0,1 }; - int xspc[] = { 8,8,4,4,2,2,1 }; - int yspc[] = { 8,8,8,4,4,2,2 }; - int i,j,x,y; - // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 - x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; - y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; - if (x && y) { - stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; - if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { - STBI_FREE(final); - return 0; - } - for (j=0; j < y; ++j) { - for (i=0; i < x; ++i) { - int out_y = j*yspc[p]+yorig[p]; - int out_x = i*xspc[p]+xorig[p]; - memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, - a->out + (j*x+i)*out_bytes, out_bytes); - } - } - STBI_FREE(a->out); - image_data += img_len; - image_data_len -= img_len; - } - } - a->out = final; - - return 1; -} - -static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - // compute color-based transparency, assuming we've - // already got 255 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i=0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 255); - p += 2; - } - } else { - for (i=0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi__uint16 *p = (stbi__uint16*) z->out; - - // compute color-based transparency, assuming we've - // already got 65535 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i = 0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 65535); - p += 2; - } - } else { - for (i = 0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) -{ - stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; - stbi_uc *p, *temp_out, *orig = a->out; - - p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); - if (p == NULL) return stbi__err("outofmem", "Out of memory"); - - // between here and free(out) below, exitting would leak - temp_out = p; - - if (pal_img_n == 3) { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p += 3; - } - } else { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p[3] = palette[n+3]; - p += 4; - } - } - STBI_FREE(a->out); - a->out = temp_out; - - STBI_NOTUSED(len); - - return 1; -} - -static int stbi__unpremultiply_on_load_global = 0; -static int stbi__de_iphone_flag_global = 0; - -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag_global = flag_true_if_should_convert; -} - -#ifndef STBI_THREAD_LOCAL -#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global -#define stbi__de_iphone_flag stbi__de_iphone_flag_global -#else -static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; -static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; - -STBIDEF void stbi__unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; - stbi__unpremultiply_on_load_set = 1; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag_local = flag_true_if_should_convert; - stbi__de_iphone_flag_set = 1; -} - -#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ - ? stbi__unpremultiply_on_load_local \ - : stbi__unpremultiply_on_load_global) -#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ - ? stbi__de_iphone_flag_local \ - : stbi__de_iphone_flag_global) -#endif // STBI_THREAD_LOCAL - -static void stbi__de_iphone(stbi__png *z) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - if (s->img_out_n == 3) { // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 3; - } - } else { - STBI_ASSERT(s->img_out_n == 4); - if (stbi__unpremultiply_on_load) { - // convert bgr to rgb and unpremultiply - for (i=0; i < pixel_count; ++i) { - stbi_uc a = p[3]; - stbi_uc t = p[0]; - if (a) { - stbi_uc half = a / 2; - p[0] = (p[2] * 255 + half) / a; - p[1] = (p[1] * 255 + half) / a; - p[2] = ( t * 255 + half) / a; - } else { - p[0] = p[2]; - p[2] = t; - } - p += 4; - } - } else { - // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 4; - } - } - } -} - -#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) - -static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) -{ - stbi_uc palette[1024], pal_img_n=0; - stbi_uc has_trans=0, tc[3]={0}; - stbi__uint16 tc16[3]; - stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; - int first=1,k,interlace=0, color=0, is_iphone=0; - stbi__context *s = z->s; - - z->expanded = NULL; - z->idata = NULL; - z->out = NULL; - - if (!stbi__check_png_header(s)) return 0; - - if (scan == STBI__SCAN_type) return 1; - - for (;;) { - stbi__pngchunk c = stbi__get_chunk_header(s); - switch (c.type) { - case STBI__PNG_TYPE('C','g','B','I'): - is_iphone = 1; - stbi__skip(s, c.length); - break; - case STBI__PNG_TYPE('I','H','D','R'): { - int comp,filter; - if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); - first = 0; - if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); - s->img_x = stbi__get32be(s); - s->img_y = stbi__get32be(s); - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); - color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); - comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); - filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); - interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); - if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); - if (!pal_img_n) { - s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - if (scan == STBI__SCAN_header) return 1; - } else { - // if paletted, then pal_n is our final components, and - // img_n is # components to decompress/filter. - s->img_n = 1; - if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); - // if SCAN_header, have to scan to see if we have a tRNS - } - break; - } - - case STBI__PNG_TYPE('P','L','T','E'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); - pal_len = c.length / 3; - if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); - for (i=0; i < pal_len; ++i) { - palette[i*4+0] = stbi__get8(s); - palette[i*4+1] = stbi__get8(s); - palette[i*4+2] = stbi__get8(s); - palette[i*4+3] = 255; - } - break; - } - - case STBI__PNG_TYPE('t','R','N','S'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); - if (pal_img_n) { - if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } - if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); - if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); - pal_img_n = 4; - for (i=0; i < c.length; ++i) - palette[i*4+3] = stbi__get8(s); - } else { - if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); - if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); - has_trans = 1; - if (z->depth == 16) { - for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is - } else { - for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger - } - } - break; - } - - case STBI__PNG_TYPE('I','D','A','T'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); - if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } - if ((int)(ioff + c.length) < (int)ioff) return 0; - if (ioff + c.length > idata_limit) { - stbi__uint32 idata_limit_old = idata_limit; - stbi_uc *p; - if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; - while (ioff + c.length > idata_limit) - idata_limit *= 2; - STBI_NOTUSED(idata_limit_old); - p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); - z->idata = p; - } - if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); - ioff += c.length; - break; - } - - case STBI__PNG_TYPE('I','E','N','D'): { - stbi__uint32 raw_len, bpl; - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (scan != STBI__SCAN_load) return 1; - if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); - // initial guess for decoded data size to avoid unnecessary reallocs - bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component - raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; - z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); - if (z->expanded == NULL) return 0; // zlib should set error - STBI_FREE(z->idata); z->idata = NULL; - if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) - s->img_out_n = s->img_n+1; - else - s->img_out_n = s->img_n; - if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; - if (has_trans) { - if (z->depth == 16) { - if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; - } else { - if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; - } - } - if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) - stbi__de_iphone(z); - if (pal_img_n) { - // pal_img_n == 3 or 4 - s->img_n = pal_img_n; // record the actual colors we had - s->img_out_n = pal_img_n; - if (req_comp >= 3) s->img_out_n = req_comp; - if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - return 0; - } else if (has_trans) { - // non-paletted image with tRNS -> source image has (constant) alpha - ++s->img_n; - } - STBI_FREE(z->expanded); z->expanded = NULL; - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - return 1; - } - - default: - // if critical, fail - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if ((c.type & (1 << 29)) == 0) { - #ifndef STBI_NO_FAILURE_STRINGS - // not threadsafe - static char invalid_chunk[] = "XXXX PNG chunk not known"; - invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); - invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); - invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); - invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); - #endif - return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); - } - stbi__skip(s, c.length); - break; - } - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - } -} - -static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) -{ - void *result=NULL; - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { - if (p->depth <= 8) - ri->bits_per_channel = 8; - else if (p->depth == 16) - ri->bits_per_channel = 16; - else - return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color depth"); - result = p->out; - p->out = NULL; - if (req_comp && req_comp != p->s->img_out_n) { - if (ri->bits_per_channel == 8) - result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - else - result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - p->s->img_out_n = req_comp; - if (result == NULL) return result; - } - *x = p->s->img_x; - *y = p->s->img_y; - if (n) *n = p->s->img_n; - } - STBI_FREE(p->out); p->out = NULL; - STBI_FREE(p->expanded); p->expanded = NULL; - STBI_FREE(p->idata); p->idata = NULL; - - return result; -} - -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi__png p; - p.s = s; - return stbi__do_png(&p, x,y,comp,req_comp, ri); -} - -static int stbi__png_test(stbi__context *s) -{ - int r; - r = stbi__check_png_header(s); - stbi__rewind(s); - return r; -} - -static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) -{ - if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { - stbi__rewind( p->s ); - return 0; - } - if (x) *x = p->s->img_x; - if (y) *y = p->s->img_y; - if (comp) *comp = p->s->img_n; - return 1; -} - -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__png p; - p.s = s; - return stbi__png_info_raw(&p, x, y, comp); -} - -static int stbi__png_is16(stbi__context *s) -{ - stbi__png p; - p.s = s; - if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) - return 0; - if (p.depth != 16) { - stbi__rewind(p.s); - return 0; - } - return 1; -} -#endif - -// Microsoft/Windows BMP image - -#ifndef STBI_NO_BMP -static int stbi__bmp_test_raw(stbi__context *s) -{ - int r; - int sz; - if (stbi__get8(s) != 'B') return 0; - if (stbi__get8(s) != 'M') return 0; - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - stbi__get32le(s); // discard data offset - sz = stbi__get32le(s); - r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); - return r; -} - -static int stbi__bmp_test(stbi__context *s) -{ - int r = stbi__bmp_test_raw(s); - stbi__rewind(s); - return r; -} - - -// returns 0..31 for the highest set bit -static int stbi__high_bit(unsigned int z) -{ - int n=0; - if (z == 0) return -1; - if (z >= 0x10000) { n += 16; z >>= 16; } - if (z >= 0x00100) { n += 8; z >>= 8; } - if (z >= 0x00010) { n += 4; z >>= 4; } - if (z >= 0x00004) { n += 2; z >>= 2; } - if (z >= 0x00002) { n += 1;/* >>= 1;*/ } - return n; -} - -static int stbi__bitcount(unsigned int a) -{ - a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 - a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 - a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits - a = (a + (a >> 8)); // max 16 per 8 bits - a = (a + (a >> 16)); // max 32 per 8 bits - return a & 0xff; -} - -// extract an arbitrarily-aligned N-bit value (N=bits) -// from v, and then make it 8-bits long and fractionally -// extend it to full full range. -static int stbi__shiftsigned(unsigned int v, int shift, int bits) -{ - static unsigned int mul_table[9] = { - 0, - 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, - 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, - }; - static unsigned int shift_table[9] = { - 0, 0,0,1,0,2,4,6,0, - }; - if (shift < 0) - v <<= -shift; - else - v >>= shift; - STBI_ASSERT(v < 256); - v >>= (8-bits); - STBI_ASSERT(bits >= 0 && bits <= 8); - return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; -} - -typedef struct -{ - int bpp, offset, hsz; - unsigned int mr,mg,mb,ma, all_a; - int extra_read; -} stbi__bmp_data; - -static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) -{ - // BI_BITFIELDS specifies masks explicitly, don't override - if (compress == 3) - return 1; - - if (compress == 0) { - if (info->bpp == 16) { - info->mr = 31u << 10; - info->mg = 31u << 5; - info->mb = 31u << 0; - } else if (info->bpp == 32) { - info->mr = 0xffu << 16; - info->mg = 0xffu << 8; - info->mb = 0xffu << 0; - info->ma = 0xffu << 24; - info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 - } else { - // otherwise, use defaults, which is all-0 - info->mr = info->mg = info->mb = info->ma = 0; - } - return 1; - } - return 0; // error -} - -static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) -{ - int hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - info->offset = stbi__get32le(s); - info->hsz = hsz = stbi__get32le(s); - info->mr = info->mg = info->mb = info->ma = 0; - info->extra_read = 14; - - if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); - - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); - if (hsz == 12) { - s->img_x = stbi__get16le(s); - s->img_y = stbi__get16le(s); - } else { - s->img_x = stbi__get32le(s); - s->img_y = stbi__get32le(s); - } - if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); - info->bpp = stbi__get16le(s); - if (hsz != 12) { - int compress = stbi__get32le(s); - if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); - if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes - if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel - stbi__get32le(s); // discard sizeof - stbi__get32le(s); // discard hres - stbi__get32le(s); // discard vres - stbi__get32le(s); // discard colorsused - stbi__get32le(s); // discard max important - if (hsz == 40 || hsz == 56) { - if (hsz == 56) { - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - } - if (info->bpp == 16 || info->bpp == 32) { - if (compress == 0) { - stbi__bmp_set_mask_defaults(info, compress); - } else if (compress == 3) { - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - info->extra_read += 12; - // not documented, but generated by photoshop and handled by mspaint - if (info->mr == info->mg && info->mg == info->mb) { - // ?!?!? - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else { - // V4/V5 header - int i; - if (hsz != 108 && hsz != 124) - return stbi__errpuc("bad BMP", "bad BMP"); - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - info->ma = stbi__get32le(s); - if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs - stbi__bmp_set_mask_defaults(info, compress); - stbi__get32le(s); // discard color space - for (i=0; i < 12; ++i) - stbi__get32le(s); // discard color space parameters - if (hsz == 124) { - stbi__get32le(s); // discard rendering intent - stbi__get32le(s); // discard offset of profile data - stbi__get32le(s); // discard size of profile data - stbi__get32le(s); // discard reserved - } - } - } - return (void *) 1; -} - - -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - unsigned int mr=0,mg=0,mb=0,ma=0, all_a; - stbi_uc pal[256][4]; - int psize=0,i,j,width; - int flip_vertically, pad, target; - stbi__bmp_data info; - STBI_NOTUSED(ri); - - info.all_a = 255; - if (stbi__bmp_parse_header(s, &info) == NULL) - return NULL; // error code already set - - flip_vertically = ((int) s->img_y) > 0; - s->img_y = abs((int) s->img_y); - - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - mr = info.mr; - mg = info.mg; - mb = info.mb; - ma = info.ma; - all_a = info.all_a; - - if (info.hsz == 12) { - if (info.bpp < 24) - psize = (info.offset - info.extra_read - 24) / 3; - } else { - if (info.bpp < 16) - psize = (info.offset - info.extra_read - info.hsz) >> 2; - } - if (psize == 0) { - if (info.offset != s->callback_already_read + (s->img_buffer - s->img_buffer_original)) { - return stbi__errpuc("bad offset", "Corrupt BMP"); - } - } - - if (info.bpp == 24 && ma == 0xff000000) - s->img_n = 3; - else - s->img_n = ma ? 4 : 3; - if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 - target = req_comp; - else - target = s->img_n; // if they want monochrome, we'll post-convert - - // sanity-check size - if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) - return stbi__errpuc("too large", "Corrupt BMP"); - - out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (info.bpp < 16) { - int z=0; - if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } - for (i=0; i < psize; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - if (info.hsz != 12) stbi__get8(s); - pal[i][3] = 255; - } - stbi__skip(s, info.offset - info.extra_read - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); - if (info.bpp == 1) width = (s->img_x + 7) >> 3; - else if (info.bpp == 4) width = (s->img_x + 1) >> 1; - else if (info.bpp == 8) width = s->img_x; - else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } - pad = (-width)&3; - if (info.bpp == 1) { - for (j=0; j < (int) s->img_y; ++j) { - int bit_offset = 7, v = stbi__get8(s); - for (i=0; i < (int) s->img_x; ++i) { - int color = (v>>bit_offset)&0x1; - out[z++] = pal[color][0]; - out[z++] = pal[color][1]; - out[z++] = pal[color][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - if((--bit_offset) < 0) { - bit_offset = 7; - v = stbi__get8(s); - } - } - stbi__skip(s, pad); - } - } else { - for (j=0; j < (int) s->img_y; ++j) { - for (i=0; i < (int) s->img_x; i += 2) { - int v=stbi__get8(s),v2=0; - if (info.bpp == 4) { - v2 = v & 15; - v >>= 4; - } - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - v = (info.bpp == 8) ? stbi__get8(s) : v2; - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - } - stbi__skip(s, pad); - } - } - } else { - int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; - int z = 0; - int easy=0; - stbi__skip(s, info.offset - info.extra_read - info.hsz); - if (info.bpp == 24) width = 3 * s->img_x; - else if (info.bpp == 16) width = 2*s->img_x; - else /* bpp = 32 and pad = 0 */ width=0; - pad = (-width) & 3; - if (info.bpp == 24) { - easy = 1; - } else if (info.bpp == 32) { - if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) - easy = 2; - } - if (!easy) { - if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - // right shift amt to put high bit in position #7 - rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); - gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); - bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); - ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); - if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - } - for (j=0; j < (int) s->img_y; ++j) { - if (easy) { - for (i=0; i < (int) s->img_x; ++i) { - unsigned char a; - out[z+2] = stbi__get8(s); - out[z+1] = stbi__get8(s); - out[z+0] = stbi__get8(s); - z += 3; - a = (easy == 2 ? stbi__get8(s) : 255); - all_a |= a; - if (target == 4) out[z++] = a; - } - } else { - int bpp = info.bpp; - for (i=0; i < (int) s->img_x; ++i) { - stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); - unsigned int a; - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); - a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); - all_a |= a; - if (target == 4) out[z++] = STBI__BYTECAST(a); - } - } - stbi__skip(s, pad); - } - } - - // if alpha channel is all 0s, replace with all 255s - if (target == 4 && all_a == 0) - for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) - out[i] = 255; - - if (flip_vertically) { - stbi_uc t; - for (j=0; j < (int) s->img_y>>1; ++j) { - stbi_uc *p1 = out + j *s->img_x*target; - stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; - for (i=0; i < (int) s->img_x*target; ++i) { - t = p1[i]; p1[i] = p2[i]; p2[i] = t; - } - } - } - - if (req_comp && req_comp != target) { - out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - return out; -} -#endif - -// Targa Truevision - TGA -// by Jonathan Dummer -#ifndef STBI_NO_TGA -// returns STBI_rgb or whatever, 0 on error -static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) -{ - // only RGB or RGBA (incl. 16bit) or grey allowed - if (is_rgb16) *is_rgb16 = 0; - switch(bits_per_pixel) { - case 8: return STBI_grey; - case 16: if(is_grey) return STBI_grey_alpha; - // fallthrough - case 15: if(is_rgb16) *is_rgb16 = 1; - return STBI_rgb; - case 24: // fallthrough - case 32: return bits_per_pixel/8; - default: return 0; - } -} - -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) -{ - int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; - int sz, tga_colormap_type; - stbi__get8(s); // discard Offset - tga_colormap_type = stbi__get8(s); // colormap type - if( tga_colormap_type > 1 ) { - stbi__rewind(s); - return 0; // only RGB or indexed allowed - } - tga_image_type = stbi__get8(s); // image type - if ( tga_colormap_type == 1 ) { // colormapped (paletted) image - if (tga_image_type != 1 && tga_image_type != 9) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip image x and y origin - tga_colormap_bpp = sz; - } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE - if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { - stbi__rewind(s); - return 0; // only RGB or grey allowed, +/- RLE - } - stbi__skip(s,9); // skip colormap specification and image x/y origin - tga_colormap_bpp = 0; - } - tga_w = stbi__get16le(s); - if( tga_w < 1 ) { - stbi__rewind(s); - return 0; // test width - } - tga_h = stbi__get16le(s); - if( tga_h < 1 ) { - stbi__rewind(s); - return 0; // test height - } - tga_bits_per_pixel = stbi__get8(s); // bits per pixel - stbi__get8(s); // ignore alpha bits - if (tga_colormap_bpp != 0) { - if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { - // when using a colormap, tga_bits_per_pixel is the size of the indexes - // I don't think anything but 8 or 16bit indexes makes sense - stbi__rewind(s); - return 0; - } - tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); - } else { - tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); - } - if(!tga_comp) { - stbi__rewind(s); - return 0; - } - if (x) *x = tga_w; - if (y) *y = tga_h; - if (comp) *comp = tga_comp; - return 1; // seems to have passed everything -} - -static int stbi__tga_test(stbi__context *s) -{ - int res = 0; - int sz, tga_color_type; - stbi__get8(s); // discard Offset - tga_color_type = stbi__get8(s); // color type - if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed - sz = stbi__get8(s); // image type - if ( tga_color_type == 1 ) { // colormapped (paletted) image - if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - stbi__skip(s,4); // skip image x and y origin - } else { // "normal" image w/o colormap - if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE - stbi__skip(s,9); // skip colormap specification and image x/y origin - } - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height - sz = stbi__get8(s); // bits per pixel - if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - - res = 1; // if we got this far, everything's good and we can return 1 instead of 0 - -errorEnd: - stbi__rewind(s); - return res; -} - -// read 16bit value and convert to 24bit RGB -static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) -{ - stbi__uint16 px = (stbi__uint16)stbi__get16le(s); - stbi__uint16 fiveBitMask = 31; - // we have 3 channels with 5bits each - int r = (px >> 10) & fiveBitMask; - int g = (px >> 5) & fiveBitMask; - int b = px & fiveBitMask; - // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later - out[0] = (stbi_uc)((r * 255)/31); - out[1] = (stbi_uc)((g * 255)/31); - out[2] = (stbi_uc)((b * 255)/31); - - // some people claim that the most significant bit might be used for alpha - // (possibly if an alpha-bit is set in the "image descriptor byte") - // but that only made 16bit test images completely translucent.. - // so let's treat all 15 and 16bit TGAs as RGB with no alpha. -} - -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - // read in the TGA header stuff - int tga_offset = stbi__get8(s); - int tga_indexed = stbi__get8(s); - int tga_image_type = stbi__get8(s); - int tga_is_RLE = 0; - int tga_palette_start = stbi__get16le(s); - int tga_palette_len = stbi__get16le(s); - int tga_palette_bits = stbi__get8(s); - int tga_x_origin = stbi__get16le(s); - int tga_y_origin = stbi__get16le(s); - int tga_width = stbi__get16le(s); - int tga_height = stbi__get16le(s); - int tga_bits_per_pixel = stbi__get8(s); - int tga_comp, tga_rgb16=0; - int tga_inverted = stbi__get8(s); - // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) - // image data - unsigned char *tga_data; - unsigned char *tga_palette = NULL; - int i, j; - unsigned char raw_data[4] = {0}; - int RLE_count = 0; - int RLE_repeating = 0; - int read_next_pixel = 1; - STBI_NOTUSED(ri); - STBI_NOTUSED(tga_x_origin); // @TODO - STBI_NOTUSED(tga_y_origin); // @TODO - - if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - // do a tiny bit of precessing - if ( tga_image_type >= 8 ) - { - tga_image_type -= 8; - tga_is_RLE = 1; - } - tga_inverted = 1 - ((tga_inverted >> 5) & 1); - - // If I'm paletted, then I'll use the number of bits from the palette - if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); - else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); - - if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency - return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); - - // tga info - *x = tga_width; - *y = tga_height; - if (comp) *comp = tga_comp; - - if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) - return stbi__errpuc("too large", "Corrupt TGA"); - - tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); - if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); - - // skip to the data's starting position (offset usually = 0) - stbi__skip(s, tga_offset ); - - if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { - for (i=0; i < tga_height; ++i) { - int row = tga_inverted ? tga_height -i - 1 : i; - stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; - stbi__getn(s, tga_row, tga_width * tga_comp); - } - } else { - // do I need to load a palette? - if ( tga_indexed) - { - if (tga_palette_len == 0) { /* you have to have at least one entry! */ - STBI_FREE(tga_data); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - - // any data to skip? (offset usually = 0) - stbi__skip(s, tga_palette_start ); - // load the palette - tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); - if (!tga_palette) { - STBI_FREE(tga_data); - return stbi__errpuc("outofmem", "Out of memory"); - } - if (tga_rgb16) { - stbi_uc *pal_entry = tga_palette; - STBI_ASSERT(tga_comp == STBI_rgb); - for (i=0; i < tga_palette_len; ++i) { - stbi__tga_read_rgb16(s, pal_entry); - pal_entry += tga_comp; - } - } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { - STBI_FREE(tga_data); - STBI_FREE(tga_palette); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - } - // load the data - for (i=0; i < tga_width * tga_height; ++i) - { - // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? - if ( tga_is_RLE ) - { - if ( RLE_count == 0 ) - { - // yep, get the next byte as a RLE command - int RLE_cmd = stbi__get8(s); - RLE_count = 1 + (RLE_cmd & 127); - RLE_repeating = RLE_cmd >> 7; - read_next_pixel = 1; - } else if ( !RLE_repeating ) - { - read_next_pixel = 1; - } - } else - { - read_next_pixel = 1; - } - // OK, if I need to read a pixel, do it now - if ( read_next_pixel ) - { - // load however much data we did have - if ( tga_indexed ) - { - // read in index, then perform the lookup - int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); - if ( pal_idx >= tga_palette_len ) { - // invalid index - pal_idx = 0; - } - pal_idx *= tga_comp; - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = tga_palette[pal_idx+j]; - } - } else if(tga_rgb16) { - STBI_ASSERT(tga_comp == STBI_rgb); - stbi__tga_read_rgb16(s, raw_data); - } else { - // read in the data raw - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = stbi__get8(s); - } - } - // clear the reading flag for the next pixel - read_next_pixel = 0; - } // end of reading a pixel - - // copy data - for (j = 0; j < tga_comp; ++j) - tga_data[i*tga_comp+j] = raw_data[j]; - - // in case we're in RLE mode, keep counting down - --RLE_count; - } - // do I need to invert the image? - if ( tga_inverted ) - { - for (j = 0; j*2 < tga_height; ++j) - { - int index1 = j * tga_width * tga_comp; - int index2 = (tga_height - 1 - j) * tga_width * tga_comp; - for (i = tga_width * tga_comp; i > 0; --i) - { - unsigned char temp = tga_data[index1]; - tga_data[index1] = tga_data[index2]; - tga_data[index2] = temp; - ++index1; - ++index2; - } - } - } - // clear my palette, if I had one - if ( tga_palette != NULL ) - { - STBI_FREE( tga_palette ); - } - } - - // swap RGB - if the source data was RGB16, it already is in the right order - if (tga_comp >= 3 && !tga_rgb16) - { - unsigned char* tga_pixel = tga_data; - for (i=0; i < tga_width * tga_height; ++i) - { - unsigned char temp = tga_pixel[0]; - tga_pixel[0] = tga_pixel[2]; - tga_pixel[2] = temp; - tga_pixel += tga_comp; - } - } - - // convert to target component count - if (req_comp && req_comp != tga_comp) - tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); - - // the things I do to get rid of an error message, and yet keep - // Microsoft's C compilers happy... [8^( - tga_palette_start = tga_palette_len = tga_palette_bits = - tga_x_origin = tga_y_origin = 0; - STBI_NOTUSED(tga_palette_start); - // OK, done - return tga_data; -} -#endif - -// ************************************************************************************************* -// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s) -{ - int r = (stbi__get32be(s) == 0x38425053); - stbi__rewind(s); - return r; -} - -static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) -{ - int count, nleft, len; - - count = 0; - while ((nleft = pixelCount - count) > 0) { - len = stbi__get8(s); - if (len == 128) { - // No-op. - } else if (len < 128) { - // Copy next len+1 bytes literally. - len++; - if (len > nleft) return 0; // corrupt data - count += len; - while (len) { - *p = stbi__get8(s); - p += 4; - len--; - } - } else if (len > 128) { - stbi_uc val; - // Next -len+1 bytes in the dest are replicated from next source byte. - // (Interpret len as a negative 8-bit int.) - len = 257 - len; - if (len > nleft) return 0; // corrupt data - val = stbi__get8(s); - count += len; - while (len) { - *p = val; - p += 4; - len--; - } - } - } - - return 1; -} - -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) -{ - int pixelCount; - int channelCount, compression; - int channel, i; - int bitdepth; - int w,h; - stbi_uc *out; - STBI_NOTUSED(ri); - - // Check identifier - if (stbi__get32be(s) != 0x38425053) // "8BPS" - return stbi__errpuc("not PSD", "Corrupt PSD image"); - - // Check file type version. - if (stbi__get16be(s) != 1) - return stbi__errpuc("wrong version", "Unsupported version of PSD image"); - - // Skip 6 reserved bytes. - stbi__skip(s, 6 ); - - // Read the number of channels (R, G, B, A, etc). - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) - return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); - - // Read the rows and columns of the image. - h = stbi__get32be(s); - w = stbi__get32be(s); - - if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - // Make sure the depth is 8 bits. - bitdepth = stbi__get16be(s); - if (bitdepth != 8 && bitdepth != 16) - return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); - - // Make sure the color mode is RGB. - // Valid options are: - // 0: Bitmap - // 1: Grayscale - // 2: Indexed color - // 3: RGB color - // 4: CMYK color - // 7: Multichannel - // 8: Duotone - // 9: Lab color - if (stbi__get16be(s) != 3) - return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); - - // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) - stbi__skip(s,stbi__get32be(s) ); - - // Skip the image resources. (resolution, pen tool paths, etc) - stbi__skip(s, stbi__get32be(s) ); - - // Skip the reserved data. - stbi__skip(s, stbi__get32be(s) ); - - // Find out if the data is compressed. - // Known values: - // 0: no compression - // 1: RLE compressed - compression = stbi__get16be(s); - if (compression > 1) - return stbi__errpuc("bad compression", "PSD has an unknown compression format"); - - // Check size - if (!stbi__mad3sizes_valid(4, w, h, 0)) - return stbi__errpuc("too large", "Corrupt PSD"); - - // Create the destination image. - - if (!compression && bitdepth == 16 && bpc == 16) { - out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); - ri->bits_per_channel = 16; - } else - out = (stbi_uc *) stbi__malloc(4 * w*h); - - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - pixelCount = w*h; - - // Initialize the data to zero. - //memset( out, 0, pixelCount * 4 ); - - // Finally, the image data. - if (compression) { - // RLE as used by .PSD and .TIFF - // Loop until you get the number of unpacked bytes you are expecting: - // Read the next source byte into n. - // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. - // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. - // Else if n is 128, noop. - // Endloop - - // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, - // which we're going to just skip. - stbi__skip(s, h * channelCount * 2 ); - - // Read the RLE data by channel. - for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out+channel; - if (channel >= channelCount) { - // Fill this channel with default data. - for (i = 0; i < pixelCount; i++, p += 4) - *p = (channel == 3 ? 255 : 0); - } else { - // Read the RLE data. - if (!stbi__psd_decode_rle(s, p, pixelCount)) { - STBI_FREE(out); - return stbi__errpuc("corrupt", "bad RLE data"); - } - } - } - - } else { - // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) - // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. - - // Read the data by channel. - for (channel = 0; channel < 4; channel++) { - if (channel >= channelCount) { - // Fill this channel with default data. - if (bitdepth == 16 && bpc == 16) { - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - stbi__uint16 val = channel == 3 ? 65535 : 0; - for (i = 0; i < pixelCount; i++, q += 4) - *q = val; - } else { - stbi_uc *p = out+channel; - stbi_uc val = channel == 3 ? 255 : 0; - for (i = 0; i < pixelCount; i++, p += 4) - *p = val; - } - } else { - if (ri->bits_per_channel == 16) { // output bpc - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - for (i = 0; i < pixelCount; i++, q += 4) - *q = (stbi__uint16) stbi__get16be(s); - } else { - stbi_uc *p = out+channel; - if (bitdepth == 16) { // input bpc - for (i = 0; i < pixelCount; i++, p += 4) - *p = (stbi_uc) (stbi__get16be(s) >> 8); - } else { - for (i = 0; i < pixelCount; i++, p += 4) - *p = stbi__get8(s); - } - } - } - } - } - - // remove weird white matte from PSD - if (channelCount >= 4) { - if (ri->bits_per_channel == 16) { - for (i=0; i < w*h; ++i) { - stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; - if (pixel[3] != 0 && pixel[3] != 65535) { - float a = pixel[3] / 65535.0f; - float ra = 1.0f / a; - float inv_a = 65535.0f * (1 - ra); - pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); - pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); - pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); - } - } - } else { - for (i=0; i < w*h; ++i) { - unsigned char *pixel = out + 4*i; - if (pixel[3] != 0 && pixel[3] != 255) { - float a = pixel[3] / 255.0f; - float ra = 1.0f / a; - float inv_a = 255.0f * (1 - ra); - pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); - pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); - pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); - } - } - } - } - - // convert to desired output format - if (req_comp && req_comp != 4) { - if (ri->bits_per_channel == 16) - out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); - else - out = stbi__convert_format(out, 4, req_comp, w, h); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - if (comp) *comp = 4; - *y = h; - *x = w; - - return out; -} -#endif - -// ************************************************************************************************* -// Softimage PIC loader -// by Tom Seddon -// -// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format -// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ - -#ifndef STBI_NO_PIC -static int stbi__pic_is4(stbi__context *s,const char *str) -{ - int i; - for (i=0; i<4; ++i) - if (stbi__get8(s) != (stbi_uc)str[i]) - return 0; - - return 1; -} - -static int stbi__pic_test_core(stbi__context *s) -{ - int i; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) - return 0; - - for(i=0;i<84;++i) - stbi__get8(s); - - if (!stbi__pic_is4(s,"PICT")) - return 0; - - return 1; -} - -typedef struct -{ - stbi_uc size,type,channel; -} stbi__pic_packet; - -static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) -{ - int mask=0x80, i; - - for (i=0; i<4; ++i, mask>>=1) { - if (channel & mask) { - if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); - dest[i]=stbi__get8(s); - } - } - - return dest; -} - -static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) -{ - int mask=0x80,i; - - for (i=0;i<4; ++i, mask>>=1) - if (channel&mask) - dest[i]=src[i]; -} - -static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) -{ - int act_comp=0,num_packets=0,y,chained; - stbi__pic_packet packets[10]; - - // this will (should...) cater for even some bizarre stuff like having data - // for the same channel in multiple packets. - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return stbi__errpuc("bad format","too many packets"); - - packet = &packets[num_packets++]; - - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - - act_comp |= packet->channel; - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); - if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? - - for(y=0; ytype) { - default: - return stbi__errpuc("bad format","packet has bad compression type"); - - case 0: {//uncompressed - int x; - - for(x=0;xchannel,dest)) - return 0; - break; - } - - case 1://Pure RLE - { - int left=width, i; - - while (left>0) { - stbi_uc count,value[4]; - - count=stbi__get8(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); - - if (count > left) - count = (stbi_uc) left; - - if (!stbi__readval(s,packet->channel,value)) return 0; - - for(i=0; ichannel,dest,value); - left -= count; - } - } - break; - - case 2: {//Mixed RLE - int left=width; - while (left>0) { - int count = stbi__get8(s), i; - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); - - if (count >= 128) { // Repeated - stbi_uc value[4]; - - if (count==128) - count = stbi__get16be(s); - else - count -= 127; - if (count > left) - return stbi__errpuc("bad file","scanline overrun"); - - if (!stbi__readval(s,packet->channel,value)) - return 0; - - for(i=0;ichannel,dest,value); - } else { // Raw - ++count; - if (count>left) return stbi__errpuc("bad file","scanline overrun"); - - for(i=0;ichannel,dest)) - return 0; - } - left-=count; - } - break; - } - } - } - } - - return result; -} - -static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) -{ - stbi_uc *result; - int i, x,y, internal_comp; - STBI_NOTUSED(ri); - - if (!comp) comp = &internal_comp; - - for (i=0; i<92; ++i) - stbi__get8(s); - - x = stbi__get16be(s); - y = stbi__get16be(s); - - if (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); - if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); - - stbi__get32be(s); //skip `ratio' - stbi__get16be(s); //skip `fields' - stbi__get16be(s); //skip `pad' - - // intermediate buffer is RGBA - result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); - if (!result) return stbi__errpuc("outofmem", "Out of memory"); - memset(result, 0xff, x*y*4); - - if (!stbi__pic_load_core(s,x,y,comp, result)) { - STBI_FREE(result); - result=0; - } - *px = x; - *py = y; - if (req_comp == 0) req_comp = *comp; - result=stbi__convert_format(result,4,req_comp,x,y); - - return result; -} - -static int stbi__pic_test(stbi__context *s) -{ - int r = stbi__pic_test_core(s); - stbi__rewind(s); - return r; -} -#endif - -// ************************************************************************************************* -// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb - -#ifndef STBI_NO_GIF -typedef struct -{ - stbi__int16 prefix; - stbi_uc first; - stbi_uc suffix; -} stbi__gif_lzw; - -typedef struct -{ - int w,h; - stbi_uc *out; // output buffer (always 4 components) - stbi_uc *background; // The current "background" as far as a gif is concerned - stbi_uc *history; - int flags, bgindex, ratio, transparent, eflags; - stbi_uc pal[256][4]; - stbi_uc lpal[256][4]; - stbi__gif_lzw codes[8192]; - stbi_uc *color_table; - int parse, step; - int lflags; - int start_x, start_y; - int max_x, max_y; - int cur_x, cur_y; - int line_size; - int delay; -} stbi__gif; - -static int stbi__gif_test_raw(stbi__context *s) -{ - int sz; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; - sz = stbi__get8(s); - if (sz != '9' && sz != '7') return 0; - if (stbi__get8(s) != 'a') return 0; - return 1; -} - -static int stbi__gif_test(stbi__context *s) -{ - int r = stbi__gif_test_raw(s); - stbi__rewind(s); - return r; -} - -static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) -{ - int i; - for (i=0; i < num_entries; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - pal[i][3] = transp == i ? 0 : 255; - } -} - -static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) -{ - stbi_uc version; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') - return stbi__err("not GIF", "Corrupt GIF"); - - version = stbi__get8(s); - if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); - if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); - - stbi__g_failure_reason = ""; - g->w = stbi__get16le(s); - g->h = stbi__get16le(s); - g->flags = stbi__get8(s); - g->bgindex = stbi__get8(s); - g->ratio = stbi__get8(s); - g->transparent = -1; - - if (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - - if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments - - if (is_info) return 1; - - if (g->flags & 0x80) - stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); - - return 1; -} - -static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); - if (!g) return stbi__err("outofmem", "Out of memory"); - if (!stbi__gif_header(s, g, comp, 1)) { - STBI_FREE(g); - stbi__rewind( s ); - return 0; - } - if (x) *x = g->w; - if (y) *y = g->h; - STBI_FREE(g); - return 1; -} - -static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) -{ - stbi_uc *p, *c; - int idx; - - // recurse to decode the prefixes, since the linked-list is backwards, - // and working backwards through an interleaved image would be nasty - if (g->codes[code].prefix >= 0) - stbi__out_gif_code(g, g->codes[code].prefix); - - if (g->cur_y >= g->max_y) return; - - idx = g->cur_x + g->cur_y; - p = &g->out[idx]; - g->history[idx / 4] = 1; - - c = &g->color_table[g->codes[code].suffix * 4]; - if (c[3] > 128) { // don't render transparent pixels; - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } - g->cur_x += 4; - - if (g->cur_x >= g->max_x) { - g->cur_x = g->start_x; - g->cur_y += g->step; - - while (g->cur_y >= g->max_y && g->parse > 0) { - g->step = (1 << g->parse) * g->line_size; - g->cur_y = g->start_y + (g->step >> 1); - --g->parse; - } - } -} - -static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) -{ - stbi_uc lzw_cs; - stbi__int32 len, init_code; - stbi__uint32 first; - stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; - stbi__gif_lzw *p; - - lzw_cs = stbi__get8(s); - if (lzw_cs > 12) return NULL; - clear = 1 << lzw_cs; - first = 1; - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - bits = 0; - valid_bits = 0; - for (init_code = 0; init_code < clear; init_code++) { - g->codes[init_code].prefix = -1; - g->codes[init_code].first = (stbi_uc) init_code; - g->codes[init_code].suffix = (stbi_uc) init_code; - } - - // support no starting clear code - avail = clear+2; - oldcode = -1; - - len = 0; - for(;;) { - if (valid_bits < codesize) { - if (len == 0) { - len = stbi__get8(s); // start new block - if (len == 0) - return g->out; - } - --len; - bits |= (stbi__int32) stbi__get8(s) << valid_bits; - valid_bits += 8; - } else { - stbi__int32 code = bits & codemask; - bits >>= codesize; - valid_bits -= codesize; - // @OPTIMIZE: is there some way we can accelerate the non-clear path? - if (code == clear) { // clear code - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - avail = clear + 2; - oldcode = -1; - first = 0; - } else if (code == clear + 1) { // end of stream code - stbi__skip(s, len); - while ((len = stbi__get8(s)) > 0) - stbi__skip(s,len); - return g->out; - } else if (code <= avail) { - if (first) { - return stbi__errpuc("no clear code", "Corrupt GIF"); - } - - if (oldcode >= 0) { - p = &g->codes[avail++]; - if (avail > 8192) { - return stbi__errpuc("too many codes", "Corrupt GIF"); - } - - p->prefix = (stbi__int16) oldcode; - p->first = g->codes[oldcode].first; - p->suffix = (code == avail) ? p->first : g->codes[code].first; - } else if (code == avail) - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - - stbi__out_gif_code(g, (stbi__uint16) code); - - if ((avail & codemask) == 0 && avail <= 0x0FFF) { - codesize++; - codemask = (1 << codesize) - 1; - } - - oldcode = code; - } else { - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - } - } - } -} - -// this function is designed to support animated gifs, although stb_image doesn't support it -// two back is the image from two frames ago, used for a very specific disposal format -static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) -{ - int dispose; - int first_frame; - int pi; - int pcount; - STBI_NOTUSED(req_comp); - - // on first frame, any non-written pixels get the background colour (non-transparent) - first_frame = 0; - if (g->out == 0) { - if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header - if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) - return stbi__errpuc("too large", "GIF image is too large"); - pcount = g->w * g->h; - g->out = (stbi_uc *) stbi__malloc(4 * pcount); - g->background = (stbi_uc *) stbi__malloc(4 * pcount); - g->history = (stbi_uc *) stbi__malloc(pcount); - if (!g->out || !g->background || !g->history) - return stbi__errpuc("outofmem", "Out of memory"); - - // image is treated as "transparent" at the start - ie, nothing overwrites the current background; - // background colour is only used for pixels that are not rendered first frame, after that "background" - // color refers to the color that was there the previous frame. - memset(g->out, 0x00, 4 * pcount); - memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) - memset(g->history, 0x00, pcount); // pixels that were affected previous frame - first_frame = 1; - } else { - // second frame - how do we dispose of the previous one? - dispose = (g->eflags & 0x1C) >> 2; - pcount = g->w * g->h; - - if ((dispose == 3) && (two_back == 0)) { - dispose = 2; // if I don't have an image to revert back to, default to the old background - } - - if (dispose == 3) { // use previous graphic - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); - } - } - } else if (dispose == 2) { - // restore what was changed last frame to background before that frame; - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); - } - } - } else { - // This is a non-disposal case eithe way, so just - // leave the pixels as is, and they will become the new background - // 1: do not dispose - // 0: not specified. - } - - // background is what out is after the undoing of the previou frame; - memcpy( g->background, g->out, 4 * g->w * g->h ); - } - - // clear my history; - memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame - - for (;;) { - int tag = stbi__get8(s); - switch (tag) { - case 0x2C: /* Image Descriptor */ - { - stbi__int32 x, y, w, h; - stbi_uc *o; - - x = stbi__get16le(s); - y = stbi__get16le(s); - w = stbi__get16le(s); - h = stbi__get16le(s); - if (((x + w) > (g->w)) || ((y + h) > (g->h))) - return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); - - g->line_size = g->w * 4; - g->start_x = x * 4; - g->start_y = y * g->line_size; - g->max_x = g->start_x + w * 4; - g->max_y = g->start_y + h * g->line_size; - g->cur_x = g->start_x; - g->cur_y = g->start_y; - - // if the width of the specified rectangle is 0, that means - // we may not see *any* pixels or the image is malformed; - // to make sure this is caught, move the current y down to - // max_y (which is what out_gif_code checks). - if (w == 0) - g->cur_y = g->max_y; - - g->lflags = stbi__get8(s); - - if (g->lflags & 0x40) { - g->step = 8 * g->line_size; // first interlaced spacing - g->parse = 3; - } else { - g->step = g->line_size; - g->parse = 0; - } - - if (g->lflags & 0x80) { - stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); - g->color_table = (stbi_uc *) g->lpal; - } else if (g->flags & 0x80) { - g->color_table = (stbi_uc *) g->pal; - } else - return stbi__errpuc("missing color table", "Corrupt GIF"); - - o = stbi__process_gif_raster(s, g); - if (!o) return NULL; - - // if this was the first frame, - pcount = g->w * g->h; - if (first_frame && (g->bgindex > 0)) { - // if first frame, any pixel not drawn to gets the background color - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi] == 0) { - g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; - memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); - } - } - } - - return o; - } - - case 0x21: // Comment Extension. - { - int len; - int ext = stbi__get8(s); - if (ext == 0xF9) { // Graphic Control Extension. - len = stbi__get8(s); - if (len == 4) { - g->eflags = stbi__get8(s); - g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. - - // unset old transparent - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 255; - } - if (g->eflags & 0x01) { - g->transparent = stbi__get8(s); - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 0; - } - } else { - // don't need transparent - stbi__skip(s, 1); - g->transparent = -1; - } - } else { - stbi__skip(s, len); - break; - } - } - while ((len = stbi__get8(s)) != 0) { - stbi__skip(s, len); - } - break; - } - - case 0x3B: // gif stream termination code - return (stbi_uc *) s; // using '1' causes warning on some compilers - - default: - return stbi__errpuc("unknown code", "Corrupt GIF"); - } - } -} - -static void *stbi__load_gif_main_outofmem(stbi__gif *g, stbi_uc *out, int **delays) -{ - STBI_FREE(g->out); - STBI_FREE(g->history); - STBI_FREE(g->background); - - if (out) STBI_FREE(out); - if (delays && *delays) STBI_FREE(*delays); - return stbi__errpuc("outofmem", "Out of memory"); -} - -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - if (stbi__gif_test(s)) { - int layers = 0; - stbi_uc *u = 0; - stbi_uc *out = 0; - stbi_uc *two_back = 0; - stbi__gif g; - int stride; - int out_size = 0; - int delays_size = 0; - - STBI_NOTUSED(out_size); - STBI_NOTUSED(delays_size); - - memset(&g, 0, sizeof(g)); - if (delays) { - *delays = 0; - } - - do { - u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - - if (u) { - *x = g.w; - *y = g.h; - ++layers; - stride = g.w * g.h * 4; - - if (out) { - void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); - if (!tmp) - return stbi__load_gif_main_outofmem(&g, out, delays); - else { - out = (stbi_uc*) tmp; - out_size = layers * stride; - } - - if (delays) { - int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); - if (!new_delays) - return stbi__load_gif_main_outofmem(&g, out, delays); - *delays = new_delays; - delays_size = layers * sizeof(int); - } - } else { - out = (stbi_uc*)stbi__malloc( layers * stride ); - if (!out) - return stbi__load_gif_main_outofmem(&g, out, delays); - out_size = layers * stride; - if (delays) { - *delays = (int*) stbi__malloc( layers * sizeof(int) ); - if (!*delays) - return stbi__load_gif_main_outofmem(&g, out, delays); - delays_size = layers * sizeof(int); - } - } - memcpy( out + ((layers - 1) * stride), u, stride ); - if (layers >= 2) { - two_back = out - 2 * stride; - } - - if (delays) { - (*delays)[layers - 1U] = g.delay; - } - } - } while (u != 0); - - // free temp buffer; - STBI_FREE(g.out); - STBI_FREE(g.history); - STBI_FREE(g.background); - - // do the final conversion after loading everything; - if (req_comp && req_comp != 4) - out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); - - *z = layers; - return out; - } else { - return stbi__errpuc("not GIF", "Image was not as a gif type."); - } -} - -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *u = 0; - stbi__gif g; - memset(&g, 0, sizeof(g)); - STBI_NOTUSED(ri); - - u = stbi__gif_load_next(s, &g, comp, req_comp, 0); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - if (u) { - *x = g.w; - *y = g.h; - - // moved conversion to after successful load so that the same - // can be done for multiple frames. - if (req_comp && req_comp != 4) - u = stbi__convert_format(u, 4, req_comp, g.w, g.h); - } else if (g.out) { - // if there was an error and we allocated an image buffer, free it! - STBI_FREE(g.out); - } - - // free buffers needed for multiple frame loading; - STBI_FREE(g.history); - STBI_FREE(g.background); - - return u; -} - -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) -{ - return stbi__gif_info_raw(s,x,y,comp); -} -#endif - -// ************************************************************************************************* -// Radiance RGBE HDR loader -// originally by Nicolas Schulz -#ifndef STBI_NO_HDR -static int stbi__hdr_test_core(stbi__context *s, const char *signature) -{ - int i; - for (i=0; signature[i]; ++i) - if (stbi__get8(s) != signature[i]) - return 0; - stbi__rewind(s); - return 1; -} - -static int stbi__hdr_test(stbi__context* s) -{ - int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); - stbi__rewind(s); - if(!r) { - r = stbi__hdr_test_core(s, "#?RGBE\n"); - stbi__rewind(s); - } - return r; -} - -#define STBI__HDR_BUFLEN 1024 -static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) -{ - int len=0; - char c = '\0'; - - c = (char) stbi__get8(z); - - while (!stbi__at_eof(z) && c != '\n') { - buffer[len++] = c; - if (len == STBI__HDR_BUFLEN-1) { - // flush to end of line - while (!stbi__at_eof(z) && stbi__get8(z) != '\n') - ; - break; - } - c = (char) stbi__get8(z); - } - - buffer[len] = 0; - return buffer; -} - -static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) -{ - if ( input[3] != 0 ) { - float f1; - // Exponent - f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); - if (req_comp <= 2) - output[0] = (input[0] + input[1] + input[2]) * f1 / 3; - else { - output[0] = input[0] * f1; - output[1] = input[1] * f1; - output[2] = input[2] * f1; - } - if (req_comp == 2) output[1] = 1; - if (req_comp == 4) output[3] = 1; - } else { - switch (req_comp) { - case 4: output[3] = 1; /* fallthrough */ - case 3: output[0] = output[1] = output[2] = 0; - break; - case 2: output[1] = 1; /* fallthrough */ - case 1: output[0] = 0; - break; - } - } -} - -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int width, height; - stbi_uc *scanline; - float *hdr_data; - int len; - unsigned char count, value; - int i, j, k, c1,c2, z; - const char *headerToken; - STBI_NOTUSED(ri); - - // Check identifier - headerToken = stbi__hdr_gettoken(s,buffer); - if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) - return stbi__errpf("not HDR", "Corrupt HDR image"); - - // Parse header - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); - - // Parse width and height - // can't use sscanf() if we're not using stdio! - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - height = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - width = (int) strtol(token, NULL, 10); - - if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); - if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); - - *x = width; - *y = height; - - if (comp) *comp = 3; - if (req_comp == 0) req_comp = 3; - - if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) - return stbi__errpf("too large", "HDR image is too large"); - - // Read data - hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); - if (!hdr_data) - return stbi__errpf("outofmem", "Out of memory"); - - // Load image data - // image data is stored as some number of sca - if ( width < 8 || width >= 32768) { - // Read flat data - for (j=0; j < height; ++j) { - for (i=0; i < width; ++i) { - stbi_uc rgbe[4]; - main_decode_loop: - stbi__getn(s, rgbe, 4); - stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); - } - } - } else { - // Read RLE-encoded data - scanline = NULL; - - for (j = 0; j < height; ++j) { - c1 = stbi__get8(s); - c2 = stbi__get8(s); - len = stbi__get8(s); - if (c1 != 2 || c2 != 2 || (len & 0x80)) { - // not run-length encoded, so we have to actually use THIS data as a decoded - // pixel (note this can't be a valid pixel--one of RGB must be >= 128) - stbi_uc rgbe[4]; - rgbe[0] = (stbi_uc) c1; - rgbe[1] = (stbi_uc) c2; - rgbe[2] = (stbi_uc) len; - rgbe[3] = (stbi_uc) stbi__get8(s); - stbi__hdr_convert(hdr_data, rgbe, req_comp); - i = 1; - j = 0; - STBI_FREE(scanline); - goto main_decode_loop; // yes, this makes no sense - } - len <<= 8; - len |= stbi__get8(s); - if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } - if (scanline == NULL) { - scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); - if (!scanline) { - STBI_FREE(hdr_data); - return stbi__errpf("outofmem", "Out of memory"); - } - } - - for (k = 0; k < 4; ++k) { - int nleft; - i = 0; - while ((nleft = width - i) > 0) { - count = stbi__get8(s); - if (count > 128) { - // Run - value = stbi__get8(s); - count -= 128; - if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = value; - } else { - // Dump - if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = stbi__get8(s); - } - } - } - for (i=0; i < width; ++i) - stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); - } - if (scanline) - STBI_FREE(scanline); - } - - return hdr_data; -} - -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int dummy; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (stbi__hdr_test(s) == 0) { - stbi__rewind( s ); - return 0; - } - - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) { - stbi__rewind( s ); - return 0; - } - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *y = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *x = (int) strtol(token, NULL, 10); - *comp = 3; - return 1; -} -#endif // STBI_NO_HDR - -#ifndef STBI_NO_BMP -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) -{ - void *p; - stbi__bmp_data info; - - info.all_a = 255; - p = stbi__bmp_parse_header(s, &info); - if (p == NULL) { - stbi__rewind( s ); - return 0; - } - if (x) *x = s->img_x; - if (y) *y = s->img_y; - if (comp) { - if (info.bpp == 24 && info.ma == 0xff000000) - *comp = 3; - else - *comp = info.ma ? 4 : 3; - } - return 1; -} -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) -{ - int channelCount, dummy, depth; - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - *y = stbi__get32be(s); - *x = stbi__get32be(s); - depth = stbi__get16be(s); - if (depth != 8 && depth != 16) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 3) { - stbi__rewind( s ); - return 0; - } - *comp = 4; - return 1; -} - -static int stbi__psd_is16(stbi__context *s) -{ - int channelCount, depth; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - STBI_NOTUSED(stbi__get32be(s)); - STBI_NOTUSED(stbi__get32be(s)); - depth = stbi__get16be(s); - if (depth != 16) { - stbi__rewind( s ); - return 0; - } - return 1; -} -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) -{ - int act_comp=0,num_packets=0,chained,dummy; - stbi__pic_packet packets[10]; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { - stbi__rewind(s); - return 0; - } - - stbi__skip(s, 88); - - *x = stbi__get16be(s); - *y = stbi__get16be(s); - if (stbi__at_eof(s)) { - stbi__rewind( s); - return 0; - } - if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { - stbi__rewind( s ); - return 0; - } - - stbi__skip(s, 8); - - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return 0; - - packet = &packets[num_packets++]; - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - act_comp |= packet->channel; - - if (stbi__at_eof(s)) { - stbi__rewind( s ); - return 0; - } - if (packet->size != 8) { - stbi__rewind( s ); - return 0; - } - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); - - return 1; -} -#endif - -// ************************************************************************************************* -// Portable Gray Map and Portable Pixel Map loader -// by Ken Miller -// -// PGM: http://netpbm.sourceforge.net/doc/pgm.html -// PPM: http://netpbm.sourceforge.net/doc/ppm.html -// -// Known limitations: -// Does not support comments in the header section -// Does not support ASCII image data (formats P2 and P3) - -#ifndef STBI_NO_PNM - -static int stbi__pnm_test(stbi__context *s) -{ - char p, t; - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); - return 0; - } - return 1; -} - -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - STBI_NOTUSED(ri); - - ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); - if (ri->bits_per_channel == 0) - return 0; - - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - - if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) - return stbi__errpuc("too large", "PNM too large"); - - out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8)); - - if (req_comp && req_comp != s->img_n) { - out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - return out; -} - -static int stbi__pnm_isspace(char c) -{ - return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; -} - -static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) -{ - for (;;) { - while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - *c = (char) stbi__get8(s); - - if (stbi__at_eof(s) || *c != '#') - break; - - while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) - *c = (char) stbi__get8(s); - } -} - -static int stbi__pnm_isdigit(char c) -{ - return c >= '0' && c <= '9'; -} - -static int stbi__pnm_getinteger(stbi__context *s, char *c) -{ - int value = 0; - - while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { - value = value*10 + (*c - '0'); - *c = (char) stbi__get8(s); - } - - return value; -} - -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) -{ - int maxv, dummy; - char c, p, t; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - stbi__rewind(s); - - // Get identifier - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind(s); - return 0; - } - - *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm - - c = (char) stbi__get8(s); - stbi__pnm_skip_whitespace(s, &c); - - *x = stbi__pnm_getinteger(s, &c); // read width - stbi__pnm_skip_whitespace(s, &c); - - *y = stbi__pnm_getinteger(s, &c); // read height - stbi__pnm_skip_whitespace(s, &c); - - maxv = stbi__pnm_getinteger(s, &c); // read max value - if (maxv > 65535) - return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); - else if (maxv > 255) - return 16; - else - return 8; -} - -static int stbi__pnm_is16(stbi__context *s) -{ - if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) - return 1; - return 0; -} -#endif - -static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) -{ - #ifndef STBI_NO_JPEG - if (stbi__jpeg_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNG - if (stbi__png_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_GIF - if (stbi__gif_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_BMP - if (stbi__bmp_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PIC - if (stbi__pic_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_info(s, x, y, comp)) return 1; - #endif - - // test tga last because it's a crappy test! - #ifndef STBI_NO_TGA - if (stbi__tga_info(s, x, y, comp)) - return 1; - #endif - return stbi__err("unknown image type", "Image not of any known type, or corrupt"); -} - -static int stbi__is_16_main(stbi__context *s) -{ - #ifndef STBI_NO_PNG - if (stbi__png_is16(s)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_is16(s)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_is16(s)) return 1; - #endif - return 0; -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_info_from_file(f, x, y, comp); - fclose(f); - return result; -} - -STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__info_main(&s,x,y,comp); - fseek(f,pos,SEEK_SET); - return r; -} - -STBIDEF int stbi_is_16_bit(char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_is_16_bit_from_file(f); - fclose(f); - return result; -} - -STBIDEF int stbi_is_16_bit_from_file(FILE *f) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__is_16_main(&s); - fseek(f,pos,SEEK_SET); - return r; -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__is_16_main(&s); -} - -STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__is_16_main(&s); -} diff --git a/Dependencies/stb_image/stb_image.h b/Dependencies/stb_image/stb_image.h deleted file mode 100644 index 6a70904..0000000 --- a/Dependencies/stb_image/stb_image.h +++ /dev/null @@ -1,541 +0,0 @@ - -/* stb_image - v2.27 - public domain image loader - http://nothings.org/stb - no warranty implied; use at your own risk - - Do this: - #define STB_IMAGE_IMPLEMENTATION - before you include this file in *one* C or C++ file to create the implementation. - - // i.e. it should look like this: - #include ... - #include ... - #include ... - #define STB_IMAGE_IMPLEMENTATION - #include "stb_image.h" - - You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. - And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free - - - QUICK NOTES: - Primarily of interest to game developers and other people who can - avoid problematic images and only need the trivial interface - - JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) - PNG 1/2/4/8/16-bit-per-channel - - TGA (not sure what subset, if a subset) - BMP non-1bpp, non-RLE - PSD (composited view only, no extra channels, 8/16 bit-per-channel) - - GIF (*comp always reports as 4-channel) - HDR (radiance rgbE format) - PIC (Softimage PIC) - PNM (PPM and PGM binary only) - - Animated GIF still needs a proper API, but here's one way to do it: - http://gist.github.com/urraka/685d9a6340b26b830d49 - - - decode from memory or through FILE (define STBI_NO_STDIO to remove code) - - decode from arbitrary I/O callbacks - - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) - - Full documentation under "DOCUMENTATION" below. - - -LICENSE - - See end of file for license information. - -RECENT REVISION HISTORY: - - 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes - 2.26 (2020-07-13) many minor fixes - 2.25 (2020-02-02) fix warnings - 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically - 2.23 (2019-08-11) fix clang static analysis warning - 2.22 (2019-03-04) gif fixes, fix warnings - 2.21 (2019-02-25) fix typo in comment - 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs - 2.19 (2018-02-11) fix warning - 2.18 (2018-01-30) fix warnings - 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings - 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes - 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC - 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs - 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes - 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes - 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 - RGB-format JPEG; remove white matting in PSD; - allocate large structures on the stack; - correct channel count for PNG & BMP - 2.10 (2016-01-22) avoid warning introduced in 2.09 - 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED - - See end of file for full revision history. - - - ============================ Contributors ========================= - - Image formats Extensions, features - Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) - Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) - Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) - Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) - Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) - Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) - Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) - github:urraka (animated gif) Junggon Kim (PNM comments) - Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) - socks-the-fox (16-bit PNG) - Jeremy Sawicki (handle all ImageNet JPGs) - Optimizations & bugfixes Mikhail Morozov (1-bit BMP) - Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) - Arseny Kapoulkine Simon Breuss (16-bit PNM) - John-Mark Allen - Carmelo J Fdez-Aguera - - Bug & warning fixes - Marc LeBlanc David Woo Guillaume George Martins Mozeiko - Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski - Phil Jordan Dave Moore Roy Eltham - Hayaki Saito Nathan Reed Won Chun - Luke Graham Johan Duparc Nick Verigakis the Horde3D community - Thomas Ruf Ronny Chevalier github:rlyeh - Janez Zemva John Bartholomew Michal Cichon github:romigrou - Jonathan Blow Ken Hamada Tero Hanninen github:svdijk - Eugene Golushkov Laurent Gomila Cort Stratton github:snagar - Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex - Cass Everitt Ryamond Barbiero github:grim210 - Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw - Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus - Josh Tobin Matthew Gregan github:poppolopoppo - Julian Raschke Gregory Mullen Christian Floisand github:darealshinji - Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007 - Brad Weinberger Matvey Cherevko github:mosra - Luca Sas Alexander Veselov Zack Middleton [reserved] - Ryan C. Gordon [reserved] [reserved] - DO NOT ADD YOUR NAME HERE - - Jacko Dirks - - To add your name to the credits, pick a random blank space in the middle and fill it. - 80% of merge conflicts on stb PRs are due to people adding their name at the end - of the credits. -*/ - -#ifndef STBI_INCLUDE_STB_IMAGE_H -#define STBI_INCLUDE_STB_IMAGE_H - -// DOCUMENTATION -// -// Limitations: -// - no 12-bit-per-channel JPEG -// - no JPEGs with arithmetic coding -// - GIF always returns *comp=4 -// -// Basic usage (see HDR discussion below for HDR usage): -// int x,y,n; -// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); -// // ... process data if not NULL ... -// // ... x = width, y = height, n = # 8-bit components per pixel ... -// // ... replace '0' with '1'..'4' to force that many components per pixel -// // ... but 'n' will always be the number that it would have been if you said 0 -// stbi_image_free(data) -// -// Standard parameters: -// int *x -- outputs image width in pixels -// int *y -- outputs image height in pixels -// int *channels_in_file -- outputs # of image components in image file -// int desired_channels -- if non-zero, # of image components requested in result -// -// The return value from an image loader is an 'unsigned char *' which points -// to the pixel data, or NULL on an allocation failure or if the image is -// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, -// with each pixel consisting of N interleaved 8-bit components; the first -// pixel pointed to is top-left-most in the image. There is no padding between -// image scanlines or between pixels, regardless of format. The number of -// components N is 'desired_channels' if desired_channels is non-zero, or -// *channels_in_file otherwise. If desired_channels is non-zero, -// *channels_in_file has the number of components that _would_ have been -// output otherwise. E.g. if you set desired_channels to 4, you will always -// get RGBA output, but you can check *channels_in_file to see if it's trivially -// opaque because e.g. there were only 3 channels in the source image. -// -// An output image with N components has the following components interleaved -// in this order in each pixel: -// -// N=#comp components -// 1 grey -// 2 grey, alpha -// 3 red, green, blue -// 4 red, green, blue, alpha -// -// If image loading fails for any reason, the return value will be NULL, -// and *x, *y, *channels_in_file will be unchanged. The function -// stbi_failure_reason() can be queried for an extremely brief, end-user -// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS -// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly -// more user-friendly ones. -// -// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. -// -// To query the width, height and component count of an image without having to -// decode the full file, you can use the stbi_info family of functions: -// -// int x,y,n,ok; -// ok = stbi_info(filename, &x, &y, &n); -// // returns ok=1 and sets x, y, n if image is a supported format, -// // 0 otherwise. -// -// Note that stb_image pervasively uses ints in its public API for sizes, -// including sizes of memory buffers. This is now part of the API and thus -// hard to change without causing breakage. As a result, the various image -// loaders all have certain limits on image size; these differ somewhat -// by format but generally boil down to either just under 2GB or just under -// 1GB. When the decoded image would be larger than this, stb_image decoding -// will fail. -// -// Additionally, stb_image will reject image files that have any of their -// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS, -// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit, -// the only way to have an image with such dimensions load correctly -// is for it to have a rather extreme aspect ratio. Either way, the -// assumption here is that such larger images are likely to be malformed -// or malicious. If you do need to load an image with individual dimensions -// larger than that, and it still fits in the overall size limit, you can -// #define STBI_MAX_DIMENSIONS on your own to be something larger. -// -// =========================================================================== -// -// UNICODE: -// -// If compiling for Windows and you wish to use Unicode filenames, compile -// with -// #define STBI_WINDOWS_UTF8 -// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert -// Windows wchar_t filenames to utf8. -// -// =========================================================================== -// -// Philosophy -// -// stb libraries are designed with the following priorities: -// -// 1. easy to use -// 2. easy to maintain -// 3. good performance -// -// Sometimes I let "good performance" creep up in priority over "easy to maintain", -// and for best performance I may provide less-easy-to-use APIs that give higher -// performance, in addition to the easy-to-use ones. Nevertheless, it's important -// to keep in mind that from the standpoint of you, a client of this library, -// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. -// -// Some secondary priorities arise directly from the first two, some of which -// provide more explicit reasons why performance can't be emphasized. -// -// - Portable ("ease of use") -// - Small source code footprint ("easy to maintain") -// - No dependencies ("ease of use") -// -// =========================================================================== -// -// I/O callbacks -// -// I/O callbacks allow you to read from arbitrary sources, like packaged -// files or some other source. Data read from callbacks are processed -// through a small internal buffer (currently 128 bytes) to try to reduce -// overhead. -// -// The three functions you must define are "read" (reads some bytes of data), -// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). -// -// =========================================================================== -// -// SIMD support -// -// The JPEG decoder will try to automatically use SIMD kernels on x86 when -// supported by the compiler. For ARM Neon support, you must explicitly -// request it. -// -// (The old do-it-yourself SIMD API is no longer supported in the current -// code.) -// -// On x86, SSE2 will automatically be used when available based on a run-time -// test; if not, the generic C versions are used as a fall-back. On ARM targets, -// the typical path is to have separate builds for NEON and non-NEON devices -// (at least this is true for iOS and Android). Therefore, the NEON support is -// toggled by a build flag: define STBI_NEON to get NEON loops. -// -// If for some reason you do not want to use any of SIMD code, or if -// you have issues compiling it, you can disable it entirely by -// defining STBI_NO_SIMD. -// -// =========================================================================== -// -// HDR image support (disable by defining STBI_NO_HDR) -// -// stb_image supports loading HDR images in general, and currently the Radiance -// .HDR file format specifically. You can still load any file through the existing -// interface; if you attempt to load an HDR file, it will be automatically remapped -// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; -// both of these constants can be reconfigured through this interface: -// -// stbi_hdr_to_ldr_gamma(2.2f); -// stbi_hdr_to_ldr_scale(1.0f); -// -// (note, do not use _inverse_ constants; stbi_image will invert them -// appropriately). -// -// Additionally, there is a new, parallel interface for loading files as -// (linear) floats to preserve the full dynamic range: -// -// float *data = stbi_loadf(filename, &x, &y, &n, 0); -// -// If you load LDR images through this interface, those images will -// be promoted to floating point values, run through the inverse of -// constants corresponding to the above: -// -// stbi_ldr_to_hdr_scale(1.0f); -// stbi_ldr_to_hdr_gamma(2.2f); -// -// Finally, given a filename (or an open file or memory block--see header -// file for details) containing image data, you can query for the "most -// appropriate" interface to use (that is, whether the image is HDR or -// not), using: -// -// stbi_is_hdr(char *filename); -// -// =========================================================================== -// -// iPhone PNG support: -// -// We optionally support converting iPhone-formatted PNGs (which store -// premultiplied BGRA) back to RGB, even though they're internally encoded -// differently. To enable this conversion, call -// stbi_convert_iphone_png_to_rgb(1). -// -// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per -// pixel to remove any premultiplied alpha *only* if the image file explicitly -// says there's premultiplied data (currently only happens in iPhone images, -// and only if iPhone convert-to-rgb processing is on). -// -// =========================================================================== -// -// ADDITIONAL CONFIGURATION -// -// - You can suppress implementation of any of the decoders to reduce -// your code footprint by #defining one or more of the following -// symbols before creating the implementation. -// -// STBI_NO_JPEG -// STBI_NO_PNG -// STBI_NO_BMP -// STBI_NO_PSD -// STBI_NO_TGA -// STBI_NO_GIF -// STBI_NO_HDR -// STBI_NO_PIC -// STBI_NO_PNM (.ppm and .pgm) -// -// - You can request *only* certain decoders and suppress all other ones -// (this will be more forward-compatible, as addition of new decoders -// doesn't require you to disable them explicitly): -// -// STBI_ONLY_JPEG -// STBI_ONLY_PNG -// STBI_ONLY_BMP -// STBI_ONLY_PSD -// STBI_ONLY_TGA -// STBI_ONLY_GIF -// STBI_ONLY_HDR -// STBI_ONLY_PIC -// STBI_ONLY_PNM (.ppm and .pgm) -// -// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still -// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB -// -// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater -// than that size (in either width or height) without further processing. -// This is to let programs in the wild set an upper bound to prevent -// denial-of-service attacks on untrusted data, as one could generate a -// valid image of gigantic dimensions and force stb_image to allocate a -// huge block of memory and spend disproportionate time decoding it. By -// default this is set to (1 << 24), which is 16777216, but that's still -// very big. - -#ifndef STBI_NO_STDIO - #include -#endif // STBI_NO_STDIO - -#define STBI_VERSION 1 - -enum -{ - STBI_default = 0, // only used for desired_channels - - STBI_grey = 1, - STBI_grey_alpha = 2, - STBI_rgb = 3, - STBI_rgb_alpha = 4 -}; - -#include -typedef unsigned char stbi_uc; -typedef unsigned short stbi_us; - -#ifdef __cplusplus -extern "C" -{ -#endif - -#ifndef STBIDEF - #ifdef STB_IMAGE_STATIC - #define STBIDEF static - #else - #define STBIDEF extern - #endif -#endif - - ////////////////////////////////////////////////////////////////////////////// - // - // PRIMARY API - works on images of any type - // - - // - // load image by filename, open file, or memory buffer - // - - typedef struct - { - int (*read)(void* user, char* data, int size); // fill 'data' with 'size' bytes. return number of bytes actually read - void (*skip)(void* user, int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative - int (*eof)(void* user); // returns nonzero if we are at end of file/data - } stbi_io_callbacks; - - //////////////////////////////////// - // - // 8-bits-per-channel interface - // - - STBIDEF stbi_uc* stbi_load_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF stbi_uc* stbi_load_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); - -#ifndef STBI_NO_STDIO - STBIDEF stbi_uc* stbi_load(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF stbi_uc* stbi_load_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); -// for stbi_load_from_file, file pointer is left pointing immediately after image -#endif - -#ifndef STBI_NO_GIF - STBIDEF stbi_uc* stbi_load_gif_from_memory(stbi_uc const* buffer, int len, int** delays, int* x, int* y, int* z, int* comp, int req_comp); -#endif - -#ifdef STBI_WINDOWS_UTF8 - STBIDEF int stbi_convert_wchar_to_utf8(char* buffer, size_t bufferlen, const wchar_t* input); -#endif - - //////////////////////////////////// - // - // 16-bits-per-channel interface - // - - STBIDEF stbi_us* stbi_load_16_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF stbi_us* stbi_load_16_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); - -#ifndef STBI_NO_STDIO - STBIDEF stbi_us* stbi_load_16(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF stbi_us* stbi_load_from_file_16(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); -#endif - -//////////////////////////////////// -// -// float-per-channel interface -// -#ifndef STBI_NO_LINEAR - STBIDEF float* stbi_loadf_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF float* stbi_loadf_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); - - #ifndef STBI_NO_STDIO - STBIDEF float* stbi_loadf(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels); - STBIDEF float* stbi_loadf_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); - #endif -#endif - -#ifndef STBI_NO_HDR - STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); - STBIDEF void stbi_hdr_to_ldr_scale(float scale); -#endif // STBI_NO_HDR - -#ifndef STBI_NO_LINEAR - STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); - STBIDEF void stbi_ldr_to_hdr_scale(float scale); -#endif // STBI_NO_LINEAR - - // stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR - STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const* clbk, void* user); - STBIDEF int stbi_is_hdr_from_memory(stbi_uc const* buffer, int len); -#ifndef STBI_NO_STDIO - STBIDEF int stbi_is_hdr(char const* filename); - STBIDEF int stbi_is_hdr_from_file(FILE* f); -#endif // STBI_NO_STDIO - - - // get a VERY brief reason for failure - // on most compilers (and ALL modern mainstream compilers) this is threadsafe - STBIDEF const char* stbi_failure_reason(void); - - // free the loaded image -- this is just free() - STBIDEF void stbi_image_free(void* retval_from_stbi_load); - - // get image dimensions & components without fully decoding - STBIDEF int stbi_info_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* comp); - STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* comp); - STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const* buffer, int len); - STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const* clbk, void* user); - -#ifndef STBI_NO_STDIO - STBIDEF int stbi_info(char const* filename, int* x, int* y, int* comp); - STBIDEF int stbi_info_from_file(FILE* f, int* x, int* y, int* comp); - STBIDEF int stbi_is_16_bit(char const* filename); - STBIDEF int stbi_is_16_bit_from_file(FILE* f); -#endif - - - // for image formats that explicitly notate that they have premultiplied alpha, - // we just return the colors as stored in the file. set this flag to force - // unpremultiplication. results are undefined if the unpremultiply overflow. - STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); - - // indicate whether we should process iphone images back to canonical format, - // or just pass them through "as-is" - STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); - - // flip the image vertically, so the first pixel in the output array is the bottom left - STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); - - // as above, but only applies to images loaded on the thread that calls the function - // this function is only available if your compiler supports thread-local variables; - // calling it will fail to link if your compiler doesn't - STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); - STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); - STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip); - - // ZLIB client - used by PNG, available for other purposes - - STBIDEF char* stbi_zlib_decode_malloc_guesssize(const char* buffer, int len, int initial_size, int* outlen); - STBIDEF char* stbi_zlib_decode_malloc_guesssize_headerflag(const char* buffer, int len, int initial_size, int* outlen, int parse_header); - STBIDEF char* stbi_zlib_decode_malloc(const char* buffer, int len, int* outlen); - STBIDEF int stbi_zlib_decode_buffer(char* obuffer, int olen, const char* ibuffer, int ilen); - - STBIDEF char* stbi_zlib_decode_noheader_malloc(const char* buffer, int len, int* outlen); - STBIDEF int stbi_zlib_decode_noheader_buffer(char* obuffer, int olen, const char* ibuffer, int ilen); - - -#ifdef __cplusplus -} -#endif - -//// end header file ///////////////////////////////////////////////////// -#endif // STBI_INCLUDE_STB_IMAGE_H diff --git a/Dependencies/volk b/Dependencies/volk deleted file mode 160000 index 760a782..0000000 --- a/Dependencies/volk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 760a782f295a66de7391d6ed573d65e3fb1c8450 diff --git a/Dependencies/yaml-cpp b/Dependencies/yaml-cpp deleted file mode 160000 index 190ad50..0000000 --- a/Dependencies/yaml-cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 190ad502b5bc91b01fd2e73f5343cf7b40cfdc70 diff --git a/Engine/CMakeLists.txt b/Engine/CMakeLists.txt index 6da516a..2c529b0 100644 --- a/Engine/CMakeLists.txt +++ b/Engine/CMakeLists.txt @@ -42,7 +42,6 @@ include_directories( ${ENGINE_DIR}src/Engine/ ${ENGINE_DIR}src/Platform/GraphicsAPI/ ${ENGINE_DIR}src/Platform/OS/ - ${DEPENDENCIES_DIR}entt/src/ ${DEPENDENCIES_DIR}GLAD/include/ ${DEPENDENCIES_DIR}GLFW/include/ ${DEPENDENCIES_DIR}glm/ diff --git a/Engine/src/Engine/Debug/Exceptions.cpp b/Engine/src/Engine/Debug/Exceptions.cpp index 6c5ff57..2fc029f 100644 --- a/Engine/src/Engine/Debug/Exceptions.cpp +++ b/Engine/src/Engine/Debug/Exceptions.cpp @@ -2,7 +2,7 @@ #include "Utility/Stringifier.hpp" -#include +#include #ifdef LIGHT_PLATFORM_WINDOWS #include @@ -20,7 +20,7 @@ glException::glException(unsigned int source, unsigned int type, unsigned int id // #todo: improve LOG(critical, "________________________________________"); LOG(critical, "glException::glException::"); - LOG(critical, " Severity: {}", Stringifier::glDebugMsgSeverity(GL_DEBUG_SEVERITY_HIGH)); + // LOG(critical, " Severity: {}", Stringifier::glDebugMsgSeverity(GL_DEBUG_SEVERITY_HIGH)); LOG(critical, " Source : {}", Stringifier::glDebugMsgSource(source)); LOG(critical, " Type : {}", Stringifier::glDebugMsgType(type)); LOG(critical, " ID : {}", id); diff --git a/Engine/src/Engine/Scene/Components/TransformComponent.hpp b/Engine/src/Engine/Scene/Components/TransformComponent.hpp index 3df213a..1f359b5 100644 --- a/Engine/src/Engine/Scene/Components/TransformComponent.hpp +++ b/Engine/src/Engine/Scene/Components/TransformComponent.hpp @@ -1,5 +1,7 @@ #pragma once +#define GLM_ENABLE_EXPERIMENTAL + #include "Base/Base.hpp" #include @@ -29,4 +31,4 @@ struct TransformComponent operator const glm::mat4() const { return GetTransform(); } }; -} // namespace Light \ No newline at end of file +} // namespace Light diff --git a/Engine/src/Engine/Scene/Scene.cpp b/Engine/src/Engine/Scene/Scene.cpp index 5d0ca2f..e24e7bd 100644 --- a/Engine/src/Engine/Scene/Scene.cpp +++ b/Engine/src/Engine/Scene/Scene.cpp @@ -84,8 +84,8 @@ Entity Scene::GetEntityByTag(const std::string& tag) Entity entity; m_Registry.view().each([&](TagComponent& tagComp) { - if (tagComp.tag == tag) - entity = Entity(entt::to_entity(m_Registry, tagComp), this); + // if (tagComp.tag == tag) + // entity = Entity(entt::to_entity(m_Registry, tagComp), this); }); if (entity.IsValid()) diff --git a/Engine/src/Engine/Utility/FileManager.cpp b/Engine/src/Engine/Utility/FileManager.cpp index ae573e1..c4a9f07 100644 --- a/Engine/src/Engine/Utility/FileManager.cpp +++ b/Engine/src/Engine/Utility/FileManager.cpp @@ -1,9 +1,23 @@ +#define STB_IMAGE_IMPLEMENTATION #include "FileManager.hpp" #include namespace Light { +BasicFileHandle::BasicFileHandle(uint8_t* data, uint32_t size, const std::string& path, const std::string& name, const std::string& extension) + : m_Data(data), m_Size(size), m_Path(path), m_Name(name), m_Extension(extension) +{ +} + +void BasicFileHandle::Release() +{ + delete m_Data; + m_Data = nullptr; + m_Size = 0ull; +} + + BasicFileHandle FileManager::ReadTextFile(const std::string& path) { // parse path info @@ -56,4 +70,12 @@ ImageFileHandle FileManager::ReadImageFile(const std::string& path, int32_t desi return ImageFileHandle(pixels, width * height, path, name, extension, width, height, fetchedComponents, desiredComponents); } +void ImageFileHandle::Release() +{ + stbi_image_free(reinterpret_cast(m_Data)); + m_Data = nullptr; + m_Size = 0ull; +} + + } // namespace Light diff --git a/Engine/src/Engine/Utility/FileManager.hpp b/Engine/src/Engine/Utility/FileManager.hpp index 61b8cca..b6047eb 100644 --- a/Engine/src/Engine/Utility/FileManager.hpp +++ b/Engine/src/Engine/Utility/FileManager.hpp @@ -2,24 +2,14 @@ #include "Base/Base.hpp" -#include - namespace Light { class BasicFileHandle { public: - BasicFileHandle(uint8_t* data = nullptr, uint32_t size = 0ull, const std::string& path = "", const std::string& name = "", const std::string& extension = "") - : m_Data(data), m_Size(size), m_Path(path), m_Name(name), m_Extension(extension) - { - } + BasicFileHandle(uint8_t* data = nullptr, uint32_t size = 0ull, const std::string& path = "", const std::string& name = "", const std::string& extension = ""); - virtual void Release() - { - delete m_Data; - m_Data = nullptr; - m_Size = 0ull; - } + virtual void Release(); // getters inline uint8_t* GetData() { return m_Data; } @@ -54,12 +44,7 @@ public: { } - void Release() override - { - stbi_image_free(reinterpret_cast(m_Data)); - m_Data = nullptr; - m_Size = 0ull; - } + void Release() override; // getters inline uint32_t GetWidth() const { return m_Width; } @@ -78,4 +63,4 @@ public: static ImageFileHandle ReadImageFile(const std::string& path, int32_t desiredComponents); }; -} // namespace Light \ No newline at end of file +} // namespace Light diff --git a/Engine/src/Engine/Utility/Serializer.cpp b/Engine/src/Engine/Utility/Serializer.cpp index 1610bc4..4317828 100644 --- a/Engine/src/Engine/Utility/Serializer.cpp +++ b/Engine/src/Engine/Utility/Serializer.cpp @@ -85,13 +85,14 @@ void SceneSerializer::Serialize(const std::string& filePath) out << YAML::Key << "Scene" << YAML::Value << "Untitled"; out << YAML::Key << "Entities" << YAML::Value << YAML::BeginSeq; - m_Scene->m_Registry.each([&](auto entityID) { - Entity entity = { entityID, m_Scene.get() }; + for (auto [entityID, storage] : m_Scene->m_Registry.storage()) + { + Entity entity = { static_cast(entityID), m_Scene.get() }; if (!entity.IsValid()) return; SerializeEntity(out, entity); - }); + }; out << YAML::EndSeq; out << YAML::EndMap; diff --git a/Engine/src/Engine/Utility/Stringifier.cpp b/Engine/src/Engine/Utility/Stringifier.cpp index 5610f10..a1e0730 100644 --- a/Engine/src/Engine/Utility/Stringifier.cpp +++ b/Engine/src/Engine/Utility/Stringifier.cpp @@ -2,7 +2,7 @@ #include "Graphics/GraphicsContext.hpp" -#include +#include #include namespace Light { diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glBlender.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glBlender.cpp index cffb55a..18f7151 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glBlender.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glBlender.cpp @@ -1,6 +1,6 @@ #include "glBlender.hpp" -#include +#include namespace Light { diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glBuffers.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glBuffers.cpp index 1229f4e..6043713 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glBuffers.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glBuffers.cpp @@ -1,6 +1,6 @@ #include "glBuffers.hpp" -#include +#include namespace Light { diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glFramebuffer.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glFramebuffer.cpp index 2dd8aca..8af8b81 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glFramebuffer.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glFramebuffer.cpp @@ -1,6 +1,6 @@ #include "glFramebuffer.hpp" -#include +#include #include namespace Light { diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glGraphicsContext.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glGraphicsContext.cpp index 3814c94..aac787f 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glGraphicsContext.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glGraphicsContext.cpp @@ -8,7 +8,7 @@ #include "UserInterface/UserInterface.hpp" // required for forward declaration #include "Utility/ResourceManager.hpp" // required for forward declaration -#include +#include #ifndef STOP_FUCKING_ORDERING_THESE_THE_WRONG_WAY_CLANG_FORMAT____ #include @@ -26,7 +26,7 @@ glGraphicsContext::glGraphicsContext(GLFWwindow* windowHandle) glfwMakeContextCurrent(windowHandle); // load opengl (glad) - ASSERT(gladLoadGLLoader((GLADloadproc)glfwGetProcAddress), "Failed to initialize opengl (glad)"); + ASSERT(gladLoadGL(glfwGetProcAddress), "Failed to initialize opengl (glad)"); SetDebugMessageCallback(); } diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glRenderCommand.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glRenderCommand.cpp index a67f7c8..f235c75 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glRenderCommand.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glRenderCommand.cpp @@ -1,6 +1,6 @@ #include "glRenderCommand.hpp" -#include +#include #ifndef DONT_FUCKING_ORDER_THESSE_PLEASE_FOR_THE_LOVE_OF_GOD_CLANG_FORMAT #include #endif diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.cpp index b20f685..7ebf995 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.cpp @@ -1,6 +1,6 @@ #include "glShader.hpp" -#include +#include #include #include #include @@ -47,26 +47,26 @@ void glShader::UnBind() glUseProgram(NULL); } -shaderc::SpvCompilationResult glShader::CompileGLSL(BasicFileHandle file, Shader::Stage stage) -{ - // compile options - shaderc::CompileOptions options; - options.SetTargetEnvironment(shaderc_target_env_opengl, shaderc_env_version_opengl_4_5); - options.SetOptimizationLevel(shaderc_optimization_level_performance); - - // compile - shaderc::Compiler compiler; - shaderc::SpvCompilationResult result = compiler.CompileGlslToSpv(reinterpret_cast(file.GetData()), stage == Shader::Stage::VERTEX ? shaderc_shader_kind::shaderc_vertex_shader : shaderc_shader_kind::shaderc_fragment_shader, file.GetName().c_str(), options); - - // log error - if (result.GetCompilationStatus() != shaderc_compilation_status_success) - { - LOG(err, "Failed to compile {} shader at {}...", stage == Shader::Stage::VERTEX ? "vertex" : "pixel", file.GetPath()); - LOG(err, " {}", result.GetErrorMessage()); - } - - return result; -} +// shaderc::SpvCompilationResult glShader::CompileGLSL(BasicFileHandle file, Shader::Stage stage) +// { +// // compile options +// shaderc::CompileOptions options; +// options.SetTargetEnvironment(shaderc_target_env_opengl, shaderc_env_version_opengl_4_5); +// options.SetOptimizationLevel(shaderc_optimization_level_performance); +// +// // compile +// shaderc::Compiler compiler; +// shaderc::SpvCompilationResult result = compiler.CompileGlslToSpv(reinterpret_cast(file.GetData()), stage == Shader::Stage::VERTEX ? shaderc_shader_kind::shaderc_vertex_shader : shaderc_shader_kind::shaderc_fragment_shader, file.GetName().c_str(), options); +// +// // log error +// if (result.GetCompilationStatus() != shaderc_compilation_status_success) +// { +// LOG(err, "Failed to compile {} shader at {}...", stage == Shader::Stage::VERTEX ? "vertex" : "pixel", file.GetPath()); +// LOG(err, " {}", result.GetErrorMessage()); +// } +// +// return result; +// } unsigned int glShader::CompileShader(std::string source, Shader::Stage stage) { @@ -75,7 +75,7 @@ unsigned int glShader::CompileShader(std::string source, Shader::Stage stage) unsigned int shader = glCreateShader(stage == Shader::Stage::VERTEX ? GL_VERTEX_SHADER : stage == Shader::Stage::PIXEL ? GL_FRAGMENT_SHADER : stage == Shader::Stage::GEOMETRY ? GL_GEOMETRY_SHADER : - NULL); + NULL); // compile glShaderSource(shader, 1, &lvalue_source, NULL); diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.hpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.hpp index 88dc893..d5dbcbf 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.hpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glShader.hpp @@ -4,8 +4,6 @@ #include "Graphics/Shader.hpp" #include "Utility/FileManager.hpp" -#include - namespace Light { class glShader: public Shader @@ -21,7 +19,7 @@ public: void UnBind() override; private: - shaderc::SpvCompilationResult CompileGLSL(BasicFileHandle file, Shader::Stage stage); + // shaderc::SpvCompilationResult CompileGLSL(BasicFileHandle file, Shader::Stage stage); unsigned int CompileShader(std::string source, Shader::Stage stage); }; diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glTexture.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glTexture.cpp index 8eb8b1b..af5f45d 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glTexture.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glTexture.cpp @@ -1,6 +1,6 @@ #include "glTexture.hpp" -#include +#include namespace Light { diff --git a/Engine/src/Platform/GraphicsAPI/OpenGL/glVertexLayout.cpp b/Engine/src/Platform/GraphicsAPI/OpenGL/glVertexLayout.cpp index 10594c5..5880e98 100644 --- a/Engine/src/Platform/GraphicsAPI/OpenGL/glVertexLayout.cpp +++ b/Engine/src/Platform/GraphicsAPI/OpenGL/glVertexLayout.cpp @@ -2,7 +2,7 @@ #include "glBuffers.hpp" -#include +#include namespace Light { diff --git a/Mirror/src/EditorLayer.cpp b/Mirror/src/EditorLayer.cpp index 555c103..dee6249 100644 --- a/Mirror/src/EditorLayer.cpp +++ b/Mirror/src/EditorLayer.cpp @@ -29,7 +29,7 @@ EditorLayer::EditorLayer(const std::string& name, const std::vector SceneSerializer serializer(m_Scene); ASSERT(serializer.Deserialize(m_SceneDir), "Failed to de-serialize: {}", m_SceneDir); - m_CameraEntity = m_Scene->GetEntityByTag("Game Camera"); + // m_CameraEntity = m_Scene->GetEntityByTag("Game Camera"); } } @@ -48,11 +48,11 @@ void EditorLayer::OnUpdate(float deltaTime) m_Direction.x = Input::GetKeyboardKey(Key::A) ? -1.0f : Input::GetKeyboardKey(Key::D) ? 1.0f : - 0.0f; + 0.0f; m_Direction.y = Input::GetKeyboardKey(Key::S) ? -1.0f : Input::GetKeyboardKey(Key::W) ? 1.0f : - 0.0f; + 0.0f; auto& cameraTranslation = m_CameraEntity.GetComponent().translation; cameraTranslation += glm::vec3(m_Direction * m_Speed * deltaTime, 0.0f); diff --git a/Mirror/src/Panels/SceneHierarchyPanel.cpp b/Mirror/src/Panels/SceneHierarchyPanel.cpp index 3661fc5..13a450d 100644 --- a/Mirror/src/Panels/SceneHierarchyPanel.cpp +++ b/Mirror/src/Panels/SceneHierarchyPanel.cpp @@ -24,15 +24,16 @@ void SceneHierarchyPanel::OnUserInterfaceUpdate() { ImGui::Begin("Hierarchy"); - m_Context->m_Registry.each([&](auto entityID) { - Entity entity(entityID, m_Context.get()); + for (auto entityID : m_Context->m_Registry.view()) + { + Entity entity(static_cast(entityID), m_Context.get()); const std::string& tag = entity.GetComponent(); DrawNode(entity, tag); - }); - - ImGui::End(); + }; } + + ImGui::End(); } void SceneHierarchyPanel::SetContext(Ref context, Ref propertiesPanel /* = nullptr */) diff --git a/conanfile.py b/conanfile.py new file mode 100644 index 0000000..5619cb4 --- /dev/null +++ b/conanfile.py @@ -0,0 +1,47 @@ +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout +import shutil +import os +import git + +class LightRecipe(ConanFile): + name = "Light Engine" + + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps" + + options = { + } + + default_options = { + } + + def requirements(self): + self.requires("gtest/1.16.0") + self.requires("entt/3.15.0") + self.requires("glfw/3.4") + self.requires("glm/1.0.1") + self.requires("spdlog/1.15.3") + self.requires("spirv-cross/1.4.313.0") + self.requires("stb/cci.20240531") + self.requires("volk/1.3.296.0") + self.requires("yaml-cpp/0.8.0") + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + + tc.variables["CMAKE_BUILD_TYPE"] = self.settings.build_type + tc.cache_variables["CMAKE_EXPORT_COMPILE_COMMANDS"] = True + + repo = git.Repo(search_parent_directories=True) + tc.cache_variables["GIT_HASH"] = repo.head.object.hexsha + + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() diff --git a/external/glad/CMakeLists.txt b/external/glad/CMakeLists.txt new file mode 100644 index 0000000..e50fa98 --- /dev/null +++ b/external/glad/CMakeLists.txt @@ -0,0 +1,3 @@ +add_library(glad ${CMAKE_CURRENT_SOURCE_DIR}/src/gl.c) +target_include_directories(glad PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) +target_link_libraries(glad PUBLIC opengl::opengl) diff --git a/Dependencies/GLAD/include/KHR/khrplatform.h b/external/glad/include/KHR/khrplatform.h similarity index 92% rename from Dependencies/GLAD/include/KHR/khrplatform.h rename to external/glad/include/KHR/khrplatform.h index dd22d92..0164644 100644 --- a/Dependencies/GLAD/include/KHR/khrplatform.h +++ b/external/glad/include/KHR/khrplatform.h @@ -153,6 +153,20 @@ typedef int64_t khronos_int64_t; typedef uint64_t khronos_uint64_t; #define KHRONOS_SUPPORT_INT64 1 #define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif #elif defined(__VMS ) || defined(__sgi) @@ -235,14 +249,21 @@ typedef unsigned short int khronos_uint16_t; * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears * to be the only LLP64 architecture in current use. */ -#ifdef _WIN64 +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) typedef signed long long int khronos_intptr_t; typedef unsigned long long int khronos_uintptr_t; -typedef signed long long int khronos_ssize_t; -typedef unsigned long long int khronos_usize_t; #else typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; #endif diff --git a/external/glad/include/glad/gl.h b/external/glad/include/glad/gl.h new file mode 100644 index 0000000..c3ac215 --- /dev/null +++ b/external/glad/include/glad/gl.h @@ -0,0 +1,8319 @@ +/** + * Loader generated by glad 2.0.8 on Sat Jul 5 07:09:52 2025 + * + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + * + * Generator: C/C++ + * Specification: gl + * Extensions: 128 + * + * APIs: + * - gl:core=4.6 + * + * Options: + * - ALIAS = True + * - DEBUG = True + * - HEADER_ONLY = False + * - LOADER = True + * - MX = False + * - ON_DEMAND = False + * + * Commandline: + * --api='gl:core=4.6' --extensions='GL_AMD_draw_buffers_blend,GL_AMD_multi_draw_indirect,GL_APPLE_flush_buffer_range,GL_APPLE_vertex_array_object,GL_ARB_ES2_compatibility,GL_ARB_ES3_1_compatibility,GL_ARB_base_instance,GL_ARB_bindless_texture,GL_ARB_blend_func_extended,GL_ARB_buffer_storage,GL_ARB_clear_buffer_object,GL_ARB_clear_texture,GL_ARB_clip_control,GL_ARB_color_buffer_float,GL_ARB_compute_shader,GL_ARB_copy_buffer,GL_ARB_copy_image,GL_ARB_debug_output,GL_ARB_direct_state_access,GL_ARB_draw_buffers,GL_ARB_draw_buffers_blend,GL_ARB_draw_elements_base_vertex,GL_ARB_draw_indirect,GL_ARB_draw_instanced,GL_ARB_framebuffer_no_attachments,GL_ARB_framebuffer_object,GL_ARB_geometry_shader4,GL_ARB_get_program_binary,GL_ARB_get_texture_sub_image,GL_ARB_gl_spirv,GL_ARB_gpu_shader_fp64,GL_ARB_imaging,GL_ARB_indirect_parameters,GL_ARB_instanced_arrays,GL_ARB_internalformat_query,GL_ARB_internalformat_query2,GL_ARB_invalidate_subdata,GL_ARB_map_buffer_range,GL_ARB_multi_bind,GL_ARB_multi_draw_indirect,GL_ARB_multisample,GL_ARB_multitexture,GL_ARB_occlusion_query,GL_ARB_point_parameters,GL_ARB_polygon_offset_clamp,GL_ARB_program_interface_query,GL_ARB_provoking_vertex,GL_ARB_robustness,GL_ARB_sample_shading,GL_ARB_sampler_objects,GL_ARB_separate_shader_objects,GL_ARB_shader_atomic_counters,GL_ARB_shader_image_load_store,GL_ARB_shader_objects,GL_ARB_shader_storage_buffer_object,GL_ARB_shader_subroutine,GL_ARB_sync,GL_ARB_tessellation_shader,GL_ARB_texture_barrier,GL_ARB_texture_buffer_object,GL_ARB_texture_buffer_range,GL_ARB_texture_compression,GL_ARB_texture_multisample,GL_ARB_texture_storage,GL_ARB_texture_storage_multisample,GL_ARB_texture_view,GL_ARB_timer_query,GL_ARB_transform_feedback2,GL_ARB_transform_feedback3,GL_ARB_transform_feedback_instanced,GL_ARB_uniform_buffer_object,GL_ARB_vertex_array_object,GL_ARB_vertex_attrib_64bit,GL_ARB_vertex_attrib_binding,GL_ARB_vertex_buffer_object,GL_ARB_vertex_program,GL_ARB_vertex_shader,GL_ARB_vertex_type_2_10_10_10_rev,GL_ARB_viewport_array,GL_ATI_draw_buffers,GL_ATI_separate_stencil,GL_EXT_blend_color,GL_EXT_blend_equation_separate,GL_EXT_blend_func_separate,GL_EXT_blend_minmax,GL_EXT_copy_texture,GL_EXT_direct_state_access,GL_EXT_draw_buffers2,GL_EXT_draw_instanced,GL_EXT_draw_range_elements,GL_EXT_framebuffer_blit,GL_EXT_framebuffer_multisample,GL_EXT_framebuffer_object,GL_EXT_geometry_shader4,GL_EXT_gpu_shader4,GL_EXT_multi_draw_arrays,GL_EXT_point_parameters,GL_EXT_polygon_offset_clamp,GL_EXT_provoking_vertex,GL_EXT_shader_image_load_store,GL_EXT_subtexture,GL_EXT_texture3D,GL_EXT_texture_array,GL_EXT_texture_buffer_object,GL_EXT_texture_integer,GL_EXT_texture_object,GL_EXT_texture_storage,GL_EXT_timer_query,GL_EXT_transform_feedback,GL_EXT_vertex_array,GL_EXT_vertex_attrib_64bit,GL_INGR_blend_func_separate,GL_KHR_debug,GL_KHR_robustness,GL_NVX_conditional_render,GL_NV_bindless_multi_draw_indirect,GL_NV_bindless_multi_draw_indirect_count,GL_NV_bindless_texture,GL_NV_conditional_render,GL_NV_explicit_multisample,GL_NV_geometry_program4,GL_NV_point_sprite,GL_NV_transform_feedback,GL_NV_transform_feedback2,GL_NV_vertex_program,GL_NV_vertex_program4,GL_OES_single_precision,GL_SGIS_point_parameters' c --alias --debug --loader + * + * Online: + * http://glad.sh/#api=gl%3Acore%3D4.6&generator=c&options=ALIAS%2CDEBUG%2CLOADER + * + */ + +#ifndef GLAD_GL_H_ +#define GLAD_GL_H_ + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#endif +#ifdef __gl_h_ + #error OpenGL (gl.h) header already included (API: gl), remove previous include! +#endif +#define __gl_h_ 1 +#ifdef __gl3_h_ + #error OpenGL (gl3.h) header already included (API: gl), remove previous include! +#endif +#define __gl3_h_ 1 +#ifdef __glext_h_ + #error OpenGL (glext.h) header already included (API: gl), remove previous include! +#endif +#define __glext_h_ 1 +#ifdef __gl3ext_h_ + #error OpenGL (gl3ext.h) header already included (API: gl), remove previous include! +#endif +#define __gl3ext_h_ 1 +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#define GLAD_GL +#define GLAD_OPTION_GL_ALIAS +#define GLAD_OPTION_GL_DEBUG +#define GLAD_OPTION_GL_LOADER + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef GLAD_PLATFORM_H_ +#define GLAD_PLATFORM_H_ + +#ifndef GLAD_PLATFORM_WIN32 + #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__) + #define GLAD_PLATFORM_WIN32 1 + #else + #define GLAD_PLATFORM_WIN32 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_APPLE + #ifdef __APPLE__ + #define GLAD_PLATFORM_APPLE 1 + #else + #define GLAD_PLATFORM_APPLE 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_EMSCRIPTEN + #ifdef __EMSCRIPTEN__ + #define GLAD_PLATFORM_EMSCRIPTEN 1 + #else + #define GLAD_PLATFORM_EMSCRIPTEN 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_UWP + #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY) + #ifdef __has_include + #if __has_include() + #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 + #endif + #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ + #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 + #endif + #endif + + #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY + #include + #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + #define GLAD_PLATFORM_UWP 1 + #endif + #endif + + #ifndef GLAD_PLATFORM_UWP + #define GLAD_PLATFORM_UWP 0 + #endif +#endif + +#ifdef __GNUC__ + #define GLAD_GNUC_EXTENSION __extension__ +#else + #define GLAD_GNUC_EXTENSION +#endif + +#define GLAD_UNUSED(x) (void)(x) + +#ifndef GLAD_API_CALL + #if defined(GLAD_API_CALL_EXPORT) + #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__) + #if defined(GLAD_API_CALL_EXPORT_BUILD) + #if defined(__GNUC__) + #define GLAD_API_CALL __attribute__ ((dllexport)) extern + #else + #define GLAD_API_CALL __declspec(dllexport) extern + #endif + #else + #if defined(__GNUC__) + #define GLAD_API_CALL __attribute__ ((dllimport)) extern + #else + #define GLAD_API_CALL __declspec(dllimport) extern + #endif + #endif + #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD) + #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern + #else + #define GLAD_API_CALL extern + #endif + #else + #define GLAD_API_CALL extern + #endif +#endif + +#ifdef APIENTRY + #define GLAD_API_PTR APIENTRY +#elif GLAD_PLATFORM_WIN32 + #define GLAD_API_PTR __stdcall +#else + #define GLAD_API_PTR +#endif + +#ifndef GLAPI +#define GLAPI GLAD_API_CALL +#endif + +#ifndef GLAPIENTRY +#define GLAPIENTRY GLAD_API_PTR +#endif + +#define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor) +#define GLAD_VERSION_MAJOR(version) (version / 10000) +#define GLAD_VERSION_MINOR(version) (version % 10000) + +#define GLAD_GENERATOR_VERSION "2.0.8" + +typedef void (*GLADapiproc)(void); + +typedef GLADapiproc (*GLADloadfunc)(const char *name); +typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name); + +typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...); +typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...); + +#endif /* GLAD_PLATFORM_H_ */ + +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_ACTIVE_TEXTURE_ARB 0x84E0 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_ACTIVE_VARYINGS_NV 0x8C81 +#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF +#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF +#define GL_ALL_SHADER_BITS 0xFFFFFFFF +#define GL_ALPHA 0x1906 +#define GL_ALPHA16F_EXT 0x881C +#define GL_ALPHA16I_EXT 0x8D8A +#define GL_ALPHA16UI_EXT 0x8D78 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_ALPHA32I_EXT 0x8D84 +#define GL_ALPHA32UI_EXT 0x8D72 +#define GL_ALPHA8I_EXT 0x8D90 +#define GL_ALPHA8UI_EXT 0x8D7E +#define GL_ALPHA8_EXT 0x803C +#define GL_ALPHA_INTEGER_EXT 0x8D97 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_ALWAYS 0x0207 +#define GL_AND 0x1501 +#define GL_AND_INVERTED 0x1504 +#define GL_AND_REVERSE 0x1502 +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 +#define GL_ARRAY_SIZE 0x92FB +#define GL_ARRAY_STRIDE 0x92FE +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 +#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 +#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 +#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_BACK 0x0405 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 +#define GL_BACK_RIGHT 0x0403 +#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_BGRA8_EXT 0x93A1 +#define GL_BGRA_INTEGER 0x8D9B +#define GL_BGRA_INTEGER_EXT 0x8D9B +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGR_INTEGER_EXT 0x8D9A +#define GL_BLEND 0x0BE2 +#define GL_BLEND_COLOR 0x8005 +#define GL_BLEND_COLOR_EXT 0x8005 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_DST_ALPHA_EXT 0x80CA +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_DST_RGB_EXT 0x80C8 +#define GL_BLEND_EQUATION 0x8009 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D +#define GL_BLEND_EQUATION_EXT 0x8009 +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_BLEND_EQUATION_RGB_EXT 0x8009 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_BLEND_SRC_ALPHA_EXT 0x80CB +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_SRC_RGB_EXT 0x80C9 +#define GL_BLOCK_INDEX 0x92FD +#define GL_BLUE 0x1905 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_BLUE_INTEGER_EXT 0x8D96 +#define GL_BOOL 0x8B56 +#define GL_BOOL_ARB 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC2_ARB 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC3_ARB 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_BOOL_VEC4_ARB 0x8B59 +#define GL_BUFFER 0x82E0 +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_ACCESS_ARB 0x88BB +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAPPED_ARB 0x88BC +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_BUFFER_MAP_POINTER_ARB 0x88BD +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_SIZE_ARB 0x8764 +#define GL_BUFFER_STORAGE_FLAGS 0x8220 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 +#define GL_BUFFER_USAGE 0x8765 +#define GL_BUFFER_USAGE_ARB 0x8765 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_BYTE 0x1400 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_CCW 0x0901 +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLEAR 0x1500 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_CLEAR_TEXTURE 0x9365 +#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7 +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_CLIP_DISTANCE_NV 0x8C7A +#define GL_CLIP_ORIGIN 0x935C +#define GL_COLOR 0x1800 +#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 +#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 +#define GL_COLOR_ARRAY_EXT 0x8076 +#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 +#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 +#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 +#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_COLOR_ENCODING 0x8296 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_COLOR_SUM_ARB 0x8458 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 +#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B +#define GL_COMPILE_STATUS 0x8B81 +#define GL_COMPRESSED_ALPHA_ARB 0x84E9 +#define GL_COMPRESSED_INTENSITY_ARB 0x84EC +#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB +#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_RG 0x8226 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_RGBA_ARB 0x84EE +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_RGB_ARB 0x84ED +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5 +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_CONDITION_SATISFIED 0x911C +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_CONSTANT_ALPHA_EXT 0x8003 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_CONSTANT_COLOR_EXT 0x8001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_FLAGS 0x821E +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_CONTEXT_LOST 0x0507 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 +#define GL_COORD_REPLACE_NV 0x8862 +#define GL_COPY 0x1503 +#define GL_COPY_INVERTED 0x150C +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_CURRENT_ATTRIB_NV 0x8626 +#define GL_CURRENT_MATRIX_ARB 0x8641 +#define GL_CURRENT_MATRIX_NV 0x8641 +#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 +#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_CURRENT_QUERY 0x8865 +#define GL_CURRENT_QUERY_ARB 0x8865 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 +#define GL_CW 0x0900 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_OUTPUT 0x92E0 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DECR 0x1E03 +#define GL_DECR_WRAP 0x8508 +#define GL_DELETE_STATUS 0x8B80 +#define GL_DEPTH 0x1801 +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_DEPTH_CLAMP 0x864F +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_DISTANCE_ATTENUATION_EXT 0x8129 +#define GL_DISTANCE_ATTENUATION_SGIS 0x8129 +#define GL_DITHER 0x0BD0 +#define GL_DONT_CARE 0x1100 +#define GL_DOUBLE 0x140A +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT2_EXT 0x8F46 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x3_EXT 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT2x4_EXT 0x8F4A +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT3_EXT 0x8F47 +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x2_EXT 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT3x4_EXT 0x8F4C +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT4_EXT 0x8F48 +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x2_EXT 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_DOUBLE_MAT4x3_EXT 0x8F4E +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC2_EXT 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC3_EXT 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE +#define GL_DOUBLE_VEC4_EXT 0x8FFE +#define GL_DRAW_BUFFER 0x0C01 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER0_ARB 0x8825 +#define GL_DRAW_BUFFER0_ATI 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER10_ARB 0x882F +#define GL_DRAW_BUFFER10_ATI 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER11_ARB 0x8830 +#define GL_DRAW_BUFFER11_ATI 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER12_ARB 0x8831 +#define GL_DRAW_BUFFER12_ATI 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER13_ARB 0x8832 +#define GL_DRAW_BUFFER13_ATI 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER14_ARB 0x8833 +#define GL_DRAW_BUFFER14_ATI 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_DRAW_BUFFER15_ARB 0x8834 +#define GL_DRAW_BUFFER15_ATI 0x8834 +#define GL_DRAW_BUFFER1_ARB 0x8826 +#define GL_DRAW_BUFFER1_ATI 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER2_ARB 0x8827 +#define GL_DRAW_BUFFER2_ATI 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER3_ARB 0x8828 +#define GL_DRAW_BUFFER3_ATI 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER4_ARB 0x8829 +#define GL_DRAW_BUFFER4_ATI 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER5_ARB 0x882A +#define GL_DRAW_BUFFER5_ATI 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER6_ARB 0x882B +#define GL_DRAW_BUFFER6_ATI 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER7_ARB 0x882C +#define GL_DRAW_BUFFER7_ATI 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER8_ARB 0x882D +#define GL_DRAW_BUFFER8_ATI 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER9_ARB 0x882E +#define GL_DRAW_BUFFER9_ATI 0x882E +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 +#define GL_DST_ALPHA 0x0304 +#define GL_DST_COLOR 0x0306 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_DYNAMIC_COPY_ARB 0x88EA +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_READ_ARB 0x88E9 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B +#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D +#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 +#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 +#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 +#define GL_EQUAL 0x0202 +#define GL_EQUIV 0x1509 +#define GL_EXTENSIONS 0x1F03 +#define GL_FALSE 0 +#define GL_FASTEST 0x1101 +#define GL_FILL 0x1B02 +#define GL_FILTER 0x829A +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_FIXED 0x140C +#define GL_FIXED_ONLY 0x891D +#define GL_FIXED_ONLY_ARB 0x891D +#define GL_FLOAT 0x1406 +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT2_ARB 0x8B5A +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT3_ARB 0x8B5B +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4 0x8B5C +#define GL_FLOAT_MAT4_ARB 0x8B5C +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC2_ARB 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC3_ARB 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_FLOAT_VEC4_ARB 0x8B52 +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4 +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_FRAMEBUFFER 0x8D40 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_FRONT 0x0404 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_FRONT_FACE 0x0B46 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_ADD_EXT 0x8006 +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_FUNC_SUBTRACT 0x800A +#define GL_GENERIC_ATTRIB_NV 0x8C7D +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC +#define GL_GEOMETRY_PROGRAM_NV 0x8C26 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3 +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA +#define GL_GEQUAL 0x0206 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_GREATER 0x0204 +#define GL_GREEN 0x1904 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_GREEN_INTEGER_EXT 0x8D95 +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_HALF_FLOAT 0x140B +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_HIGH_INT 0x8DF5 +#define GL_IDENTITY_NV 0x862A +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_1D_ARRAY_EXT 0x9052 +#define GL_IMAGE_1D_EXT 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_2D_ARRAY_EXT 0x9053 +#define GL_IMAGE_2D_EXT 0x904D +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 +#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_2D_RECT_EXT 0x904F +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_3D_EXT 0x904E +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C +#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_CUBE_EXT 0x9050 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_INCR 0x1E02 +#define GL_INCR_WRAP 0x8507 +#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 +#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 +#define GL_INDEX_ARRAY_EXT 0x8077 +#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 +#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 +#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_INT 0x1404 +#define GL_INTENSITY16I_EXT 0x8D8B +#define GL_INTENSITY16UI_EXT 0x8D79 +#define GL_INTENSITY32I_EXT 0x8D85 +#define GL_INTENSITY32UI_EXT 0x8D73 +#define GL_INTENSITY8I_EXT 0x8D91 +#define GL_INTENSITY8UI_EXT 0x8D7F +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INT_2_10_10_10_REV 0x8D9F +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D +#define GL_INT_IMAGE_1D_EXT 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E +#define GL_INT_IMAGE_2D_EXT 0x9058 +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 +#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_2D_RECT_EXT 0x905A +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_3D_EXT 0x9059 +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_CUBE_EXT 0x905B +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE +#define GL_INT_SAMPLER_1D_EXT 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF +#define GL_INT_SAMPLER_2D_EXT 0x8DCA +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_3D_EXT 0x8DCB +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC2_ARB 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC3_ARB 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_INT_VEC4_ARB 0x8B55 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_INVALID_INDEX 0xFFFFFFFF +#define GL_INVALID_OPERATION 0x0502 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVERSE_NV 0x862B +#define GL_INVERSE_TRANSPOSE_NV 0x862D +#define GL_INVERT 0x150A +#define GL_ISOLINES 0x8E7A +#define GL_IS_PER_PATCH 0x92E7 +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_KEEP 0x1E00 +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_LAYER_NV 0x8DAA +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_LEFT 0x0406 +#define GL_LEQUAL 0x0203 +#define GL_LESS 0x0201 +#define GL_LINE 0x1B01 +#define GL_LINEAR 0x2601 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_LINES 0x0001 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINES_ADJACENCY_ARB 0x000A +#define GL_LINES_ADJACENCY_EXT 0x000A +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_LINE_STRIP 0x0003 +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B +#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINK_STATUS 0x8B82 +#define GL_LOCATION 0x930E +#define GL_LOCATION_COMPONENT 0x934A +#define GL_LOCATION_INDEX 0x930F +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_LOW_FLOAT 0x8DF0 +#define GL_LOW_INT 0x8DF3 +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE16I_EXT 0x8D8C +#define GL_LUMINANCE16UI_EXT 0x8D7A +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE32I_EXT 0x8D86 +#define GL_LUMINANCE32UI_EXT 0x8D74 +#define GL_LUMINANCE8I_EXT 0x8D92 +#define GL_LUMINANCE8UI_EXT 0x8D80 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D +#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 +#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 +#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 +#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 +#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D +#define GL_LUMINANCE_INTEGER_EXT 0x8D9C +#define GL_MAJOR_VERSION 0x821B +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 +#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A +#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B +#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C +#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D +#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E +#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F +#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 +#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 +#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 +#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 +#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 +#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 +#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 +#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 +#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 +#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 +#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A +#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B +#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C +#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D +#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E +#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F +#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 +#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 +#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 +#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 +#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 +#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 +#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 +#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 +#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 +#define GL_MAP_COHERENT_BIT 0x0080 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_PERSISTENT_BIT 0x0040 +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MATRIX0_ARB 0x88C0 +#define GL_MATRIX0_NV 0x8630 +#define GL_MATRIX10_ARB 0x88CA +#define GL_MATRIX11_ARB 0x88CB +#define GL_MATRIX12_ARB 0x88CC +#define GL_MATRIX13_ARB 0x88CD +#define GL_MATRIX14_ARB 0x88CE +#define GL_MATRIX15_ARB 0x88CF +#define GL_MATRIX16_ARB 0x88D0 +#define GL_MATRIX17_ARB 0x88D1 +#define GL_MATRIX18_ARB 0x88D2 +#define GL_MATRIX19_ARB 0x88D3 +#define GL_MATRIX1_ARB 0x88C1 +#define GL_MATRIX1_NV 0x8631 +#define GL_MATRIX20_ARB 0x88D4 +#define GL_MATRIX21_ARB 0x88D5 +#define GL_MATRIX22_ARB 0x88D6 +#define GL_MATRIX23_ARB 0x88D7 +#define GL_MATRIX24_ARB 0x88D8 +#define GL_MATRIX25_ARB 0x88D9 +#define GL_MATRIX26_ARB 0x88DA +#define GL_MATRIX27_ARB 0x88DB +#define GL_MATRIX28_ARB 0x88DC +#define GL_MATRIX29_ARB 0x88DD +#define GL_MATRIX2_ARB 0x88C2 +#define GL_MATRIX2_NV 0x8632 +#define GL_MATRIX30_ARB 0x88DE +#define GL_MATRIX31_ARB 0x88DF +#define GL_MATRIX3_ARB 0x88C3 +#define GL_MATRIX3_NV 0x8633 +#define GL_MATRIX4_ARB 0x88C4 +#define GL_MATRIX4_NV 0x8634 +#define GL_MATRIX5_ARB 0x88C5 +#define GL_MATRIX5_NV 0x8635 +#define GL_MATRIX6_ARB 0x88C6 +#define GL_MATRIX6_NV 0x8636 +#define GL_MATRIX7_ARB 0x88C7 +#define GL_MATRIX7_NV 0x8637 +#define GL_MATRIX8_ARB 0x88C8 +#define GL_MATRIX9_ARB 0x88C9 +#define GL_MATRIX_STRIDE 0x92FF +#define GL_MAX 0x8008 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 +#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_MAX_EXT 0x8008 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 +#define GL_MAX_INTEGER_SAMPLES 0x9110 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 +#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD +#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 +#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 +#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 +#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F +#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E +#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 +#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF +#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 +#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB +#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 +#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 +#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 +#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905 +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_MAX_SAMPLES_EXT 0x8D57 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 +#define GL_MAX_TRACK_MATRICES_NV 0x862F +#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_LOCATIONS 0x826E +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_VERTEX_STREAMS 0x8E71 +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE +#define GL_MAX_VIEWPORTS 0x825B +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_MAX_WIDTH 0x827E +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_MIN 0x8007 +#define GL_MINOR_VERSION 0x821C +#define GL_MIN_EXT 0x8007 +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 +#define GL_MIPMAP 0x8293 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 +#define GL_MODELVIEW_PROJECTION_NV 0x8629 +#define GL_MULTISAMPLE 0x809D +#define GL_MULTISAMPLE_ARB 0x809D +#define GL_MULTISAMPLE_BIT_ARB 0x20000000 +#define GL_NAME_LENGTH 0x92F9 +#define GL_NAND 0x150E +#define GL_NEAREST 0x2600 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_NEVER 0x0200 +#define GL_NEXT_BUFFER_NV -2 +#define GL_NICEST 0x1102 +#define GL_NONE 0 +#define GL_NOOP 0x1505 +#define GL_NOR 0x1508 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 +#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 +#define GL_NORMAL_ARRAY_EXT 0x8075 +#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F +#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F +#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E +#define GL_NOTEQUAL 0x0205 +#define GL_NO_ERROR 0 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 +#define GL_NUM_EXTENSIONS 0x821D +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_NUM_SAMPLE_COUNTS 0x9380 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 +#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 +#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A +#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 +#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 +#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 +#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 +#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 +#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 +#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 +#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 +#define GL_OBJECT_SUBTYPE_ARB 0x8B4F +#define GL_OBJECT_TYPE 0x9112 +#define GL_OBJECT_TYPE_ARB 0x8B4E +#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 +#define GL_OFFSET 0x92FC +#define GL_ONE 1 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_OR 0x1507 +#define GL_OR_INVERTED 0x150D +#define GL_OR_REVERSE 0x150B +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_SKIP_IMAGES_EXT 0x806B +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PARAMETER_BUFFER 0x80EE +#define GL_PARAMETER_BUFFER_ARB 0x80EE +#define GL_PARAMETER_BUFFER_BINDING 0x80EF +#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF +#define GL_PATCHES 0x000E +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_POINT 0x1B00 +#define GL_POINTS 0x0000 +#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 +#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 +#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_POINT_SIZE_MAX_ARB 0x8127 +#define GL_POINT_SIZE_MAX_EXT 0x8127 +#define GL_POINT_SIZE_MAX_SGIS 0x8127 +#define GL_POINT_SIZE_MIN_ARB 0x8126 +#define GL_POINT_SIZE_MIN_EXT 0x8126 +#define GL_POINT_SIZE_MIN_SGIS 0x8126 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_POINT_SPRITE_NV 0x8861 +#define GL_POINT_SPRITE_R_MODE_NV 0x8863 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_OFFSET_CLAMP 0x8E1B +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_PRIMITIVES_GENERATED_NV 0x8C87 +#define GL_PRIMITIVES_SUBMITTED 0x82EF +#define GL_PRIMITIVE_ID_NV 0x8C7C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_PROGRAM 0x82E2 +#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 +#define GL_PROGRAM_ATTRIBS_ARB 0x88AC +#define GL_PROGRAM_BINARY_FORMATS 0x87FF +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINDING_ARB 0x8677 +#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B +#define GL_PROGRAM_ERROR_POSITION_NV 0x864B +#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 +#define GL_PROGRAM_FORMAT_ARB 0x8876 +#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 +#define GL_PROGRAM_LENGTH_ARB 0x8627 +#define GL_PROGRAM_LENGTH_NV 0x8627 +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F +#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 +#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE +#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 +#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA +#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 +#define GL_PROGRAM_OBJECT_ARB 0x8B40 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 +#define GL_PROGRAM_PARAMETER_NV 0x8644 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 +#define GL_PROGRAM_RESIDENT_NV 0x8647 +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_PROGRAM_STRING_ARB 0x8628 +#define GL_PROGRAM_STRING_NV 0x8628 +#define GL_PROGRAM_TARGET_NV 0x8646 +#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 +#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_PROVOKING_VERTEX_EXT 0x8E4F +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_PROXY_TEXTURE_3D_EXT 0x8070 +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_QUADS 0x0007 +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_QUERY 0x82E3 +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_QUERY_COUNTER_BITS_ARB 0x8864 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_ARB 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 +#define GL_QUERY_TARGET 0x82EA +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_R16 0x822A +#define GL_R16F 0x822D +#define GL_R16F_EXT 0x822D +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R16_SNORM 0x8F98 +#define GL_R32F 0x822E +#define GL_R32F_EXT 0x822E +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_R3_G3_B2 0x2A10 +#define GL_R8 0x8229 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R8_EXT 0x8229 +#define GL_R8_SNORM 0x8F94 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_RASTERIZER_DISCARD_NV 0x8C89 +#define GL_READ_BUFFER 0x0C02 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_READ_ONLY 0x88B8 +#define GL_READ_ONLY_ARB 0x88B8 +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_READ_WRITE 0x88BA +#define GL_READ_WRITE_ARB 0x88BA +#define GL_RED 0x1903 +#define GL_RED_INTEGER 0x8D94 +#define GL_RED_INTEGER_EXT 0x8D94 +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERER 0x1F01 +#define GL_REPEAT 0x2901 +#define GL_REPLACE 0x1E01 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_RG 0x8227 +#define GL_RG16 0x822C +#define GL_RG16F 0x822F +#define GL_RG16F_EXT 0x822F +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG16_SNORM 0x8F99 +#define GL_RG32F 0x8230 +#define GL_RG32F_EXT 0x8230 +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_RG8 0x822B +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG8_EXT 0x822B +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB 0x1907 +#define GL_RGB10 0x8052 +#define GL_RGB10_A2 0x8059 +#define GL_RGB10_A2UI 0x906F +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGB16F 0x881B +#define GL_RGB16F_EXT 0x881B +#define GL_RGB16I 0x8D89 +#define GL_RGB16I_EXT 0x8D89 +#define GL_RGB16UI 0x8D77 +#define GL_RGB16UI_EXT 0x8D77 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGB32F 0x8815 +#define GL_RGB32F_EXT 0x8815 +#define GL_RGB32I 0x8D83 +#define GL_RGB32I_EXT 0x8D83 +#define GL_RGB32UI 0x8D71 +#define GL_RGB32UI_EXT 0x8D71 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB565 0x8D62 +#define GL_RGB5_A1 0x8057 +#define GL_RGB8 0x8051 +#define GL_RGB8I 0x8D8F +#define GL_RGB8I_EXT 0x8D8F +#define GL_RGB8UI 0x8D7D +#define GL_RGB8UI_EXT 0x8D7D +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGB9_E5 0x8C3D +#define GL_RGBA 0x1908 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_RGBA16F 0x881A +#define GL_RGBA16F_EXT 0x881A +#define GL_RGBA16I 0x8D88 +#define GL_RGBA16I_EXT 0x8D88 +#define GL_RGBA16UI 0x8D76 +#define GL_RGBA16UI_EXT 0x8D76 +#define GL_RGBA16_SNORM 0x8F9B +#define GL_RGBA2 0x8055 +#define GL_RGBA32F 0x8814 +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGBA32I 0x8D82 +#define GL_RGBA32I_EXT 0x8D82 +#define GL_RGBA32UI 0x8D70 +#define GL_RGBA32UI_EXT 0x8D70 +#define GL_RGBA4 0x8056 +#define GL_RGBA8 0x8058 +#define GL_RGBA8I 0x8D8E +#define GL_RGBA8I_EXT 0x8D8E +#define GL_RGBA8UI 0x8D7C +#define GL_RGBA8UI_EXT 0x8D7C +#define GL_RGBA8_SNORM 0x8F97 +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_RGBA_INTEGER_EXT 0x8D99 +#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGB_INTEGER_EXT 0x8D98 +#define GL_RG_INTEGER 0x8228 +#define GL_RIGHT 0x0407 +#define GL_SAMPLER 0x82E6 +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_1D_ARB 0x8B5D +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_2D_ARB 0x8B5E +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_3D_ARB 0x8B5F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_CUBE_ARB 0x8B60 +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLES_ARB 0x80A9 +#define GL_SAMPLES_PASSED 0x8914 +#define GL_SAMPLES_PASSED_ARB 0x8914 +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLE_BUFFERS_ARB 0x80A8 +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_COVERAGE_ARB 0x80A0 +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_SEPARATE_ATTRIBS_NV 0x8C8D +#define GL_SET 0x150F +#define GL_SHADER 0x82E1 +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551 +#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_OBJECT_ARB 0x8B48 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_TYPE 0x8B4F +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_SHORT 0x1402 +#define GL_SIGNALED 0x9119 +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_SKIP_COMPONENTS1_NV -6 +#define GL_SKIP_COMPONENTS2_NV -5 +#define GL_SKIP_COMPONENTS3_NV -4 +#define GL_SKIP_COMPONENTS4_NV -3 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SPIR_V_BINARY 0x9552 +#define GL_SPIR_V_BINARY_ARB 0x9552 +#define GL_SPIR_V_EXTENSIONS 0x9553 +#define GL_SRC1_ALPHA 0x8589 +#define GL_SRC1_COLOR 0x88F9 +#define GL_SRC_ALPHA 0x0302 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_SRC_COLOR 0x0300 +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB_DECODE_ARB 0x8299 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_STATIC_COPY 0x88E6 +#define GL_STATIC_COPY_ARB 0x88E6 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_READ_ARB 0x88E5 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_FAIL_ATI 0x8801 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FUNC_ATI 0x8800 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_INDEX 0x1901 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_STEREO 0x0C33 +#define GL_STREAM_COPY 0x88E2 +#define GL_STREAM_COPY_ARB 0x88E2 +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_DRAW_ARB 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_READ_ARB 0x88E1 +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_SYNC_STATUS 0x9114 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TEXTURE 0x1702 +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE0_ARB 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE10_ARB 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE11_ARB 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE12_ARB 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE13_ARB 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE14_ARB 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE15_ARB 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE16_ARB 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE17_ARB 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE18_ARB 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE19_ARB 0x84D3 +#define GL_TEXTURE1_ARB 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE20_ARB 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE21_ARB 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE22_ARB 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE23_ARB 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE24_ARB 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE25_ARB 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE26_ARB 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE27_ARB 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE28_ARB 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE29_ARB 0x84DD +#define GL_TEXTURE2_ARB 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE30_ARB 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_TEXTURE31_ARB 0x84DF +#define GL_TEXTURE3_ARB 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE4_ARB 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE5_ARB 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE6_ARB 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE7_ARB 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE8_ARB 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE9_ARB 0x84C9 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +#define GL_TEXTURE_1D_BINDING_EXT 0x8068 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +#define GL_TEXTURE_2D_BINDING_EXT 0x8069 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_TEXTURE_3D 0x806F +#define GL_TEXTURE_3D_BINDING_EXT 0x806A +#define GL_TEXTURE_3D_EXT 0x806F +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E +#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A +#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B +#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 +#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 +#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 +#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A +#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 +#define GL_TEXTURE_COORD_NV 0x8C79 +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_DEPTH_EXT 0x8071 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_PRIORITY_EXT 0x8066 +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_TEXTURE_RESIDENT_EXT 0x8067 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TEXTURE_TARGET 0x1006 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_TEXTURE_WRAP_R_EXT 0x8072 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF +#define GL_TIMESTAMP 0x8E28 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIME_ELAPSED_EXT 0x88BF +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_TRACK_MATRIX_NV 0x8648 +#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F +#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 +#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 +#define GL_TRANSPOSE_NV 0x862C +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLES_ADJACENCY_ARB 0x000C +#define GL_TRIANGLES_ADJACENCY_EXT 0x000C +#define GL_TRIANGLE_FAN 0x0006 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D +#define GL_TRUE 1 +#define GL_TYPE 0x92FA +#define GL_UNDEFINED_VERTEX 0x8260 +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNSIGNALED 0x9118 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_INT 0x1405 +#define GL_UNSIGNED_INT64_ARB 0x140F +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 +#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 +#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_VENDOR 0x1F00 +#define GL_VERSION 0x1F02 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 +#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D +#define GL_VERTEX_ARRAY_EXT 0x8074 +#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E +#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A +#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C +#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B +#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 +#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A +#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B +#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C +#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D +#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E +#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F +#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 +#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 +#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 +#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 +#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 +#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 +#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 +#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 +#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_BUFFER 0x8F4F +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_VERTEX_ID_NV 0x8C7B +#define GL_VERTEX_PROGRAM_ARB 0x8620 +#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A +#define GL_VERTEX_PROGRAM_NV 0x8620 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 +#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_VERTEX_SHADER_ARB 0x8B31 +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0 +#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_VERTEX_TEXTURE 0x829B +#define GL_VERTICES_SUBMITTED 0x82EE +#define GL_VIEWPORT 0x0BA2 +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_ASTC_10x10_RGBA 0x9393 +#define GL_VIEW_CLASS_ASTC_10x5_RGBA 0x9390 +#define GL_VIEW_CLASS_ASTC_10x6_RGBA 0x9391 +#define GL_VIEW_CLASS_ASTC_10x8_RGBA 0x9392 +#define GL_VIEW_CLASS_ASTC_12x10_RGBA 0x9394 +#define GL_VIEW_CLASS_ASTC_12x12_RGBA 0x9395 +#define GL_VIEW_CLASS_ASTC_4x4_RGBA 0x9388 +#define GL_VIEW_CLASS_ASTC_5x4_RGBA 0x9389 +#define GL_VIEW_CLASS_ASTC_5x5_RGBA 0x938A +#define GL_VIEW_CLASS_ASTC_6x5_RGBA 0x938B +#define GL_VIEW_CLASS_ASTC_6x6_RGBA 0x938C +#define GL_VIEW_CLASS_ASTC_8x5_RGBA 0x938D +#define GL_VIEW_CLASS_ASTC_8x6_RGBA 0x938E +#define GL_VIEW_CLASS_ASTC_8x8_RGBA 0x938F +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_EAC_R11 0x9383 +#define GL_VIEW_CLASS_EAC_RG11 0x9384 +#define GL_VIEW_CLASS_ETC2_EAC_RGBA 0x9387 +#define GL_VIEW_CLASS_ETC2_RGB 0x9385 +#define GL_VIEW_CLASS_ETC2_RGBA 0x9386 +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_WAIT_FAILED 0x911D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E +#define GL_WRITE_ONLY 0x88B9 +#define GL_WRITE_ONLY_ARB 0x88B9 +#define GL_XOR 0x1506 +#define GL_ZERO 0 +#define GL_ZERO_TO_ONE 0x935F + + +#include +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef khronos_int8_t GLbyte; +typedef khronos_uint8_t GLubyte; +typedef khronos_int16_t GLshort; +typedef khronos_uint16_t GLushort; +typedef int GLint; +typedef unsigned int GLuint; +typedef khronos_int32_t GLclampx; +typedef int GLsizei; +typedef khronos_float_t GLfloat; +typedef khronos_float_t GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void *GLeglClientBufferEXT; +typedef void *GLeglImageOES; +typedef char GLchar; +typedef char GLcharARB; +#ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif +typedef khronos_uint16_t GLhalf; +typedef khronos_uint16_t GLhalfARB; +typedef khronos_int32_t GLfixed; +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef khronos_intptr_t GLintptr; +#else +typedef khronos_intptr_t GLintptr; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef khronos_intptr_t GLintptrARB; +#else +typedef khronos_intptr_t GLintptrARB; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef khronos_ssize_t GLsizeiptr; +#else +typedef khronos_ssize_t GLsizeiptr; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef khronos_ssize_t GLsizeiptrARB; +#else +typedef khronos_ssize_t GLsizeiptrARB; +#endif +typedef khronos_int64_t GLint64; +typedef khronos_int64_t GLint64EXT; +typedef khronos_uint64_t GLuint64; +typedef khronos_uint64_t GLuint64EXT; +typedef struct __GLsync *GLsync; +struct _cl_context; +struct _cl_event; +typedef void (GLAD_API_PTR *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (GLAD_API_PTR *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (GLAD_API_PTR *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (GLAD_API_PTR *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); +typedef unsigned short GLhalfNV; +typedef GLintptr GLvdpauSurfaceNV; +typedef void (GLAD_API_PTR *GLVULKANPROCNV)(void); + + +#define GL_VERSION_1_0 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_0; +#define GL_VERSION_1_1 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_1; +#define GL_VERSION_1_2 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_2; +#define GL_VERSION_1_3 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_3; +#define GL_VERSION_1_4 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_4; +#define GL_VERSION_1_5 1 +GLAD_API_CALL int GLAD_GL_VERSION_1_5; +#define GL_VERSION_2_0 1 +GLAD_API_CALL int GLAD_GL_VERSION_2_0; +#define GL_VERSION_2_1 1 +GLAD_API_CALL int GLAD_GL_VERSION_2_1; +#define GL_VERSION_3_0 1 +GLAD_API_CALL int GLAD_GL_VERSION_3_0; +#define GL_VERSION_3_1 1 +GLAD_API_CALL int GLAD_GL_VERSION_3_1; +#define GL_VERSION_3_2 1 +GLAD_API_CALL int GLAD_GL_VERSION_3_2; +#define GL_VERSION_3_3 1 +GLAD_API_CALL int GLAD_GL_VERSION_3_3; +#define GL_VERSION_4_0 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_0; +#define GL_VERSION_4_1 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_1; +#define GL_VERSION_4_2 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_2; +#define GL_VERSION_4_3 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_3; +#define GL_VERSION_4_4 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_4; +#define GL_VERSION_4_5 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_5; +#define GL_VERSION_4_6 1 +GLAD_API_CALL int GLAD_GL_VERSION_4_6; +#define GL_AMD_draw_buffers_blend 1 +GLAD_API_CALL int GLAD_GL_AMD_draw_buffers_blend; +#define GL_AMD_multi_draw_indirect 1 +GLAD_API_CALL int GLAD_GL_AMD_multi_draw_indirect; +#define GL_APPLE_flush_buffer_range 1 +GLAD_API_CALL int GLAD_GL_APPLE_flush_buffer_range; +#define GL_APPLE_vertex_array_object 1 +GLAD_API_CALL int GLAD_GL_APPLE_vertex_array_object; +#define GL_ARB_ES2_compatibility 1 +GLAD_API_CALL int GLAD_GL_ARB_ES2_compatibility; +#define GL_ARB_ES3_1_compatibility 1 +GLAD_API_CALL int GLAD_GL_ARB_ES3_1_compatibility; +#define GL_ARB_base_instance 1 +GLAD_API_CALL int GLAD_GL_ARB_base_instance; +#define GL_ARB_bindless_texture 1 +GLAD_API_CALL int GLAD_GL_ARB_bindless_texture; +#define GL_ARB_blend_func_extended 1 +GLAD_API_CALL int GLAD_GL_ARB_blend_func_extended; +#define GL_ARB_buffer_storage 1 +GLAD_API_CALL int GLAD_GL_ARB_buffer_storage; +#define GL_ARB_clear_buffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_clear_buffer_object; +#define GL_ARB_clear_texture 1 +GLAD_API_CALL int GLAD_GL_ARB_clear_texture; +#define GL_ARB_clip_control 1 +GLAD_API_CALL int GLAD_GL_ARB_clip_control; +#define GL_ARB_color_buffer_float 1 +GLAD_API_CALL int GLAD_GL_ARB_color_buffer_float; +#define GL_ARB_compute_shader 1 +GLAD_API_CALL int GLAD_GL_ARB_compute_shader; +#define GL_ARB_copy_buffer 1 +GLAD_API_CALL int GLAD_GL_ARB_copy_buffer; +#define GL_ARB_copy_image 1 +GLAD_API_CALL int GLAD_GL_ARB_copy_image; +#define GL_ARB_debug_output 1 +GLAD_API_CALL int GLAD_GL_ARB_debug_output; +#define GL_ARB_direct_state_access 1 +GLAD_API_CALL int GLAD_GL_ARB_direct_state_access; +#define GL_ARB_draw_buffers 1 +GLAD_API_CALL int GLAD_GL_ARB_draw_buffers; +#define GL_ARB_draw_buffers_blend 1 +GLAD_API_CALL int GLAD_GL_ARB_draw_buffers_blend; +#define GL_ARB_draw_elements_base_vertex 1 +GLAD_API_CALL int GLAD_GL_ARB_draw_elements_base_vertex; +#define GL_ARB_draw_indirect 1 +GLAD_API_CALL int GLAD_GL_ARB_draw_indirect; +#define GL_ARB_draw_instanced 1 +GLAD_API_CALL int GLAD_GL_ARB_draw_instanced; +#define GL_ARB_framebuffer_no_attachments 1 +GLAD_API_CALL int GLAD_GL_ARB_framebuffer_no_attachments; +#define GL_ARB_framebuffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_framebuffer_object; +#define GL_ARB_geometry_shader4 1 +GLAD_API_CALL int GLAD_GL_ARB_geometry_shader4; +#define GL_ARB_get_program_binary 1 +GLAD_API_CALL int GLAD_GL_ARB_get_program_binary; +#define GL_ARB_get_texture_sub_image 1 +GLAD_API_CALL int GLAD_GL_ARB_get_texture_sub_image; +#define GL_ARB_gl_spirv 1 +GLAD_API_CALL int GLAD_GL_ARB_gl_spirv; +#define GL_ARB_gpu_shader_fp64 1 +GLAD_API_CALL int GLAD_GL_ARB_gpu_shader_fp64; +#define GL_ARB_imaging 1 +GLAD_API_CALL int GLAD_GL_ARB_imaging; +#define GL_ARB_indirect_parameters 1 +GLAD_API_CALL int GLAD_GL_ARB_indirect_parameters; +#define GL_ARB_instanced_arrays 1 +GLAD_API_CALL int GLAD_GL_ARB_instanced_arrays; +#define GL_ARB_internalformat_query 1 +GLAD_API_CALL int GLAD_GL_ARB_internalformat_query; +#define GL_ARB_internalformat_query2 1 +GLAD_API_CALL int GLAD_GL_ARB_internalformat_query2; +#define GL_ARB_invalidate_subdata 1 +GLAD_API_CALL int GLAD_GL_ARB_invalidate_subdata; +#define GL_ARB_map_buffer_range 1 +GLAD_API_CALL int GLAD_GL_ARB_map_buffer_range; +#define GL_ARB_multi_bind 1 +GLAD_API_CALL int GLAD_GL_ARB_multi_bind; +#define GL_ARB_multi_draw_indirect 1 +GLAD_API_CALL int GLAD_GL_ARB_multi_draw_indirect; +#define GL_ARB_multisample 1 +GLAD_API_CALL int GLAD_GL_ARB_multisample; +#define GL_ARB_multitexture 1 +GLAD_API_CALL int GLAD_GL_ARB_multitexture; +#define GL_ARB_occlusion_query 1 +GLAD_API_CALL int GLAD_GL_ARB_occlusion_query; +#define GL_ARB_point_parameters 1 +GLAD_API_CALL int GLAD_GL_ARB_point_parameters; +#define GL_ARB_polygon_offset_clamp 1 +GLAD_API_CALL int GLAD_GL_ARB_polygon_offset_clamp; +#define GL_ARB_program_interface_query 1 +GLAD_API_CALL int GLAD_GL_ARB_program_interface_query; +#define GL_ARB_provoking_vertex 1 +GLAD_API_CALL int GLAD_GL_ARB_provoking_vertex; +#define GL_ARB_robustness 1 +GLAD_API_CALL int GLAD_GL_ARB_robustness; +#define GL_ARB_sample_shading 1 +GLAD_API_CALL int GLAD_GL_ARB_sample_shading; +#define GL_ARB_sampler_objects 1 +GLAD_API_CALL int GLAD_GL_ARB_sampler_objects; +#define GL_ARB_separate_shader_objects 1 +GLAD_API_CALL int GLAD_GL_ARB_separate_shader_objects; +#define GL_ARB_shader_atomic_counters 1 +GLAD_API_CALL int GLAD_GL_ARB_shader_atomic_counters; +#define GL_ARB_shader_image_load_store 1 +GLAD_API_CALL int GLAD_GL_ARB_shader_image_load_store; +#define GL_ARB_shader_objects 1 +GLAD_API_CALL int GLAD_GL_ARB_shader_objects; +#define GL_ARB_shader_storage_buffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_shader_storage_buffer_object; +#define GL_ARB_shader_subroutine 1 +GLAD_API_CALL int GLAD_GL_ARB_shader_subroutine; +#define GL_ARB_sync 1 +GLAD_API_CALL int GLAD_GL_ARB_sync; +#define GL_ARB_tessellation_shader 1 +GLAD_API_CALL int GLAD_GL_ARB_tessellation_shader; +#define GL_ARB_texture_barrier 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_barrier; +#define GL_ARB_texture_buffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_buffer_object; +#define GL_ARB_texture_buffer_range 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_buffer_range; +#define GL_ARB_texture_compression 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_compression; +#define GL_ARB_texture_multisample 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_multisample; +#define GL_ARB_texture_storage 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_storage; +#define GL_ARB_texture_storage_multisample 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_storage_multisample; +#define GL_ARB_texture_view 1 +GLAD_API_CALL int GLAD_GL_ARB_texture_view; +#define GL_ARB_timer_query 1 +GLAD_API_CALL int GLAD_GL_ARB_timer_query; +#define GL_ARB_transform_feedback2 1 +GLAD_API_CALL int GLAD_GL_ARB_transform_feedback2; +#define GL_ARB_transform_feedback3 1 +GLAD_API_CALL int GLAD_GL_ARB_transform_feedback3; +#define GL_ARB_transform_feedback_instanced 1 +GLAD_API_CALL int GLAD_GL_ARB_transform_feedback_instanced; +#define GL_ARB_uniform_buffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_uniform_buffer_object; +#define GL_ARB_vertex_array_object 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_array_object; +#define GL_ARB_vertex_attrib_64bit 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_attrib_64bit; +#define GL_ARB_vertex_attrib_binding 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_attrib_binding; +#define GL_ARB_vertex_buffer_object 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_buffer_object; +#define GL_ARB_vertex_program 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_program; +#define GL_ARB_vertex_shader 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_shader; +#define GL_ARB_vertex_type_2_10_10_10_rev 1 +GLAD_API_CALL int GLAD_GL_ARB_vertex_type_2_10_10_10_rev; +#define GL_ARB_viewport_array 1 +GLAD_API_CALL int GLAD_GL_ARB_viewport_array; +#define GL_ATI_draw_buffers 1 +GLAD_API_CALL int GLAD_GL_ATI_draw_buffers; +#define GL_ATI_separate_stencil 1 +GLAD_API_CALL int GLAD_GL_ATI_separate_stencil; +#define GL_EXT_blend_color 1 +GLAD_API_CALL int GLAD_GL_EXT_blend_color; +#define GL_EXT_blend_equation_separate 1 +GLAD_API_CALL int GLAD_GL_EXT_blend_equation_separate; +#define GL_EXT_blend_func_separate 1 +GLAD_API_CALL int GLAD_GL_EXT_blend_func_separate; +#define GL_EXT_blend_minmax 1 +GLAD_API_CALL int GLAD_GL_EXT_blend_minmax; +#define GL_EXT_copy_texture 1 +GLAD_API_CALL int GLAD_GL_EXT_copy_texture; +#define GL_EXT_direct_state_access 1 +GLAD_API_CALL int GLAD_GL_EXT_direct_state_access; +#define GL_EXT_draw_buffers2 1 +GLAD_API_CALL int GLAD_GL_EXT_draw_buffers2; +#define GL_EXT_draw_instanced 1 +GLAD_API_CALL int GLAD_GL_EXT_draw_instanced; +#define GL_EXT_draw_range_elements 1 +GLAD_API_CALL int GLAD_GL_EXT_draw_range_elements; +#define GL_EXT_framebuffer_blit 1 +GLAD_API_CALL int GLAD_GL_EXT_framebuffer_blit; +#define GL_EXT_framebuffer_multisample 1 +GLAD_API_CALL int GLAD_GL_EXT_framebuffer_multisample; +#define GL_EXT_framebuffer_object 1 +GLAD_API_CALL int GLAD_GL_EXT_framebuffer_object; +#define GL_EXT_geometry_shader4 1 +GLAD_API_CALL int GLAD_GL_EXT_geometry_shader4; +#define GL_EXT_gpu_shader4 1 +GLAD_API_CALL int GLAD_GL_EXT_gpu_shader4; +#define GL_EXT_multi_draw_arrays 1 +GLAD_API_CALL int GLAD_GL_EXT_multi_draw_arrays; +#define GL_EXT_point_parameters 1 +GLAD_API_CALL int GLAD_GL_EXT_point_parameters; +#define GL_EXT_polygon_offset_clamp 1 +GLAD_API_CALL int GLAD_GL_EXT_polygon_offset_clamp; +#define GL_EXT_provoking_vertex 1 +GLAD_API_CALL int GLAD_GL_EXT_provoking_vertex; +#define GL_EXT_shader_image_load_store 1 +GLAD_API_CALL int GLAD_GL_EXT_shader_image_load_store; +#define GL_EXT_subtexture 1 +GLAD_API_CALL int GLAD_GL_EXT_subtexture; +#define GL_EXT_texture3D 1 +GLAD_API_CALL int GLAD_GL_EXT_texture3D; +#define GL_EXT_texture_array 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_array; +#define GL_EXT_texture_buffer_object 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_buffer_object; +#define GL_EXT_texture_integer 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_integer; +#define GL_EXT_texture_object 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_object; +#define GL_EXT_texture_storage 1 +GLAD_API_CALL int GLAD_GL_EXT_texture_storage; +#define GL_EXT_timer_query 1 +GLAD_API_CALL int GLAD_GL_EXT_timer_query; +#define GL_EXT_transform_feedback 1 +GLAD_API_CALL int GLAD_GL_EXT_transform_feedback; +#define GL_EXT_vertex_array 1 +GLAD_API_CALL int GLAD_GL_EXT_vertex_array; +#define GL_EXT_vertex_attrib_64bit 1 +GLAD_API_CALL int GLAD_GL_EXT_vertex_attrib_64bit; +#define GL_INGR_blend_func_separate 1 +GLAD_API_CALL int GLAD_GL_INGR_blend_func_separate; +#define GL_KHR_debug 1 +GLAD_API_CALL int GLAD_GL_KHR_debug; +#define GL_KHR_robustness 1 +GLAD_API_CALL int GLAD_GL_KHR_robustness; +#define GL_NVX_conditional_render 1 +GLAD_API_CALL int GLAD_GL_NVX_conditional_render; +#define GL_NV_bindless_multi_draw_indirect 1 +GLAD_API_CALL int GLAD_GL_NV_bindless_multi_draw_indirect; +#define GL_NV_bindless_multi_draw_indirect_count 1 +GLAD_API_CALL int GLAD_GL_NV_bindless_multi_draw_indirect_count; +#define GL_NV_bindless_texture 1 +GLAD_API_CALL int GLAD_GL_NV_bindless_texture; +#define GL_NV_conditional_render 1 +GLAD_API_CALL int GLAD_GL_NV_conditional_render; +#define GL_NV_explicit_multisample 1 +GLAD_API_CALL int GLAD_GL_NV_explicit_multisample; +#define GL_NV_geometry_program4 1 +GLAD_API_CALL int GLAD_GL_NV_geometry_program4; +#define GL_NV_point_sprite 1 +GLAD_API_CALL int GLAD_GL_NV_point_sprite; +#define GL_NV_transform_feedback 1 +GLAD_API_CALL int GLAD_GL_NV_transform_feedback; +#define GL_NV_transform_feedback2 1 +GLAD_API_CALL int GLAD_GL_NV_transform_feedback2; +#define GL_NV_vertex_program 1 +GLAD_API_CALL int GLAD_GL_NV_vertex_program; +#define GL_NV_vertex_program4 1 +GLAD_API_CALL int GLAD_GL_NV_vertex_program4; +#define GL_OES_single_precision 1 +GLAD_API_CALL int GLAD_GL_OES_single_precision; +#define GL_SGIS_point_parameters 1 +GLAD_API_CALL int GLAD_GL_SGIS_point_parameters; + + +typedef void (GLAD_API_PTR *PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program); +typedef void (GLAD_API_PTR *PFNGLACTIVETEXTUREPROC)(GLenum texture); +typedef void (GLAD_API_PTR *PFNGLACTIVETEXTUREARBPROC)(GLenum texture); +typedef void (GLAD_API_PTR *PFNGLACTIVEVARYINGNVPROC)(GLuint program, const GLchar * name); +typedef GLboolean (GLAD_API_PTR *PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei n, const GLuint * programs, GLboolean * residences); +typedef GLboolean (GLAD_API_PTR *PFNGLARETEXTURESRESIDENTEXTPROC)(GLsizei n, const GLuint * textures, GLboolean * residences); +typedef void (GLAD_API_PTR *PFNGLARRAYELEMENTEXTPROC)(GLint i); +typedef void (GLAD_API_PTR *PFNGLATTACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB obj); +typedef void (GLAD_API_PTR *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); +typedef void (GLAD_API_PTR *PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBEGINCONDITIONALRENDERNVPROC)(GLuint id, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBEGINCONDITIONALRENDERNVXPROC)(GLuint id); +typedef void (GLAD_API_PTR *PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBEGINQUERYARBPROC)(GLenum target, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); +typedef void (GLAD_API_PTR *PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)(GLenum primitiveMode); +typedef void (GLAD_API_PTR *PFNGLBEGINTRANSFORMFEEDBACKNVPROC)(GLenum primitiveMode); +typedef void (GLAD_API_PTR *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLBINDATTRIBLOCATIONARBPROC)(GLhandleARB programObj, GLuint index, const GLcharARB * name); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERARBPROC)(GLenum target, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERBASEEXTPROC)(GLenum target, GLuint index, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERBASENVPROC)(GLenum target, GLuint index, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFEROFFSETEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFEROFFSETNVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERRANGEEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERRANGENVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes); +typedef void (GLAD_API_PTR *PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint program, GLuint color, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); +typedef void (GLAD_API_PTR *PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer); +typedef void (GLAD_API_PTR *PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +typedef void (GLAD_API_PTR *PFNGLBINDIMAGETEXTUREEXTPROC)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); +typedef void (GLAD_API_PTR *PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLBINDMULTITEXTUREEXTPROC)(GLenum texunit, GLenum target, GLuint texture); +typedef void (GLAD_API_PTR *PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program); +typedef void (GLAD_API_PTR *PFNGLBINDPROGRAMNVPROC)(GLenum target, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline); +typedef void (GLAD_API_PTR *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); +typedef void (GLAD_API_PTR *PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint * samplers); +typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); +typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREEXTPROC)(GLenum target, GLuint texture); +typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREUNITPROC)(GLuint unit, GLuint texture); +typedef void (GLAD_API_PTR *PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBINDTRANSFORMFEEDBACKNVPROC)(GLenum target, GLuint id); +typedef void (GLAD_API_PTR *PFNGLBINDVERTEXARRAYPROC)(GLuint array); +typedef void (GLAD_API_PTR *PFNGLBINDVERTEXARRAYAPPLEPROC)(GLuint array); +typedef void (GLAD_API_PTR *PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides); +typedef void (GLAD_API_PTR *PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (GLAD_API_PTR *PFNGLBLENDCOLOREXTPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONEXTPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONINDEXEDAMDPROC)(GLuint buf, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEEXTPROC)(GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEIARBPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONIARBPROC)(GLuint buf, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCINDEXEDAMDPROC)(GLuint buf, GLenum src, GLenum dst); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEEXTPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEINGRPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEIARBPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst); +typedef void (GLAD_API_PTR *PFNGLBLENDFUNCIARBPROC)(GLuint buf, GLenum src, GLenum dst); +typedef void (GLAD_API_PTR *PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (GLAD_API_PTR *PFNGLBLITFRAMEBUFFEREXTPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (GLAD_API_PTR *PFNGLBLITNAMEDFRAMEBUFFERPROC)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (GLAD_API_PTR *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void * data, GLenum usage); +typedef void (GLAD_API_PTR *PFNGLBUFFERDATAARBPROC)(GLenum target, GLsizeiptrARB size, const void * data, GLenum usage); +typedef void (GLAD_API_PTR *PFNGLBUFFERPARAMETERIAPPLEPROC)(GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags); +typedef void (GLAD_API_PTR *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data); +typedef void (GLAD_API_PTR *PFNGLBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void * data); +typedef GLenum (GLAD_API_PTR *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); +typedef GLenum (GLAD_API_PTR *PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum target); +typedef GLenum (GLAD_API_PTR *PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)(GLuint framebuffer, GLenum target); +typedef GLenum (GLAD_API_PTR *PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)(GLuint framebuffer, GLenum target); +typedef void (GLAD_API_PTR *PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); +typedef void (GLAD_API_PTR *PFNGLCLAMPCOLORARBPROC)(GLenum target, GLenum clamp); +typedef void (GLAD_API_PTR *PFNGLCLEARPROC)(GLbitfield mask); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (GLAD_API_PTR *PFNGLCLEARCOLORIIEXTPROC)(GLint red, GLint green, GLint blue, GLint alpha); +typedef void (GLAD_API_PTR *PFNGLCLEARCOLORIUIEXTPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha); +typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHPROC)(GLdouble depth); +typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHFPROC)(GLfloat d); +typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHFOESPROC)(GLclampf depth); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDBUFFERDATAPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLCLEARSTENCILPROC)(GLint s); +typedef void (GLAD_API_PTR *PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); +typedef void (GLAD_API_PTR *PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum texture); +typedef void (GLAD_API_PTR *PFNGLCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask); +typedef GLenum (GLAD_API_PTR *PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (GLAD_API_PTR *PFNGLCLIPCONTROLPROC)(GLenum origin, GLenum depth); +typedef void (GLAD_API_PTR *PFNGLCLIPPLANEFOESPROC)(GLenum plane, const GLfloat * equation); +typedef void (GLAD_API_PTR *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +typedef void (GLAD_API_PTR *PFNGLCOLORMASKINDEXEDEXTPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAD_API_PTR *PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAD_API_PTR *PFNGLCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLCOMPILESHADERPROC)(GLuint shader); +typedef void (GLAD_API_PTR *PFNGLCOMPILESHADERARBPROC)(GLhandleARB shaderObj); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data); +typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits); +typedef void (GLAD_API_PTR *PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAD_API_PTR *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); +typedef void (GLAD_API_PTR *PFNGLCOPYMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYNAMEDBUFFERSUBDATAPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE1DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE2DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLCREATEBUFFERSPROC)(GLsizei n, GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLCREATEFRAMEBUFFERSPROC)(GLsizei n, GLuint * framebuffers); +typedef GLuint (GLAD_API_PTR *PFNGLCREATEPROGRAMPROC)(void); +typedef GLhandleARB (GLAD_API_PTR *PFNGLCREATEPROGRAMOBJECTARBPROC)(void); +typedef void (GLAD_API_PTR *PFNGLCREATEPROGRAMPIPELINESPROC)(GLsizei n, GLuint * pipelines); +typedef void (GLAD_API_PTR *PFNGLCREATEQUERIESPROC)(GLenum target, GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLCREATERENDERBUFFERSPROC)(GLsizei n, GLuint * renderbuffers); +typedef void (GLAD_API_PTR *PFNGLCREATESAMPLERSPROC)(GLsizei n, GLuint * samplers); +typedef GLuint (GLAD_API_PTR *PFNGLCREATESHADERPROC)(GLenum type); +typedef GLhandleARB (GLAD_API_PTR *PFNGLCREATESHADEROBJECTARBPROC)(GLenum shaderType); +typedef GLuint (GLAD_API_PTR *PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar *const* strings); +typedef void (GLAD_API_PTR *PFNGLCREATETEXTURESPROC)(GLenum target, GLsizei n, GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLCREATETRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLCREATEVERTEXARRAYSPROC)(GLsizei n, GLuint * arrays); +typedef void (GLAD_API_PTR *PFNGLCULLFACEPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const void * userParam); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGECALLBACKARBPROC)(GLDEBUGPROCARB callback, const void * userParam); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGECONTROLARBPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf); +typedef void (GLAD_API_PTR *PFNGLDEBUGMESSAGEINSERTARBPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf); +typedef void (GLAD_API_PTR *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLDELETEBUFFERSARBPROC)(GLsizei n, const GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint * framebuffers); +typedef void (GLAD_API_PTR *PFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei n, const GLuint * framebuffers); +typedef void (GLAD_API_PTR *PFNGLDELETEOBJECTARBPROC)(GLhandleARB obj); +typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMPROC)(GLuint program); +typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint * pipelines); +typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint * programs); +typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMSNVPROC)(GLsizei n, const GLuint * programs); +typedef void (GLAD_API_PTR *PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLDELETEQUERIESARBPROC)(GLsizei n, const GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint * renderbuffers); +typedef void (GLAD_API_PTR *PFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei n, const GLuint * renderbuffers); +typedef void (GLAD_API_PTR *PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint * samplers); +typedef void (GLAD_API_PTR *PFNGLDELETESHADERPROC)(GLuint shader); +typedef void (GLAD_API_PTR *PFNGLDELETESYNCPROC)(GLsync sync); +typedef void (GLAD_API_PTR *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLDELETETEXTURESEXTPROC)(GLsizei n, const GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLDELETETRANSFORMFEEDBACKSNVPROC)(GLsizei n, const GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint * arrays); +typedef void (GLAD_API_PTR *PFNGLDELETEVERTEXARRAYSAPPLEPROC)(GLsizei n, const GLuint * arrays); +typedef void (GLAD_API_PTR *PFNGLDEPTHFUNCPROC)(GLenum func); +typedef void (GLAD_API_PTR *PFNGLDEPTHMASKPROC)(GLboolean flag); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEPROC)(GLdouble n, GLdouble f); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEARRAYDVNVPROC)(GLuint first, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEINDEXEDDNVPROC)(GLuint index, GLdouble n, GLdouble f); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f); +typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEFOESPROC)(GLclampf n, GLclampf f); +typedef void (GLAD_API_PTR *PFNGLDETACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB attachedObj); +typedef void (GLAD_API_PTR *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); +typedef void (GLAD_API_PTR *PFNGLDISABLEPROC)(GLenum cap); +typedef void (GLAD_API_PTR *PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEINDEXEDEXTPROC)(GLenum target, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array); +typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISABLEIPROC)(GLenum target, GLuint index); +typedef void (GLAD_API_PTR *PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +typedef void (GLAD_API_PTR *PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSEXTPROC)(GLenum mode, GLint first, GLsizei count); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const void * indirect); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSINSTANCEDARBPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSINSTANCEDEXTPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLDRAWBUFFERPROC)(GLenum buf); +typedef void (GLAD_API_PTR *PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum * bufs); +typedef void (GLAD_API_PTR *PFNGLDRAWBUFFERSARBPROC)(GLsizei n, const GLenum * bufs); +typedef void (GLAD_API_PTR *PFNGLDRAWBUFFERSATIPROC)(GLsizei n, const GLenum * bufs); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void * indirect); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDARBPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSINSTANCEDEXTPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices); +typedef void (GLAD_API_PTR *PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex); +typedef void (GLAD_API_PTR *PFNGLDRAWRANGEELEMENTSEXTPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices); +typedef void (GLAD_API_PTR *PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint id); +typedef void (GLAD_API_PTR *PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei instancecount); +typedef void (GLAD_API_PTR *PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum mode, GLuint id); +typedef void (GLAD_API_PTR *PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream); +typedef void (GLAD_API_PTR *PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); +typedef void (GLAD_API_PTR *PFNGLEDGEFLAGPOINTEREXTPROC)(GLsizei stride, GLsizei count, const GLboolean * pointer); +typedef void (GLAD_API_PTR *PFNGLENABLEPROC)(GLenum cap); +typedef void (GLAD_API_PTR *PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEINDEXEDEXTPROC)(GLenum target, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array); +typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint index); +typedef void (GLAD_API_PTR *PFNGLENABLEIPROC)(GLenum target, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENDCONDITIONALRENDERPROC)(void); +typedef void (GLAD_API_PTR *PFNGLENDCONDITIONALRENDERNVPROC)(void); +typedef void (GLAD_API_PTR *PFNGLENDCONDITIONALRENDERNVXPROC)(void); +typedef void (GLAD_API_PTR *PFNGLENDQUERYPROC)(GLenum target); +typedef void (GLAD_API_PTR *PFNGLENDQUERYARBPROC)(GLenum target); +typedef void (GLAD_API_PTR *PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index); +typedef void (GLAD_API_PTR *PFNGLENDTRANSFORMFEEDBACKPROC)(void); +typedef void (GLAD_API_PTR *PFNGLENDTRANSFORMFEEDBACKEXTPROC)(void); +typedef void (GLAD_API_PTR *PFNGLENDTRANSFORMFEEDBACKNVPROC)(void); +typedef void (GLAD_API_PTR *PFNGLEXECUTEPROGRAMNVPROC)(GLenum target, GLuint id, const GLfloat * params); +typedef GLsync (GLAD_API_PTR *PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); +typedef void (GLAD_API_PTR *PFNGLFINISHPROC)(void); +typedef void (GLAD_API_PTR *PFNGLFLUSHPROC)(void); +typedef void (GLAD_API_PTR *PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); +typedef void (GLAD_API_PTR *PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)(GLenum target, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAD_API_PTR *PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint framebuffer, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint framebuffer, GLsizei n, const GLenum * bufs); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint framebuffer, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTUREARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTUREEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAD_API_PTR *PFNGLFRONTFACEPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLFRUSTUMFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); +typedef void (GLAD_API_PTR *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLGENBUFFERSARBPROC)(GLsizei n, GLuint * buffers); +typedef void (GLAD_API_PTR *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint * framebuffers); +typedef void (GLAD_API_PTR *PFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei n, GLuint * framebuffers); +typedef void (GLAD_API_PTR *PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint * pipelines); +typedef void (GLAD_API_PTR *PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint * programs); +typedef void (GLAD_API_PTR *PFNGLGENPROGRAMSNVPROC)(GLsizei n, GLuint * programs); +typedef void (GLAD_API_PTR *PFNGLGENQUERIESPROC)(GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLGENQUERIESARBPROC)(GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint * renderbuffers); +typedef void (GLAD_API_PTR *PFNGLGENRENDERBUFFERSEXTPROC)(GLsizei n, GLuint * renderbuffers); +typedef void (GLAD_API_PTR *PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint * samplers); +typedef void (GLAD_API_PTR *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLGENTEXTURESEXTPROC)(GLsizei n, GLuint * textures); +typedef void (GLAD_API_PTR *PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLGENTRANSFORMFEEDBACKSNVPROC)(GLsizei n, GLuint * ids); +typedef void (GLAD_API_PTR *PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint * arrays); +typedef void (GLAD_API_PTR *PFNGLGENVERTEXARRAYSAPPLEPROC)(GLsizei n, GLuint * arrays); +typedef void (GLAD_API_PTR *PFNGLGENERATEMIPMAPPROC)(GLenum target); +typedef void (GLAD_API_PTR *PFNGLGENERATEMIPMAPEXTPROC)(GLenum target); +typedef void (GLAD_API_PTR *PFNGLGENERATEMULTITEXMIPMAPEXTPROC)(GLenum texunit, GLenum target); +typedef void (GLAD_API_PTR *PFNGLGENERATETEXTUREMIPMAPPROC)(GLuint texture); +typedef void (GLAD_API_PTR *PFNGLGENERATETEXTUREMIPMAPEXTPROC)(GLuint texture, GLenum target); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEATTRIBARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETACTIVEVARYINGNVPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj); +typedef void (GLAD_API_PTR *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders); +typedef GLint (GLAD_API_PTR *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB * name); +typedef void (GLAD_API_PTR *PFNGLGETBOOLEANINDEXEDVEXTPROC)(GLenum target, GLuint index, GLboolean * data); +typedef void (GLAD_API_PTR *PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean * data); +typedef void (GLAD_API_PTR *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean * data); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERIVARBPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERPOINTERVARBPROC)(GLenum target, GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void * data); +typedef void (GLAD_API_PTR *PFNGLGETBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data); +typedef void (GLAD_API_PTR *PFNGLGETCLIPPLANEFOESPROC)(GLenum plane, GLfloat * equation); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint lod, void * img); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void * img); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint level, void * img); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLsizei bufSize, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint lod, void * img); +typedef void (GLAD_API_PTR *PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void * pixels); +typedef GLuint (GLAD_API_PTR *PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog); +typedef GLuint (GLAD_API_PTR *PFNGLGETDEBUGMESSAGELOGARBPROC)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog); +typedef void (GLAD_API_PTR *PFNGLGETDOUBLEINDEXEDVEXTPROC)(GLenum target, GLuint index, GLdouble * data); +typedef void (GLAD_API_PTR *PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble * data); +typedef void (GLAD_API_PTR *PFNGLGETDOUBLEI_VEXTPROC)(GLenum pname, GLuint index, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble * data); +typedef GLenum (GLAD_API_PTR *PFNGLGETERRORPROC)(void); +typedef void (GLAD_API_PTR *PFNGLGETFLOATINDEXEDVEXTPROC)(GLenum target, GLuint index, GLfloat * data); +typedef void (GLAD_API_PTR *PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat * data); +typedef void (GLAD_API_PTR *PFNGLGETFLOATI_VEXTPROC)(GLenum pname, GLuint index, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat * data); +typedef GLint (GLAD_API_PTR *PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint program, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint * params); +typedef GLenum (GLAD_API_PTR *PFNGLGETGRAPHICSRESETSTATUSPROC)(void); +typedef GLenum (GLAD_API_PTR *PFNGLGETGRAPHICSRESETSTATUSARBPROC)(void); +typedef GLhandleARB (GLAD_API_PTR *PFNGLGETHANDLEARBPROC)(GLenum pname); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETIMAGEHANDLEARBPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETIMAGEHANDLENVPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef void (GLAD_API_PTR *PFNGLGETINFOLOGARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); +typedef void (GLAD_API_PTR *PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 * data); +typedef void (GLAD_API_PTR *PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 * data); +typedef void (GLAD_API_PTR *PFNGLGETINTEGERINDEXEDVEXTPROC)(GLenum target, GLuint index, GLint * data); +typedef void (GLAD_API_PTR *PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint * data); +typedef void (GLAD_API_PTR *PFNGLGETINTEGERVPROC)(GLenum pname, GLint * data); +typedef void (GLAD_API_PTR *PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat * val); +typedef void (GLAD_API_PTR *PFNGLGETMULTISAMPLEFVNVPROC)(GLenum pname, GLuint index, GLfloat * val); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)(GLuint buffer, GLenum pname, GLint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERPARAMETERIVPROC)(GLuint buffer, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)(GLuint buffer, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERPOINTERVPROC)(GLuint buffer, GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)(GLuint buffer, GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)(GLuint framebuffer, GLenum pname, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum pname, void * string); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDPROGRAMIVEXTPROC)(GLuint program, GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)(GLuint renderbuffer, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)(GLuint renderbuffer, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label); +typedef void (GLAD_API_PTR *PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB obj, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB obj, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETOBJECTPTRLABELPROC)(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label); +typedef void (GLAD_API_PTR *PFNGLGETPOINTERINDEXEDVEXTPROC)(GLenum target, GLuint index, void ** data); +typedef void (GLAD_API_PTR *PFNGLGETPOINTERI_VEXTPROC)(GLenum pname, GLuint index, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETPOINTERVPROC)(GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETPOINTERVEXTPROC)(GLenum pname, void ** params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMPARAMETERDVNVPROC)(GLenum target, GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint * params); +typedef GLuint (GLAD_API_PTR *PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei count, GLsizei * length, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shadertype, GLenum pname, GLint * values); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, void * string); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMSTRINGNVPROC)(GLuint id, GLenum pname, GLubyte * program); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVNVPROC)(GLuint id, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYBUFFEROBJECTI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLGETQUERYBUFFEROBJECTIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLGETQUERYBUFFEROBJECTUI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLGETQUERYBUFFEROBJECTUIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTI64VEXTPROC)(GLuint id, GLenum pname, GLint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTIVARBPROC)(GLuint id, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTUI64VEXTPROC)(GLuint id, GLenum pname, GLuint64 * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYOBJECTUIVARBPROC)(GLuint id, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETQUERYIVARBPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); +typedef void (GLAD_API_PTR *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); +typedef void (GLAD_API_PTR *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source); +typedef void (GLAD_API_PTR *PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source); +typedef void (GLAD_API_PTR *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint * params); +typedef const GLubyte * (GLAD_API_PTR *PFNGLGETSTRINGPROC)(GLenum name); +typedef const GLubyte * (GLAD_API_PTR *PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); +typedef GLuint (GLAD_API_PTR *PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shadertype, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shadertype, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei count, GLsizei * length, GLint * values); +typedef void (GLAD_API_PTR *PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETTEXTUREHANDLEARBPROC)(GLuint texture); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETTEXTUREHANDLENVPROC)(GLuint texture); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETTEXTURELEVELPARAMETERFVPROC)(GLuint texture, GLint level, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTURELEVELPARAMETERIVPROC)(GLuint texture, GLint level, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint * params); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint texture, GLuint sampler); +typedef GLuint64 (GLAD_API_PTR *PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint texture, GLuint sampler); +typedef void (GLAD_API_PTR *PFNGLGETTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETTRACKMATRIXIVNVPROC)(GLenum target, GLuint address, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)(GLuint program, GLuint index, GLint * location); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKI64_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint64 * param); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKI_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETTRANSFORMFEEDBACKIVPROC)(GLuint xfb, GLenum pname, GLint * param); +typedef GLuint (GLAD_API_PTR *PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar * uniformBlockName); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices); +typedef GLint (GLAD_API_PTR *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar * name); +typedef GLint (GLAD_API_PTR *PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB * name); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shadertype, GLint location, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETUNIFORMUIVEXTPROC)(GLuint program, GLint location, GLuint * params); +typedef GLint (GLAD_API_PTR *PFNGLGETVARYINGLOCATIONNVPROC)(GLuint program, const GLchar * name); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYINDEXED64IVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint64 * param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYINDEXEDIVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYINTEGERVEXTPROC)(GLuint vaobj, GLenum pname, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, void ** param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYPOINTERVEXTPROC)(GLuint vaobj, GLenum pname, void ** param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXARRAYIVPROC)(GLuint vaobj, GLenum pname, GLint * param); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIIVEXTPROC)(GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIUIVEXTPROC)(GLuint index, GLenum pname, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBLDVEXTPROC)(GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBLUI64VARBPROC)(GLuint index, GLenum pname, GLuint64EXT * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void ** pointer); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint index, GLenum pname, void ** pointer); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVNVPROC)(GLuint index, GLenum pname, void ** pointer); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBDVNVPROC)(GLuint index, GLenum pname, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint index, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVNVPROC)(GLuint index, GLenum pname, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVNVPROC)(GLuint index, GLenum pname, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLsizei bufSize, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLsizei bufSize, void * img); +typedef void (GLAD_API_PTR *PFNGLGETNTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels); +typedef void (GLAD_API_PTR *PFNGLGETNTEXIMAGEARBPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * img); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMDVPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMDVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMFVPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMFVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMUIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLGETNUNIFORMUIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint * params); +typedef void (GLAD_API_PTR *PFNGLHINTPROC)(GLenum target, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLINDEXPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAD_API_PTR *PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum * attachments); +typedef void (GLAD_API_PTR *PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments); +typedef void (GLAD_API_PTR *PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); +typedef GLboolean (GLAD_API_PTR *PFNGLISBUFFERPROC)(GLuint buffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISBUFFERARBPROC)(GLuint buffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDPROC)(GLenum cap); +typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDINDEXEDEXTPROC)(GLenum target, GLuint index); +typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDIPROC)(GLenum target, GLuint index); +typedef GLboolean (GLAD_API_PTR *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISFRAMEBUFFEREXTPROC)(GLuint framebuffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle); +typedef GLboolean (GLAD_API_PTR *PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle); +typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMPROC)(GLuint program); +typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMARBPROC)(GLuint program); +typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMNVPROC)(GLuint id); +typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline); +typedef GLboolean (GLAD_API_PTR *PFNGLISQUERYPROC)(GLuint id); +typedef GLboolean (GLAD_API_PTR *PFNGLISQUERYARBPROC)(GLuint id); +typedef GLboolean (GLAD_API_PTR *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer); +typedef GLboolean (GLAD_API_PTR *PFNGLISSAMPLERPROC)(GLuint sampler); +typedef GLboolean (GLAD_API_PTR *PFNGLISSHADERPROC)(GLuint shader); +typedef GLboolean (GLAD_API_PTR *PFNGLISSYNCPROC)(GLsync sync); +typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREPROC)(GLuint texture); +typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREEXTPROC)(GLuint texture); +typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle); +typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle); +typedef GLboolean (GLAD_API_PTR *PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id); +typedef GLboolean (GLAD_API_PTR *PFNGLISTRANSFORMFEEDBACKNVPROC)(GLuint id); +typedef GLboolean (GLAD_API_PTR *PFNGLISVERTEXARRAYPROC)(GLuint array); +typedef GLboolean (GLAD_API_PTR *PFNGLISVERTEXARRAYAPPLEPROC)(GLuint array); +typedef void (GLAD_API_PTR *PFNGLLINEWIDTHPROC)(GLfloat width); +typedef void (GLAD_API_PTR *PFNGLLINKPROGRAMPROC)(GLuint program); +typedef void (GLAD_API_PTR *PFNGLLINKPROGRAMARBPROC)(GLhandleARB programObj); +typedef void (GLAD_API_PTR *PFNGLLOADPROGRAMNVPROC)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); +typedef void (GLAD_API_PTR *PFNGLLOGICOPPROC)(GLenum opcode); +typedef void (GLAD_API_PTR *PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)(GLuint64 handle); +typedef void (GLAD_API_PTR *PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64 handle); +typedef void (GLAD_API_PTR *PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle, GLenum access); +typedef void (GLAD_API_PTR *PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle, GLenum access); +typedef void (GLAD_API_PTR *PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)(GLuint64 handle); +typedef void (GLAD_API_PTR *PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64 handle); +typedef void (GLAD_API_PTR *PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle); +typedef void (GLAD_API_PTR *PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle); +typedef void * (GLAD_API_PTR *PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); +typedef void * (GLAD_API_PTR *PFNGLMAPBUFFERARBPROC)(GLenum target, GLenum access); +typedef void * (GLAD_API_PTR *PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void * (GLAD_API_PTR *PFNGLMAPNAMEDBUFFERPROC)(GLuint buffer, GLenum access); +typedef void * (GLAD_API_PTR *PFNGLMAPNAMEDBUFFEREXTPROC)(GLuint buffer, GLenum access); +typedef void * (GLAD_API_PTR *PFNGLMAPNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void * (GLAD_API_PTR *PFNGLMAPNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAD_API_PTR *PFNGLMATRIXFRUSTUMEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (GLAD_API_PTR *PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLMATRIXLOADTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXLOADTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXLOADDEXTPROC)(GLenum mode, const GLdouble * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXLOADFEXTPROC)(GLenum mode, const GLfloat * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXMULTTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXMULTTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXMULTDEXTPROC)(GLenum mode, const GLdouble * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXMULTFEXTPROC)(GLenum mode, const GLfloat * m); +typedef void (GLAD_API_PTR *PFNGLMATRIXORTHOEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (GLAD_API_PTR *PFNGLMATRIXPOPEXTPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLMATRIXPUSHEXTPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLMATRIXROTATEDEXTPROC)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLMATRIXROTATEFEXTPROC)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLMATRIXSCALEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLMATRIXSCALEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLMEMORYBARRIERPROC)(GLbitfield barriers); +typedef void (GLAD_API_PTR *PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers); +typedef void (GLAD_API_PTR *PFNGLMEMORYBARRIEREXTPROC)(GLbitfield barriers); +typedef void (GLAD_API_PTR *PFNGLMINSAMPLESHADINGPROC)(GLfloat value); +typedef void (GLAD_API_PTR *PFNGLMINSAMPLESHADINGARBPROC)(GLfloat value); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSEXTPROC)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)(GLenum mode, const void * indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)(GLenum mode, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)(GLenum mode, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount, const GLint * basevertex); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSEXTPROC)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)(GLenum mode, GLenum type, const void * indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)(GLenum mode, GLenum type, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)(GLenum mode, GLenum type, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLMULTITEXBUFFEREXTPROC)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1DARBPROC)(GLenum target, GLdouble s); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1DVARBPROC)(GLenum target, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1FARBPROC)(GLenum target, GLfloat s); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1FVARBPROC)(GLenum target, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1IARBPROC)(GLenum target, GLint s); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1IVARBPROC)(GLenum target, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1SARBPROC)(GLenum target, GLshort s); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD1SVARBPROC)(GLenum target, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2DARBPROC)(GLenum target, GLdouble s, GLdouble t); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2DVARBPROC)(GLenum target, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2FARBPROC)(GLenum target, GLfloat s, GLfloat t); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2FVARBPROC)(GLenum target, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2IARBPROC)(GLenum target, GLint s, GLint t); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2IVARBPROC)(GLenum target, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2SARBPROC)(GLenum target, GLshort s, GLshort t); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD2SVARBPROC)(GLenum target, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3DVARBPROC)(GLenum target, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3FVARBPROC)(GLenum target, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3IARBPROC)(GLenum target, GLint s, GLint t, GLint r); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3IVARBPROC)(GLenum target, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD3SVARBPROC)(GLenum target, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4DVARBPROC)(GLenum target, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4FVARBPROC)(GLenum target, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4IARBPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4IVARBPROC)(GLenum target, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORD4SVARBPROC)(GLenum target, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORDPOINTEREXTPROC)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLMULTITEXENVFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXENVIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENDEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENFEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENIEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLMULTITEXRENDERBUFFEREXTPROC)(GLenum texunit, GLenum target, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERDATAPROC)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERSTORAGEPROC)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERSTORAGEEXTPROC)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data); +typedef void (GLAD_API_PTR *PFNGLNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data); +typedef void (GLAD_API_PTR *PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)(GLuint framebuffer, GLenum buf); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)(GLuint framebuffer, GLsizei n, const GLenum * bufs); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)(GLuint framebuffer, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint framebuffer, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)(GLuint framebuffer, GLenum src); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum format, GLsizei len, const void * string); +typedef void (GLAD_API_PTR *PFNGLNAMEDRENDERBUFFERSTORAGEPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLNORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label); +typedef void (GLAD_API_PTR *PFNGLOBJECTPTRLABELPROC)(const void * ptr, GLsizei length, const GLchar * label); +typedef void (GLAD_API_PTR *PFNGLORTHOFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); +typedef void (GLAD_API_PTR *PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat * values); +typedef void (GLAD_API_PTR *PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value); +typedef void (GLAD_API_PTR *PFNGLPAUSETRANSFORMFEEDBACKPROC)(void); +typedef void (GLAD_API_PTR *PFNGLPAUSETRANSFORMFEEDBACKNVPROC)(void); +typedef void (GLAD_API_PTR *PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFARBPROC)(GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFEXTPROC)(GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFSGISPROC)(GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFVARBPROC)(GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFVEXTPROC)(GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERFVSGISPROC)(GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERINVPROC)(GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLPOINTPARAMETERIVNVPROC)(GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLPOINTSIZEPROC)(GLfloat size); +typedef void (GLAD_API_PTR *PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); +typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); +typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETCLAMPPROC)(GLfloat factor, GLfloat units, GLfloat clamp); +typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETCLAMPEXTPROC)(GLfloat factor, GLfloat units, GLfloat clamp); +typedef void (GLAD_API_PTR *PFNGLPOPDEBUGGROUPPROC)(void); +typedef void (GLAD_API_PTR *PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); +typedef void (GLAD_API_PTR *PFNGLPRIORITIZETEXTURESEXTPROC)(GLsizei n, const GLuint * textures, const GLclampf * priorities); +typedef void (GLAD_API_PTR *PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length); +typedef void (GLAD_API_PTR *PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble * params); +typedef void (GLAD_API_PTR *PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETER4DNVPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETER4DVNVPROC)(GLenum target, GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETER4FNVPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETER4FVNVPROC)(GLenum target, GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETERIARBPROC)(GLuint program, GLenum pname, GLint value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETERIEXTPROC)(GLuint program, GLenum pname, GLint value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETERS4DVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLPROGRAMPARAMETERS4FVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len, const void * string); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1DEXTPROC)(GLuint program, GLint location, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1FEXTPROC)(GLuint program, GLint location, GLfloat v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint program, GLint location, GLint v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint program, GLint location, GLuint v0); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM1UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM2UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM3UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint program, GLint location, GLuint64 value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint program, GLint location, GLuint64 value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * values); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * values); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLPROGRAMVERTEXLIMITNVPROC)(GLenum target, GLint limit); +typedef void (GLAD_API_PTR *PFNGLPROVOKINGVERTEXPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLPROVOKINGVERTEXEXTPROC)(GLenum mode); +typedef void (GLAD_API_PTR *PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask); +typedef void (GLAD_API_PTR *PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar * message); +typedef void (GLAD_API_PTR *PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); +typedef void (GLAD_API_PTR *PFNGLREADBUFFERPROC)(GLenum src); +typedef void (GLAD_API_PTR *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels); +typedef void (GLAD_API_PTR *PFNGLREADNPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data); +typedef void (GLAD_API_PTR *PFNGLREADNPIXELSARBPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data); +typedef void (GLAD_API_PTR *PFNGLRELEASESHADERCOMPILERPROC)(void); +typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLREQUESTRESIDENTPROGRAMSNVPROC)(GLsizei n, const GLuint * programs); +typedef void (GLAD_API_PTR *PFNGLRESUMETRANSFORMFEEDBACKPROC)(void); +typedef void (GLAD_API_PTR *PFNGLRESUMETRANSFORMFEEDBACKNVPROC)(void); +typedef void (GLAD_API_PTR *PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); +typedef void (GLAD_API_PTR *PFNGLSAMPLECOVERAGEARBPROC)(GLfloat value, GLboolean invert); +typedef void (GLAD_API_PTR *PFNGLSAMPLEMASKINDEXEDNVPROC)(GLuint index, GLbitfield mask); +typedef void (GLAD_API_PTR *PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint * param); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint * param); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat * param); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint * param); +typedef void (GLAD_API_PTR *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length); +typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length); +typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length); +typedef void (GLAD_API_PTR *PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); +typedef void (GLAD_API_PTR *PFNGLSPECIALIZESHADERPROC)(GLuint shader, const GLchar * pEntryPoint, GLuint numSpecializationConstants, const GLuint * pConstantIndex, const GLuint * pConstantValue); +typedef void (GLAD_API_PTR *PFNGLSPECIALIZESHADERARBPROC)(GLuint shader, const GLchar * pEntryPoint, GLuint numSpecializationConstants, const GLuint * pConstantIndex, const GLuint * pConstantValue); +typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); +typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); +typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (GLAD_API_PTR *PFNGLSTENCILMASKPROC)(GLuint mask); +typedef void (GLAD_API_PTR *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); +typedef void (GLAD_API_PTR *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); +typedef void (GLAD_API_PTR *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (GLAD_API_PTR *PFNGLSTENCILOPSEPARATEATIPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (GLAD_API_PTR *PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTEXBUFFERARBPROC)(GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTEXBUFFEREXTPROC)(GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLTEXCOORDPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXRENDERBUFFERNVPROC)(GLenum target, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE1DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE2DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE3DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAD_API_PTR *PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTUREBARRIERPROC)(void); +typedef void (GLAD_API_PTR *PFNGLTEXTUREBUFFERPROC)(GLuint texture, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTEXTUREBUFFEREXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTEXTUREBUFFERRANGEPROC)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPAGECOMMITMENTEXTPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLuint * params); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERFPROC)(GLuint texture, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERFEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, const GLfloat * param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLfloat * params); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIPROC)(GLuint texture, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, const GLint * param); +typedef void (GLAD_API_PTR *PFNGLTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint * params); +typedef void (GLAD_API_PTR *PFNGLTEXTURERENDERBUFFEREXTPROC)(GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE1DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE1DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE2DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE2DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE3DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE3DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels); +typedef void (GLAD_API_PTR *PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +typedef void (GLAD_API_PTR *PFNGLTRACKMATRIXNVPROC)(GLenum target, GLuint address, GLenum matrix, GLenum transform); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)(GLsizei count, const GLint * attribs, GLenum bufferMode); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)(GLuint xfb, GLuint index, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC)(GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode); +typedef void (GLAD_API_PTR *PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)(GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1DPROC)(GLint location, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1FARBPROC)(GLint location, GLfloat v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1IPROC)(GLint location, GLint v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1UIEXTPROC)(GLint location, GLuint v0); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM1UIVEXTPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2FARBPROC)(GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2UIEXTPROC)(GLint location, GLuint v0, GLuint v1); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM2UIVEXTPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM3UIVEXTPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORM4UIVEXTPROC)(GLint location, GLsizei count, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +typedef void (GLAD_API_PTR *PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint location, GLuint64 value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMHANDLEUI64NVPROC)(GLint location, GLuint64 value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint location, GLsizei count, const GLuint64 * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); +typedef void (GLAD_API_PTR *PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shadertype, GLsizei count, const GLuint * indices); +typedef GLboolean (GLAD_API_PTR *PFNGLUNMAPBUFFERPROC)(GLenum target); +typedef GLboolean (GLAD_API_PTR *PFNGLUNMAPBUFFERARBPROC)(GLenum target); +typedef GLboolean (GLAD_API_PTR *PFNGLUNMAPNAMEDBUFFERPROC)(GLuint buffer); +typedef GLboolean (GLAD_API_PTR *PFNGLUNMAPNAMEDBUFFEREXTPROC)(GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMPROC)(GLuint program); +typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB programObj); +typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMPROC)(GLuint program); +typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB programObj); +typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYATTRIBBINDINGPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYATTRIBFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYATTRIBIFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYATTRIBLFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYBINDINGDIVISORPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYELEMENTBUFFERPROC)(GLuint vaobj, GLuint buffer); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)(GLuint vaobj, GLuint index, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXBUFFERPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXBUFFERSPROC)(GLuint vaobj, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides); +typedef void (GLAD_API_PTR *PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DARBPROC)(GLuint index, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DNVPROC)(GLuint index, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DVARBPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1DVNVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FARBPROC)(GLuint index, GLfloat x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FNVPROC)(GLuint index, GLfloat x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVARBPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVNVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SARBPROC)(GLuint index, GLshort x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SNVPROC)(GLuint index, GLshort x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SVARBPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1SVNVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DARBPROC)(GLuint index, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DNVPROC)(GLuint index, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DVARBPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2DVNVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FARBPROC)(GLuint index, GLfloat x, GLfloat y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FNVPROC)(GLuint index, GLfloat x, GLfloat y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVARBPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVNVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SARBPROC)(GLuint index, GLshort x, GLshort y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SNVPROC)(GLuint index, GLshort x, GLshort y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SVARBPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2SVNVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DVARBPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3DVNVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVARBPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVNVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SVARBPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3SVNVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4BVARBPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DVARBPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4DVNVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVARBPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVNVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4IVARBPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SVARBPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4SVNVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UBNVPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UBVNVPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4USVARBPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBDIVISORARBPROC)(GLuint index, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1IEXTPROC)(GLuint index, GLint x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1IVEXTPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1UIEXTPROC)(GLuint index, GLuint x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI1UIVEXTPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2IEXTPROC)(GLuint index, GLint x, GLint y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2IVEXTPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2UIEXTPROC)(GLuint index, GLuint x, GLuint y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI2UIVEXTPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3IEXTPROC)(GLuint index, GLint x, GLint y, GLint z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3IVEXTPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI3UIVEXTPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4BVEXTPROC)(GLuint index, const GLbyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4IEXTPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4IVEXTPROC)(GLuint index, const GLint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4SVEXTPROC)(GLuint index, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UBVEXTPROC)(GLuint index, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4UIVEXTPROC)(GLuint index, const GLuint * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBI4USVEXTPROC)(GLuint index, const GLushort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBIPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1DEXTPROC)(GLuint index, GLdouble x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1DVEXTPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1UI64ARBPROC)(GLuint index, GLuint64EXT x); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL1UI64VARBPROC)(GLuint index, const GLuint64EXT * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL2DEXTPROC)(GLuint index, GLdouble x, GLdouble y); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL2DVEXTPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL3DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL3DVEXTPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL4DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBL4DVEXTPROC)(GLuint index, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBLPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERNVPROC)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS1DVNVPROC)(GLuint index, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS1FVNVPROC)(GLuint index, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS1SVNVPROC)(GLuint index, GLsizei count, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS2DVNVPROC)(GLuint index, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS2FVNVPROC)(GLuint index, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS2SVNVPROC)(GLuint index, GLsizei count, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS3DVNVPROC)(GLuint index, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS3FVNVPROC)(GLuint index, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS3SVNVPROC)(GLuint index, GLsizei count, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS4DVNVPROC)(GLuint index, GLsizei count, const GLdouble * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS4FVNVPROC)(GLuint index, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS4SVNVPROC)(GLuint index, GLsizei count, const GLshort * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBS4UBVNVPROC)(GLuint index, GLsizei count, const GLubyte * v); +typedef void (GLAD_API_PTR *PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor); +typedef void (GLAD_API_PTR *PFNGLVERTEXPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer); +typedef void (GLAD_API_PTR *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAD_API_PTR *PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GLAD_API_PTR *PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat * v); +typedef void (GLAD_API_PTR *PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); + +GLAD_API_CALL PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram; +GLAD_API_CALL PFNGLACTIVESHADERPROGRAMPROC glad_debug_glActiveShaderProgram; +#define glActiveShaderProgram glad_debug_glActiveShaderProgram +GLAD_API_CALL PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +GLAD_API_CALL PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture; +#define glActiveTexture glad_debug_glActiveTexture +GLAD_API_CALL PFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB; +GLAD_API_CALL PFNGLACTIVETEXTUREARBPROC glad_debug_glActiveTextureARB; +#define glActiveTextureARB glad_debug_glActiveTextureARB +GLAD_API_CALL PFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV; +GLAD_API_CALL PFNGLACTIVEVARYINGNVPROC glad_debug_glActiveVaryingNV; +#define glActiveVaryingNV glad_debug_glActiveVaryingNV +GLAD_API_CALL PFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV; +GLAD_API_CALL PFNGLAREPROGRAMSRESIDENTNVPROC glad_debug_glAreProgramsResidentNV; +#define glAreProgramsResidentNV glad_debug_glAreProgramsResidentNV +GLAD_API_CALL PFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT; +GLAD_API_CALL PFNGLARETEXTURESRESIDENTEXTPROC glad_debug_glAreTexturesResidentEXT; +#define glAreTexturesResidentEXT glad_debug_glAreTexturesResidentEXT +GLAD_API_CALL PFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT; +GLAD_API_CALL PFNGLARRAYELEMENTEXTPROC glad_debug_glArrayElementEXT; +#define glArrayElementEXT glad_debug_glArrayElementEXT +GLAD_API_CALL PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB; +GLAD_API_CALL PFNGLATTACHOBJECTARBPROC glad_debug_glAttachObjectARB; +#define glAttachObjectARB glad_debug_glAttachObjectARB +GLAD_API_CALL PFNGLATTACHSHADERPROC glad_glAttachShader; +GLAD_API_CALL PFNGLATTACHSHADERPROC glad_debug_glAttachShader; +#define glAttachShader glad_debug_glAttachShader +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender; +#define glBeginConditionalRender glad_debug_glBeginConditionalRender +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV; +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERNVPROC glad_debug_glBeginConditionalRenderNV; +#define glBeginConditionalRenderNV glad_debug_glBeginConditionalRenderNV +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX; +GLAD_API_CALL PFNGLBEGINCONDITIONALRENDERNVXPROC glad_debug_glBeginConditionalRenderNVX; +#define glBeginConditionalRenderNVX glad_debug_glBeginConditionalRenderNVX +GLAD_API_CALL PFNGLBEGINQUERYPROC glad_glBeginQuery; +GLAD_API_CALL PFNGLBEGINQUERYPROC glad_debug_glBeginQuery; +#define glBeginQuery glad_debug_glBeginQuery +GLAD_API_CALL PFNGLBEGINQUERYARBPROC glad_glBeginQueryARB; +GLAD_API_CALL PFNGLBEGINQUERYARBPROC glad_debug_glBeginQueryARB; +#define glBeginQueryARB glad_debug_glBeginQueryARB +GLAD_API_CALL PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed; +GLAD_API_CALL PFNGLBEGINQUERYINDEXEDPROC glad_debug_glBeginQueryIndexed; +#define glBeginQueryIndexed glad_debug_glBeginQueryIndexed +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback; +#define glBeginTransformFeedback glad_debug_glBeginTransformFeedback +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT; +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_debug_glBeginTransformFeedbackEXT; +#define glBeginTransformFeedbackEXT glad_debug_glBeginTransformFeedbackEXT +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV; +GLAD_API_CALL PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_debug_glBeginTransformFeedbackNV; +#define glBeginTransformFeedbackNV glad_debug_glBeginTransformFeedbackNV +GLAD_API_CALL PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +GLAD_API_CALL PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation; +#define glBindAttribLocation glad_debug_glBindAttribLocation +GLAD_API_CALL PFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB; +GLAD_API_CALL PFNGLBINDATTRIBLOCATIONARBPROC glad_debug_glBindAttribLocationARB; +#define glBindAttribLocationARB glad_debug_glBindAttribLocationARB +GLAD_API_CALL PFNGLBINDBUFFERPROC glad_glBindBuffer; +GLAD_API_CALL PFNGLBINDBUFFERPROC glad_debug_glBindBuffer; +#define glBindBuffer glad_debug_glBindBuffer +GLAD_API_CALL PFNGLBINDBUFFERARBPROC glad_glBindBufferARB; +GLAD_API_CALL PFNGLBINDBUFFERARBPROC glad_debug_glBindBufferARB; +#define glBindBufferARB glad_debug_glBindBufferARB +GLAD_API_CALL PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +GLAD_API_CALL PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase; +#define glBindBufferBase glad_debug_glBindBufferBase +GLAD_API_CALL PFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT; +GLAD_API_CALL PFNGLBINDBUFFERBASEEXTPROC glad_debug_glBindBufferBaseEXT; +#define glBindBufferBaseEXT glad_debug_glBindBufferBaseEXT +GLAD_API_CALL PFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV; +GLAD_API_CALL PFNGLBINDBUFFERBASENVPROC glad_debug_glBindBufferBaseNV; +#define glBindBufferBaseNV glad_debug_glBindBufferBaseNV +GLAD_API_CALL PFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT; +GLAD_API_CALL PFNGLBINDBUFFEROFFSETEXTPROC glad_debug_glBindBufferOffsetEXT; +#define glBindBufferOffsetEXT glad_debug_glBindBufferOffsetEXT +GLAD_API_CALL PFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV; +GLAD_API_CALL PFNGLBINDBUFFEROFFSETNVPROC glad_debug_glBindBufferOffsetNV; +#define glBindBufferOffsetNV glad_debug_glBindBufferOffsetNV +GLAD_API_CALL PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +GLAD_API_CALL PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange; +#define glBindBufferRange glad_debug_glBindBufferRange +GLAD_API_CALL PFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT; +GLAD_API_CALL PFNGLBINDBUFFERRANGEEXTPROC glad_debug_glBindBufferRangeEXT; +#define glBindBufferRangeEXT glad_debug_glBindBufferRangeEXT +GLAD_API_CALL PFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV; +GLAD_API_CALL PFNGLBINDBUFFERRANGENVPROC glad_debug_glBindBufferRangeNV; +#define glBindBufferRangeNV glad_debug_glBindBufferRangeNV +GLAD_API_CALL PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase; +GLAD_API_CALL PFNGLBINDBUFFERSBASEPROC glad_debug_glBindBuffersBase; +#define glBindBuffersBase glad_debug_glBindBuffersBase +GLAD_API_CALL PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange; +GLAD_API_CALL PFNGLBINDBUFFERSRANGEPROC glad_debug_glBindBuffersRange; +#define glBindBuffersRange glad_debug_glBindBuffersRange +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation; +#define glBindFragDataLocation glad_debug_glBindFragDataLocation +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT; +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONEXTPROC glad_debug_glBindFragDataLocationEXT; +#define glBindFragDataLocationEXT glad_debug_glBindFragDataLocationEXT +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +GLAD_API_CALL PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed; +#define glBindFragDataLocationIndexed glad_debug_glBindFragDataLocationIndexed +GLAD_API_CALL PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +GLAD_API_CALL PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer; +#define glBindFramebuffer glad_debug_glBindFramebuffer +GLAD_API_CALL PFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT; +GLAD_API_CALL PFNGLBINDFRAMEBUFFEREXTPROC glad_debug_glBindFramebufferEXT; +#define glBindFramebufferEXT glad_debug_glBindFramebufferEXT +GLAD_API_CALL PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture; +GLAD_API_CALL PFNGLBINDIMAGETEXTUREPROC glad_debug_glBindImageTexture; +#define glBindImageTexture glad_debug_glBindImageTexture +GLAD_API_CALL PFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT; +GLAD_API_CALL PFNGLBINDIMAGETEXTUREEXTPROC glad_debug_glBindImageTextureEXT; +#define glBindImageTextureEXT glad_debug_glBindImageTextureEXT +GLAD_API_CALL PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures; +GLAD_API_CALL PFNGLBINDIMAGETEXTURESPROC glad_debug_glBindImageTextures; +#define glBindImageTextures glad_debug_glBindImageTextures +GLAD_API_CALL PFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT; +GLAD_API_CALL PFNGLBINDMULTITEXTUREEXTPROC glad_debug_glBindMultiTextureEXT; +#define glBindMultiTextureEXT glad_debug_glBindMultiTextureEXT +GLAD_API_CALL PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB; +GLAD_API_CALL PFNGLBINDPROGRAMARBPROC glad_debug_glBindProgramARB; +#define glBindProgramARB glad_debug_glBindProgramARB +GLAD_API_CALL PFNGLBINDPROGRAMNVPROC glad_glBindProgramNV; +GLAD_API_CALL PFNGLBINDPROGRAMNVPROC glad_debug_glBindProgramNV; +#define glBindProgramNV glad_debug_glBindProgramNV +GLAD_API_CALL PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline; +GLAD_API_CALL PFNGLBINDPROGRAMPIPELINEPROC glad_debug_glBindProgramPipeline; +#define glBindProgramPipeline glad_debug_glBindProgramPipeline +GLAD_API_CALL PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +GLAD_API_CALL PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer; +#define glBindRenderbuffer glad_debug_glBindRenderbuffer +GLAD_API_CALL PFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT; +GLAD_API_CALL PFNGLBINDRENDERBUFFEREXTPROC glad_debug_glBindRenderbufferEXT; +#define glBindRenderbufferEXT glad_debug_glBindRenderbufferEXT +GLAD_API_CALL PFNGLBINDSAMPLERPROC glad_glBindSampler; +GLAD_API_CALL PFNGLBINDSAMPLERPROC glad_debug_glBindSampler; +#define glBindSampler glad_debug_glBindSampler +GLAD_API_CALL PFNGLBINDSAMPLERSPROC glad_glBindSamplers; +GLAD_API_CALL PFNGLBINDSAMPLERSPROC glad_debug_glBindSamplers; +#define glBindSamplers glad_debug_glBindSamplers +GLAD_API_CALL PFNGLBINDTEXTUREPROC glad_glBindTexture; +GLAD_API_CALL PFNGLBINDTEXTUREPROC glad_debug_glBindTexture; +#define glBindTexture glad_debug_glBindTexture +GLAD_API_CALL PFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT; +GLAD_API_CALL PFNGLBINDTEXTUREEXTPROC glad_debug_glBindTextureEXT; +#define glBindTextureEXT glad_debug_glBindTextureEXT +GLAD_API_CALL PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit; +GLAD_API_CALL PFNGLBINDTEXTUREUNITPROC glad_debug_glBindTextureUnit; +#define glBindTextureUnit glad_debug_glBindTextureUnit +GLAD_API_CALL PFNGLBINDTEXTURESPROC glad_glBindTextures; +GLAD_API_CALL PFNGLBINDTEXTURESPROC glad_debug_glBindTextures; +#define glBindTextures glad_debug_glBindTextures +GLAD_API_CALL PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback; +GLAD_API_CALL PFNGLBINDTRANSFORMFEEDBACKPROC glad_debug_glBindTransformFeedback; +#define glBindTransformFeedback glad_debug_glBindTransformFeedback +GLAD_API_CALL PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV; +GLAD_API_CALL PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_debug_glBindTransformFeedbackNV; +#define glBindTransformFeedbackNV glad_debug_glBindTransformFeedbackNV +GLAD_API_CALL PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +GLAD_API_CALL PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray; +#define glBindVertexArray glad_debug_glBindVertexArray +GLAD_API_CALL PFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE; +GLAD_API_CALL PFNGLBINDVERTEXARRAYAPPLEPROC glad_debug_glBindVertexArrayAPPLE; +#define glBindVertexArrayAPPLE glad_debug_glBindVertexArrayAPPLE +GLAD_API_CALL PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer; +GLAD_API_CALL PFNGLBINDVERTEXBUFFERPROC glad_debug_glBindVertexBuffer; +#define glBindVertexBuffer glad_debug_glBindVertexBuffer +GLAD_API_CALL PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers; +GLAD_API_CALL PFNGLBINDVERTEXBUFFERSPROC glad_debug_glBindVertexBuffers; +#define glBindVertexBuffers glad_debug_glBindVertexBuffers +GLAD_API_CALL PFNGLBLENDCOLORPROC glad_glBlendColor; +GLAD_API_CALL PFNGLBLENDCOLORPROC glad_debug_glBlendColor; +#define glBlendColor glad_debug_glBlendColor +GLAD_API_CALL PFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT; +GLAD_API_CALL PFNGLBLENDCOLOREXTPROC glad_debug_glBlendColorEXT; +#define glBlendColorEXT glad_debug_glBlendColorEXT +GLAD_API_CALL PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +GLAD_API_CALL PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation; +#define glBlendEquation glad_debug_glBlendEquation +GLAD_API_CALL PFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT; +GLAD_API_CALL PFNGLBLENDEQUATIONEXTPROC glad_debug_glBlendEquationEXT; +#define glBlendEquationEXT glad_debug_glBlendEquationEXT +GLAD_API_CALL PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD; +GLAD_API_CALL PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_debug_glBlendEquationIndexedAMD; +#define glBlendEquationIndexedAMD glad_debug_glBlendEquationIndexedAMD +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate; +#define glBlendEquationSeparate glad_debug_glBlendEquationSeparate +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT; +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_debug_glBlendEquationSeparateEXT; +#define glBlendEquationSeparateEXT glad_debug_glBlendEquationSeparateEXT +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD; +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_debug_glBlendEquationSeparateIndexedAMD; +#define glBlendEquationSeparateIndexedAMD glad_debug_glBlendEquationSeparateIndexedAMD +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei; +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEIPROC glad_debug_glBlendEquationSeparatei; +#define glBlendEquationSeparatei glad_debug_glBlendEquationSeparatei +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB; +GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_debug_glBlendEquationSeparateiARB; +#define glBlendEquationSeparateiARB glad_debug_glBlendEquationSeparateiARB +GLAD_API_CALL PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi; +GLAD_API_CALL PFNGLBLENDEQUATIONIPROC glad_debug_glBlendEquationi; +#define glBlendEquationi glad_debug_glBlendEquationi +GLAD_API_CALL PFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB; +GLAD_API_CALL PFNGLBLENDEQUATIONIARBPROC glad_debug_glBlendEquationiARB; +#define glBlendEquationiARB glad_debug_glBlendEquationiARB +GLAD_API_CALL PFNGLBLENDFUNCPROC glad_glBlendFunc; +GLAD_API_CALL PFNGLBLENDFUNCPROC glad_debug_glBlendFunc; +#define glBlendFunc glad_debug_glBlendFunc +GLAD_API_CALL PFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD; +GLAD_API_CALL PFNGLBLENDFUNCINDEXEDAMDPROC glad_debug_glBlendFuncIndexedAMD; +#define glBlendFuncIndexedAMD glad_debug_glBlendFuncIndexedAMD +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate; +#define glBlendFuncSeparate glad_debug_glBlendFuncSeparate +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEEXTPROC glad_debug_glBlendFuncSeparateEXT; +#define glBlendFuncSeparateEXT glad_debug_glBlendFuncSeparateEXT +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEINGRPROC glad_debug_glBlendFuncSeparateINGR; +#define glBlendFuncSeparateINGR glad_debug_glBlendFuncSeparateINGR +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_debug_glBlendFuncSeparateIndexedAMD; +#define glBlendFuncSeparateIndexedAMD glad_debug_glBlendFuncSeparateIndexedAMD +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEIPROC glad_debug_glBlendFuncSeparatei; +#define glBlendFuncSeparatei glad_debug_glBlendFuncSeparatei +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB; +GLAD_API_CALL PFNGLBLENDFUNCSEPARATEIARBPROC glad_debug_glBlendFuncSeparateiARB; +#define glBlendFuncSeparateiARB glad_debug_glBlendFuncSeparateiARB +GLAD_API_CALL PFNGLBLENDFUNCIPROC glad_glBlendFunci; +GLAD_API_CALL PFNGLBLENDFUNCIPROC glad_debug_glBlendFunci; +#define glBlendFunci glad_debug_glBlendFunci +GLAD_API_CALL PFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB; +GLAD_API_CALL PFNGLBLENDFUNCIARBPROC glad_debug_glBlendFunciARB; +#define glBlendFunciARB glad_debug_glBlendFunciARB +GLAD_API_CALL PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +GLAD_API_CALL PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer; +#define glBlitFramebuffer glad_debug_glBlitFramebuffer +GLAD_API_CALL PFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT; +GLAD_API_CALL PFNGLBLITFRAMEBUFFEREXTPROC glad_debug_glBlitFramebufferEXT; +#define glBlitFramebufferEXT glad_debug_glBlitFramebufferEXT +GLAD_API_CALL PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer; +GLAD_API_CALL PFNGLBLITNAMEDFRAMEBUFFERPROC glad_debug_glBlitNamedFramebuffer; +#define glBlitNamedFramebuffer glad_debug_glBlitNamedFramebuffer +GLAD_API_CALL PFNGLBUFFERDATAPROC glad_glBufferData; +GLAD_API_CALL PFNGLBUFFERDATAPROC glad_debug_glBufferData; +#define glBufferData glad_debug_glBufferData +GLAD_API_CALL PFNGLBUFFERDATAARBPROC glad_glBufferDataARB; +GLAD_API_CALL PFNGLBUFFERDATAARBPROC glad_debug_glBufferDataARB; +#define glBufferDataARB glad_debug_glBufferDataARB +GLAD_API_CALL PFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE; +GLAD_API_CALL PFNGLBUFFERPARAMETERIAPPLEPROC glad_debug_glBufferParameteriAPPLE; +#define glBufferParameteriAPPLE glad_debug_glBufferParameteriAPPLE +GLAD_API_CALL PFNGLBUFFERSTORAGEPROC glad_glBufferStorage; +GLAD_API_CALL PFNGLBUFFERSTORAGEPROC glad_debug_glBufferStorage; +#define glBufferStorage glad_debug_glBufferStorage +GLAD_API_CALL PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +GLAD_API_CALL PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData; +#define glBufferSubData glad_debug_glBufferSubData +GLAD_API_CALL PFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB; +GLAD_API_CALL PFNGLBUFFERSUBDATAARBPROC glad_debug_glBufferSubDataARB; +#define glBufferSubDataARB glad_debug_glBufferSubDataARB +GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus; +#define glCheckFramebufferStatus glad_debug_glCheckFramebufferStatus +GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT; +GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_debug_glCheckFramebufferStatusEXT; +#define glCheckFramebufferStatusEXT glad_debug_glCheckFramebufferStatusEXT +GLAD_API_CALL PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus; +GLAD_API_CALL PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_debug_glCheckNamedFramebufferStatus; +#define glCheckNamedFramebufferStatus glad_debug_glCheckNamedFramebufferStatus +GLAD_API_CALL PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT; +GLAD_API_CALL PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_debug_glCheckNamedFramebufferStatusEXT; +#define glCheckNamedFramebufferStatusEXT glad_debug_glCheckNamedFramebufferStatusEXT +GLAD_API_CALL PFNGLCLAMPCOLORPROC glad_glClampColor; +GLAD_API_CALL PFNGLCLAMPCOLORPROC glad_debug_glClampColor; +#define glClampColor glad_debug_glClampColor +GLAD_API_CALL PFNGLCLAMPCOLORARBPROC glad_glClampColorARB; +GLAD_API_CALL PFNGLCLAMPCOLORARBPROC glad_debug_glClampColorARB; +#define glClampColorARB glad_debug_glClampColorARB +GLAD_API_CALL PFNGLCLEARPROC glad_glClear; +GLAD_API_CALL PFNGLCLEARPROC glad_debug_glClear; +#define glClear glad_debug_glClear +GLAD_API_CALL PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData; +GLAD_API_CALL PFNGLCLEARBUFFERDATAPROC glad_debug_glClearBufferData; +#define glClearBufferData glad_debug_glClearBufferData +GLAD_API_CALL PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData; +GLAD_API_CALL PFNGLCLEARBUFFERSUBDATAPROC glad_debug_glClearBufferSubData; +#define glClearBufferSubData glad_debug_glClearBufferSubData +GLAD_API_CALL PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +GLAD_API_CALL PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi; +#define glClearBufferfi glad_debug_glClearBufferfi +GLAD_API_CALL PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +GLAD_API_CALL PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv; +#define glClearBufferfv glad_debug_glClearBufferfv +GLAD_API_CALL PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +GLAD_API_CALL PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv; +#define glClearBufferiv glad_debug_glClearBufferiv +GLAD_API_CALL PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +GLAD_API_CALL PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv; +#define glClearBufferuiv glad_debug_glClearBufferuiv +GLAD_API_CALL PFNGLCLEARCOLORPROC glad_glClearColor; +GLAD_API_CALL PFNGLCLEARCOLORPROC glad_debug_glClearColor; +#define glClearColor glad_debug_glClearColor +GLAD_API_CALL PFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT; +GLAD_API_CALL PFNGLCLEARCOLORIIEXTPROC glad_debug_glClearColorIiEXT; +#define glClearColorIiEXT glad_debug_glClearColorIiEXT +GLAD_API_CALL PFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT; +GLAD_API_CALL PFNGLCLEARCOLORIUIEXTPROC glad_debug_glClearColorIuiEXT; +#define glClearColorIuiEXT glad_debug_glClearColorIuiEXT +GLAD_API_CALL PFNGLCLEARDEPTHPROC glad_glClearDepth; +GLAD_API_CALL PFNGLCLEARDEPTHPROC glad_debug_glClearDepth; +#define glClearDepth glad_debug_glClearDepth +GLAD_API_CALL PFNGLCLEARDEPTHFPROC glad_glClearDepthf; +GLAD_API_CALL PFNGLCLEARDEPTHFPROC glad_debug_glClearDepthf; +#define glClearDepthf glad_debug_glClearDepthf +GLAD_API_CALL PFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES; +GLAD_API_CALL PFNGLCLEARDEPTHFOESPROC glad_debug_glClearDepthfOES; +#define glClearDepthfOES glad_debug_glClearDepthfOES +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData; +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERDATAPROC glad_debug_glClearNamedBufferData; +#define glClearNamedBufferData glad_debug_glClearNamedBufferData +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT; +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_debug_glClearNamedBufferDataEXT; +#define glClearNamedBufferDataEXT glad_debug_glClearNamedBufferDataEXT +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData; +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_debug_glClearNamedBufferSubData; +#define glClearNamedBufferSubData glad_debug_glClearNamedBufferSubData +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT; +GLAD_API_CALL PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_debug_glClearNamedBufferSubDataEXT; +#define glClearNamedBufferSubDataEXT glad_debug_glClearNamedBufferSubDataEXT +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi; +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_debug_glClearNamedFramebufferfi; +#define glClearNamedFramebufferfi glad_debug_glClearNamedFramebufferfi +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv; +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_debug_glClearNamedFramebufferfv; +#define glClearNamedFramebufferfv glad_debug_glClearNamedFramebufferfv +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv; +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_debug_glClearNamedFramebufferiv; +#define glClearNamedFramebufferiv glad_debug_glClearNamedFramebufferiv +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv; +GLAD_API_CALL PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_debug_glClearNamedFramebufferuiv; +#define glClearNamedFramebufferuiv glad_debug_glClearNamedFramebufferuiv +GLAD_API_CALL PFNGLCLEARSTENCILPROC glad_glClearStencil; +GLAD_API_CALL PFNGLCLEARSTENCILPROC glad_debug_glClearStencil; +#define glClearStencil glad_debug_glClearStencil +GLAD_API_CALL PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage; +GLAD_API_CALL PFNGLCLEARTEXIMAGEPROC glad_debug_glClearTexImage; +#define glClearTexImage glad_debug_glClearTexImage +GLAD_API_CALL PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage; +GLAD_API_CALL PFNGLCLEARTEXSUBIMAGEPROC glad_debug_glClearTexSubImage; +#define glClearTexSubImage glad_debug_glClearTexSubImage +GLAD_API_CALL PFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB; +GLAD_API_CALL PFNGLCLIENTACTIVETEXTUREARBPROC glad_debug_glClientActiveTextureARB; +#define glClientActiveTextureARB glad_debug_glClientActiveTextureARB +GLAD_API_CALL PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT; +GLAD_API_CALL PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_debug_glClientAttribDefaultEXT; +#define glClientAttribDefaultEXT glad_debug_glClientAttribDefaultEXT +GLAD_API_CALL PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +GLAD_API_CALL PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync; +#define glClientWaitSync glad_debug_glClientWaitSync +GLAD_API_CALL PFNGLCLIPCONTROLPROC glad_glClipControl; +GLAD_API_CALL PFNGLCLIPCONTROLPROC glad_debug_glClipControl; +#define glClipControl glad_debug_glClipControl +GLAD_API_CALL PFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES; +GLAD_API_CALL PFNGLCLIPPLANEFOESPROC glad_debug_glClipPlanefOES; +#define glClipPlanefOES glad_debug_glClipPlanefOES +GLAD_API_CALL PFNGLCOLORMASKPROC glad_glColorMask; +GLAD_API_CALL PFNGLCOLORMASKPROC glad_debug_glColorMask; +#define glColorMask glad_debug_glColorMask +GLAD_API_CALL PFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT; +GLAD_API_CALL PFNGLCOLORMASKINDEXEDEXTPROC glad_debug_glColorMaskIndexedEXT; +#define glColorMaskIndexedEXT glad_debug_glColorMaskIndexedEXT +GLAD_API_CALL PFNGLCOLORMASKIPROC glad_glColorMaski; +GLAD_API_CALL PFNGLCOLORMASKIPROC glad_debug_glColorMaski; +#define glColorMaski glad_debug_glColorMaski +GLAD_API_CALL PFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT; +GLAD_API_CALL PFNGLCOLORPOINTEREXTPROC glad_debug_glColorPointerEXT; +#define glColorPointerEXT glad_debug_glColorPointerEXT +GLAD_API_CALL PFNGLCOMPILESHADERPROC glad_glCompileShader; +GLAD_API_CALL PFNGLCOMPILESHADERPROC glad_debug_glCompileShader; +#define glCompileShader glad_debug_glCompileShader +GLAD_API_CALL PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB; +GLAD_API_CALL PFNGLCOMPILESHADERARBPROC glad_debug_glCompileShaderARB; +#define glCompileShaderARB glad_debug_glCompileShaderARB +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_debug_glCompressedMultiTexImage1DEXT; +#define glCompressedMultiTexImage1DEXT glad_debug_glCompressedMultiTexImage1DEXT +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_debug_glCompressedMultiTexImage2DEXT; +#define glCompressedMultiTexImage2DEXT glad_debug_glCompressedMultiTexImage2DEXT +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_debug_glCompressedMultiTexImage3DEXT; +#define glCompressedMultiTexImage3DEXT glad_debug_glCompressedMultiTexImage3DEXT +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_debug_glCompressedMultiTexSubImage1DEXT; +#define glCompressedMultiTexSubImage1DEXT glad_debug_glCompressedMultiTexSubImage1DEXT +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_debug_glCompressedMultiTexSubImage2DEXT; +#define glCompressedMultiTexSubImage2DEXT glad_debug_glCompressedMultiTexSubImage2DEXT +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_debug_glCompressedMultiTexSubImage3DEXT; +#define glCompressedMultiTexSubImage3DEXT glad_debug_glCompressedMultiTexSubImage3DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D; +#define glCompressedTexImage1D glad_debug_glCompressedTexImage1D +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_debug_glCompressedTexImage1DARB; +#define glCompressedTexImage1DARB glad_debug_glCompressedTexImage1DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D; +#define glCompressedTexImage2D glad_debug_glCompressedTexImage2D +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_debug_glCompressedTexImage2DARB; +#define glCompressedTexImage2DARB glad_debug_glCompressedTexImage2DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D; +#define glCompressedTexImage3D glad_debug_glCompressedTexImage3D +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_debug_glCompressedTexImage3DARB; +#define glCompressedTexImage3DARB glad_debug_glCompressedTexImage3DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D; +#define glCompressedTexSubImage1D glad_debug_glCompressedTexSubImage1D +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_debug_glCompressedTexSubImage1DARB; +#define glCompressedTexSubImage1DARB glad_debug_glCompressedTexSubImage1DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D; +#define glCompressedTexSubImage2D glad_debug_glCompressedTexSubImage2D +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_debug_glCompressedTexSubImage2DARB; +#define glCompressedTexSubImage2DARB glad_debug_glCompressedTexSubImage2DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D; +#define glCompressedTexSubImage3D glad_debug_glCompressedTexSubImage3D +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB; +GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_debug_glCompressedTexSubImage3DARB; +#define glCompressedTexSubImage3DARB glad_debug_glCompressedTexSubImage3DARB +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_debug_glCompressedTextureImage1DEXT; +#define glCompressedTextureImage1DEXT glad_debug_glCompressedTextureImage1DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_debug_glCompressedTextureImage2DEXT; +#define glCompressedTextureImage2DEXT glad_debug_glCompressedTextureImage2DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_debug_glCompressedTextureImage3DEXT; +#define glCompressedTextureImage3DEXT glad_debug_glCompressedTextureImage3DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_debug_glCompressedTextureSubImage1D; +#define glCompressedTextureSubImage1D glad_debug_glCompressedTextureSubImage1D +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_debug_glCompressedTextureSubImage1DEXT; +#define glCompressedTextureSubImage1DEXT glad_debug_glCompressedTextureSubImage1DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_debug_glCompressedTextureSubImage2D; +#define glCompressedTextureSubImage2D glad_debug_glCompressedTextureSubImage2D +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_debug_glCompressedTextureSubImage2DEXT; +#define glCompressedTextureSubImage2DEXT glad_debug_glCompressedTextureSubImage2DEXT +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_debug_glCompressedTextureSubImage3D; +#define glCompressedTextureSubImage3D glad_debug_glCompressedTextureSubImage3D +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT; +GLAD_API_CALL PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_debug_glCompressedTextureSubImage3DEXT; +#define glCompressedTextureSubImage3DEXT glad_debug_glCompressedTextureSubImage3DEXT +GLAD_API_CALL PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +GLAD_API_CALL PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData; +#define glCopyBufferSubData glad_debug_glCopyBufferSubData +GLAD_API_CALL PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData; +GLAD_API_CALL PFNGLCOPYIMAGESUBDATAPROC glad_debug_glCopyImageSubData; +#define glCopyImageSubData glad_debug_glCopyImageSubData +GLAD_API_CALL PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT; +GLAD_API_CALL PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_debug_glCopyMultiTexImage1DEXT; +#define glCopyMultiTexImage1DEXT glad_debug_glCopyMultiTexImage1DEXT +GLAD_API_CALL PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT; +GLAD_API_CALL PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_debug_glCopyMultiTexImage2DEXT; +#define glCopyMultiTexImage2DEXT glad_debug_glCopyMultiTexImage2DEXT +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT; +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_debug_glCopyMultiTexSubImage1DEXT; +#define glCopyMultiTexSubImage1DEXT glad_debug_glCopyMultiTexSubImage1DEXT +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT; +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_debug_glCopyMultiTexSubImage2DEXT; +#define glCopyMultiTexSubImage2DEXT glad_debug_glCopyMultiTexSubImage2DEXT +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT; +GLAD_API_CALL PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_debug_glCopyMultiTexSubImage3DEXT; +#define glCopyMultiTexSubImage3DEXT glad_debug_glCopyMultiTexSubImage3DEXT +GLAD_API_CALL PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData; +GLAD_API_CALL PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_debug_glCopyNamedBufferSubData; +#define glCopyNamedBufferSubData glad_debug_glCopyNamedBufferSubData +GLAD_API_CALL PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +GLAD_API_CALL PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D; +#define glCopyTexImage1D glad_debug_glCopyTexImage1D +GLAD_API_CALL PFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT; +GLAD_API_CALL PFNGLCOPYTEXIMAGE1DEXTPROC glad_debug_glCopyTexImage1DEXT; +#define glCopyTexImage1DEXT glad_debug_glCopyTexImage1DEXT +GLAD_API_CALL PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +GLAD_API_CALL PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D; +#define glCopyTexImage2D glad_debug_glCopyTexImage2D +GLAD_API_CALL PFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT; +GLAD_API_CALL PFNGLCOPYTEXIMAGE2DEXTPROC glad_debug_glCopyTexImage2DEXT; +#define glCopyTexImage2DEXT glad_debug_glCopyTexImage2DEXT +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D; +#define glCopyTexSubImage1D glad_debug_glCopyTexSubImage1D +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_debug_glCopyTexSubImage1DEXT; +#define glCopyTexSubImage1DEXT glad_debug_glCopyTexSubImage1DEXT +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D; +#define glCopyTexSubImage2D glad_debug_glCopyTexSubImage2D +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_debug_glCopyTexSubImage2DEXT; +#define glCopyTexSubImage2DEXT glad_debug_glCopyTexSubImage2DEXT +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D; +#define glCopyTexSubImage3D glad_debug_glCopyTexSubImage3D +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT; +GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_debug_glCopyTexSubImage3DEXT; +#define glCopyTexSubImage3DEXT glad_debug_glCopyTexSubImage3DEXT +GLAD_API_CALL PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT; +GLAD_API_CALL PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_debug_glCopyTextureImage1DEXT; +#define glCopyTextureImage1DEXT glad_debug_glCopyTextureImage1DEXT +GLAD_API_CALL PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT; +GLAD_API_CALL PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_debug_glCopyTextureImage2DEXT; +#define glCopyTextureImage2DEXT glad_debug_glCopyTextureImage2DEXT +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_debug_glCopyTextureSubImage1D; +#define glCopyTextureSubImage1D glad_debug_glCopyTextureSubImage1D +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_debug_glCopyTextureSubImage1DEXT; +#define glCopyTextureSubImage1DEXT glad_debug_glCopyTextureSubImage1DEXT +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_debug_glCopyTextureSubImage2D; +#define glCopyTextureSubImage2D glad_debug_glCopyTextureSubImage2D +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_debug_glCopyTextureSubImage2DEXT; +#define glCopyTextureSubImage2DEXT glad_debug_glCopyTextureSubImage2DEXT +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_debug_glCopyTextureSubImage3D; +#define glCopyTextureSubImage3D glad_debug_glCopyTextureSubImage3D +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT; +GLAD_API_CALL PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_debug_glCopyTextureSubImage3DEXT; +#define glCopyTextureSubImage3DEXT glad_debug_glCopyTextureSubImage3DEXT +GLAD_API_CALL PFNGLCREATEBUFFERSPROC glad_glCreateBuffers; +GLAD_API_CALL PFNGLCREATEBUFFERSPROC glad_debug_glCreateBuffers; +#define glCreateBuffers glad_debug_glCreateBuffers +GLAD_API_CALL PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers; +GLAD_API_CALL PFNGLCREATEFRAMEBUFFERSPROC glad_debug_glCreateFramebuffers; +#define glCreateFramebuffers glad_debug_glCreateFramebuffers +GLAD_API_CALL PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +GLAD_API_CALL PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram; +#define glCreateProgram glad_debug_glCreateProgram +GLAD_API_CALL PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB; +GLAD_API_CALL PFNGLCREATEPROGRAMOBJECTARBPROC glad_debug_glCreateProgramObjectARB; +#define glCreateProgramObjectARB glad_debug_glCreateProgramObjectARB +GLAD_API_CALL PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines; +GLAD_API_CALL PFNGLCREATEPROGRAMPIPELINESPROC glad_debug_glCreateProgramPipelines; +#define glCreateProgramPipelines glad_debug_glCreateProgramPipelines +GLAD_API_CALL PFNGLCREATEQUERIESPROC glad_glCreateQueries; +GLAD_API_CALL PFNGLCREATEQUERIESPROC glad_debug_glCreateQueries; +#define glCreateQueries glad_debug_glCreateQueries +GLAD_API_CALL PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers; +GLAD_API_CALL PFNGLCREATERENDERBUFFERSPROC glad_debug_glCreateRenderbuffers; +#define glCreateRenderbuffers glad_debug_glCreateRenderbuffers +GLAD_API_CALL PFNGLCREATESAMPLERSPROC glad_glCreateSamplers; +GLAD_API_CALL PFNGLCREATESAMPLERSPROC glad_debug_glCreateSamplers; +#define glCreateSamplers glad_debug_glCreateSamplers +GLAD_API_CALL PFNGLCREATESHADERPROC glad_glCreateShader; +GLAD_API_CALL PFNGLCREATESHADERPROC glad_debug_glCreateShader; +#define glCreateShader glad_debug_glCreateShader +GLAD_API_CALL PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB; +GLAD_API_CALL PFNGLCREATESHADEROBJECTARBPROC glad_debug_glCreateShaderObjectARB; +#define glCreateShaderObjectARB glad_debug_glCreateShaderObjectARB +GLAD_API_CALL PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv; +GLAD_API_CALL PFNGLCREATESHADERPROGRAMVPROC glad_debug_glCreateShaderProgramv; +#define glCreateShaderProgramv glad_debug_glCreateShaderProgramv +GLAD_API_CALL PFNGLCREATETEXTURESPROC glad_glCreateTextures; +GLAD_API_CALL PFNGLCREATETEXTURESPROC glad_debug_glCreateTextures; +#define glCreateTextures glad_debug_glCreateTextures +GLAD_API_CALL PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks; +GLAD_API_CALL PFNGLCREATETRANSFORMFEEDBACKSPROC glad_debug_glCreateTransformFeedbacks; +#define glCreateTransformFeedbacks glad_debug_glCreateTransformFeedbacks +GLAD_API_CALL PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays; +GLAD_API_CALL PFNGLCREATEVERTEXARRAYSPROC glad_debug_glCreateVertexArrays; +#define glCreateVertexArrays glad_debug_glCreateVertexArrays +GLAD_API_CALL PFNGLCULLFACEPROC glad_glCullFace; +GLAD_API_CALL PFNGLCULLFACEPROC glad_debug_glCullFace; +#define glCullFace glad_debug_glCullFace +GLAD_API_CALL PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback; +GLAD_API_CALL PFNGLDEBUGMESSAGECALLBACKPROC glad_debug_glDebugMessageCallback; +#define glDebugMessageCallback glad_debug_glDebugMessageCallback +GLAD_API_CALL PFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB; +GLAD_API_CALL PFNGLDEBUGMESSAGECALLBACKARBPROC glad_debug_glDebugMessageCallbackARB; +#define glDebugMessageCallbackARB glad_debug_glDebugMessageCallbackARB +GLAD_API_CALL PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl; +GLAD_API_CALL PFNGLDEBUGMESSAGECONTROLPROC glad_debug_glDebugMessageControl; +#define glDebugMessageControl glad_debug_glDebugMessageControl +GLAD_API_CALL PFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB; +GLAD_API_CALL PFNGLDEBUGMESSAGECONTROLARBPROC glad_debug_glDebugMessageControlARB; +#define glDebugMessageControlARB glad_debug_glDebugMessageControlARB +GLAD_API_CALL PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert; +GLAD_API_CALL PFNGLDEBUGMESSAGEINSERTPROC glad_debug_glDebugMessageInsert; +#define glDebugMessageInsert glad_debug_glDebugMessageInsert +GLAD_API_CALL PFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB; +GLAD_API_CALL PFNGLDEBUGMESSAGEINSERTARBPROC glad_debug_glDebugMessageInsertARB; +#define glDebugMessageInsertARB glad_debug_glDebugMessageInsertARB +GLAD_API_CALL PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +GLAD_API_CALL PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers; +#define glDeleteBuffers glad_debug_glDeleteBuffers +GLAD_API_CALL PFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB; +GLAD_API_CALL PFNGLDELETEBUFFERSARBPROC glad_debug_glDeleteBuffersARB; +#define glDeleteBuffersARB glad_debug_glDeleteBuffersARB +GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers; +#define glDeleteFramebuffers glad_debug_glDeleteFramebuffers +GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT; +GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSEXTPROC glad_debug_glDeleteFramebuffersEXT; +#define glDeleteFramebuffersEXT glad_debug_glDeleteFramebuffersEXT +GLAD_API_CALL PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB; +GLAD_API_CALL PFNGLDELETEOBJECTARBPROC glad_debug_glDeleteObjectARB; +#define glDeleteObjectARB glad_debug_glDeleteObjectARB +GLAD_API_CALL PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +GLAD_API_CALL PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram; +#define glDeleteProgram glad_debug_glDeleteProgram +GLAD_API_CALL PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines; +GLAD_API_CALL PFNGLDELETEPROGRAMPIPELINESPROC glad_debug_glDeleteProgramPipelines; +#define glDeleteProgramPipelines glad_debug_glDeleteProgramPipelines +GLAD_API_CALL PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB; +GLAD_API_CALL PFNGLDELETEPROGRAMSARBPROC glad_debug_glDeleteProgramsARB; +#define glDeleteProgramsARB glad_debug_glDeleteProgramsARB +GLAD_API_CALL PFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV; +GLAD_API_CALL PFNGLDELETEPROGRAMSNVPROC glad_debug_glDeleteProgramsNV; +#define glDeleteProgramsNV glad_debug_glDeleteProgramsNV +GLAD_API_CALL PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +GLAD_API_CALL PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries; +#define glDeleteQueries glad_debug_glDeleteQueries +GLAD_API_CALL PFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB; +GLAD_API_CALL PFNGLDELETEQUERIESARBPROC glad_debug_glDeleteQueriesARB; +#define glDeleteQueriesARB glad_debug_glDeleteQueriesARB +GLAD_API_CALL PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +GLAD_API_CALL PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers; +#define glDeleteRenderbuffers glad_debug_glDeleteRenderbuffers +GLAD_API_CALL PFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT; +GLAD_API_CALL PFNGLDELETERENDERBUFFERSEXTPROC glad_debug_glDeleteRenderbuffersEXT; +#define glDeleteRenderbuffersEXT glad_debug_glDeleteRenderbuffersEXT +GLAD_API_CALL PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +GLAD_API_CALL PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers; +#define glDeleteSamplers glad_debug_glDeleteSamplers +GLAD_API_CALL PFNGLDELETESHADERPROC glad_glDeleteShader; +GLAD_API_CALL PFNGLDELETESHADERPROC glad_debug_glDeleteShader; +#define glDeleteShader glad_debug_glDeleteShader +GLAD_API_CALL PFNGLDELETESYNCPROC glad_glDeleteSync; +GLAD_API_CALL PFNGLDELETESYNCPROC glad_debug_glDeleteSync; +#define glDeleteSync glad_debug_glDeleteSync +GLAD_API_CALL PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +GLAD_API_CALL PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures; +#define glDeleteTextures glad_debug_glDeleteTextures +GLAD_API_CALL PFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT; +GLAD_API_CALL PFNGLDELETETEXTURESEXTPROC glad_debug_glDeleteTexturesEXT; +#define glDeleteTexturesEXT glad_debug_glDeleteTexturesEXT +GLAD_API_CALL PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks; +GLAD_API_CALL PFNGLDELETETRANSFORMFEEDBACKSPROC glad_debug_glDeleteTransformFeedbacks; +#define glDeleteTransformFeedbacks glad_debug_glDeleteTransformFeedbacks +GLAD_API_CALL PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV; +GLAD_API_CALL PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_debug_glDeleteTransformFeedbacksNV; +#define glDeleteTransformFeedbacksNV glad_debug_glDeleteTransformFeedbacksNV +GLAD_API_CALL PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +GLAD_API_CALL PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays; +#define glDeleteVertexArrays glad_debug_glDeleteVertexArrays +GLAD_API_CALL PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE; +GLAD_API_CALL PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_debug_glDeleteVertexArraysAPPLE; +#define glDeleteVertexArraysAPPLE glad_debug_glDeleteVertexArraysAPPLE +GLAD_API_CALL PFNGLDEPTHFUNCPROC glad_glDepthFunc; +GLAD_API_CALL PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc; +#define glDepthFunc glad_debug_glDepthFunc +GLAD_API_CALL PFNGLDEPTHMASKPROC glad_glDepthMask; +GLAD_API_CALL PFNGLDEPTHMASKPROC glad_debug_glDepthMask; +#define glDepthMask glad_debug_glDepthMask +GLAD_API_CALL PFNGLDEPTHRANGEPROC glad_glDepthRange; +GLAD_API_CALL PFNGLDEPTHRANGEPROC glad_debug_glDepthRange; +#define glDepthRange glad_debug_glDepthRange +GLAD_API_CALL PFNGLDEPTHRANGEARRAYDVNVPROC glad_glDepthRangeArraydvNV; +GLAD_API_CALL PFNGLDEPTHRANGEARRAYDVNVPROC glad_debug_glDepthRangeArraydvNV; +#define glDepthRangeArraydvNV glad_debug_glDepthRangeArraydvNV +GLAD_API_CALL PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv; +GLAD_API_CALL PFNGLDEPTHRANGEARRAYVPROC glad_debug_glDepthRangeArrayv; +#define glDepthRangeArrayv glad_debug_glDepthRangeArrayv +GLAD_API_CALL PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed; +GLAD_API_CALL PFNGLDEPTHRANGEINDEXEDPROC glad_debug_glDepthRangeIndexed; +#define glDepthRangeIndexed glad_debug_glDepthRangeIndexed +GLAD_API_CALL PFNGLDEPTHRANGEINDEXEDDNVPROC glad_glDepthRangeIndexeddNV; +GLAD_API_CALL PFNGLDEPTHRANGEINDEXEDDNVPROC glad_debug_glDepthRangeIndexeddNV; +#define glDepthRangeIndexeddNV glad_debug_glDepthRangeIndexeddNV +GLAD_API_CALL PFNGLDEPTHRANGEFPROC glad_glDepthRangef; +GLAD_API_CALL PFNGLDEPTHRANGEFPROC glad_debug_glDepthRangef; +#define glDepthRangef glad_debug_glDepthRangef +GLAD_API_CALL PFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES; +GLAD_API_CALL PFNGLDEPTHRANGEFOESPROC glad_debug_glDepthRangefOES; +#define glDepthRangefOES glad_debug_glDepthRangefOES +GLAD_API_CALL PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB; +GLAD_API_CALL PFNGLDETACHOBJECTARBPROC glad_debug_glDetachObjectARB; +#define glDetachObjectARB glad_debug_glDetachObjectARB +GLAD_API_CALL PFNGLDETACHSHADERPROC glad_glDetachShader; +GLAD_API_CALL PFNGLDETACHSHADERPROC glad_debug_glDetachShader; +#define glDetachShader glad_debug_glDetachShader +GLAD_API_CALL PFNGLDISABLEPROC glad_glDisable; +GLAD_API_CALL PFNGLDISABLEPROC glad_debug_glDisable; +#define glDisable glad_debug_glDisable +GLAD_API_CALL PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT; +GLAD_API_CALL PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_debug_glDisableClientStateIndexedEXT; +#define glDisableClientStateIndexedEXT glad_debug_glDisableClientStateIndexedEXT +GLAD_API_CALL PFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT; +GLAD_API_CALL PFNGLDISABLECLIENTSTATEIEXTPROC glad_debug_glDisableClientStateiEXT; +#define glDisableClientStateiEXT glad_debug_glDisableClientStateiEXT +GLAD_API_CALL PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT; +GLAD_API_CALL PFNGLDISABLEINDEXEDEXTPROC glad_debug_glDisableIndexedEXT; +#define glDisableIndexedEXT glad_debug_glDisableIndexedEXT +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib; +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_debug_glDisableVertexArrayAttrib; +#define glDisableVertexArrayAttrib glad_debug_glDisableVertexArrayAttrib +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT; +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_debug_glDisableVertexArrayAttribEXT; +#define glDisableVertexArrayAttribEXT glad_debug_glDisableVertexArrayAttribEXT +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT; +GLAD_API_CALL PFNGLDISABLEVERTEXARRAYEXTPROC glad_debug_glDisableVertexArrayEXT; +#define glDisableVertexArrayEXT glad_debug_glDisableVertexArrayEXT +GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray; +#define glDisableVertexAttribArray glad_debug_glDisableVertexAttribArray +GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB; +GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_debug_glDisableVertexAttribArrayARB; +#define glDisableVertexAttribArrayARB glad_debug_glDisableVertexAttribArrayARB +GLAD_API_CALL PFNGLDISABLEIPROC glad_glDisablei; +GLAD_API_CALL PFNGLDISABLEIPROC glad_debug_glDisablei; +#define glDisablei glad_debug_glDisablei +GLAD_API_CALL PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute; +GLAD_API_CALL PFNGLDISPATCHCOMPUTEPROC glad_debug_glDispatchCompute; +#define glDispatchCompute glad_debug_glDispatchCompute +GLAD_API_CALL PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect; +GLAD_API_CALL PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_debug_glDispatchComputeIndirect; +#define glDispatchComputeIndirect glad_debug_glDispatchComputeIndirect +GLAD_API_CALL PFNGLDRAWARRAYSPROC glad_glDrawArrays; +GLAD_API_CALL PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays; +#define glDrawArrays glad_debug_glDrawArrays +GLAD_API_CALL PFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT; +GLAD_API_CALL PFNGLDRAWARRAYSEXTPROC glad_debug_glDrawArraysEXT; +#define glDrawArraysEXT glad_debug_glDrawArraysEXT +GLAD_API_CALL PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect; +GLAD_API_CALL PFNGLDRAWARRAYSINDIRECTPROC glad_debug_glDrawArraysIndirect; +#define glDrawArraysIndirect glad_debug_glDrawArraysIndirect +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced; +#define glDrawArraysInstanced glad_debug_glDrawArraysInstanced +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB; +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDARBPROC glad_debug_glDrawArraysInstancedARB; +#define glDrawArraysInstancedARB glad_debug_glDrawArraysInstancedARB +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance; +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawArraysInstancedBaseInstance; +#define glDrawArraysInstancedBaseInstance glad_debug_glDrawArraysInstancedBaseInstance +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT; +GLAD_API_CALL PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_debug_glDrawArraysInstancedEXT; +#define glDrawArraysInstancedEXT glad_debug_glDrawArraysInstancedEXT +GLAD_API_CALL PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +GLAD_API_CALL PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer; +#define glDrawBuffer glad_debug_glDrawBuffer +GLAD_API_CALL PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +GLAD_API_CALL PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers; +#define glDrawBuffers glad_debug_glDrawBuffers +GLAD_API_CALL PFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB; +GLAD_API_CALL PFNGLDRAWBUFFERSARBPROC glad_debug_glDrawBuffersARB; +#define glDrawBuffersARB glad_debug_glDrawBuffersARB +GLAD_API_CALL PFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI; +GLAD_API_CALL PFNGLDRAWBUFFERSATIPROC glad_debug_glDrawBuffersATI; +#define glDrawBuffersATI glad_debug_glDrawBuffersATI +GLAD_API_CALL PFNGLDRAWELEMENTSPROC glad_glDrawElements; +GLAD_API_CALL PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements; +#define glDrawElements glad_debug_glDrawElements +GLAD_API_CALL PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +GLAD_API_CALL PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex; +#define glDrawElementsBaseVertex glad_debug_glDrawElementsBaseVertex +GLAD_API_CALL PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect; +GLAD_API_CALL PFNGLDRAWELEMENTSINDIRECTPROC glad_debug_glDrawElementsIndirect; +#define glDrawElementsIndirect glad_debug_glDrawElementsIndirect +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced; +#define glDrawElementsInstanced glad_debug_glDrawElementsInstanced +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_debug_glDrawElementsInstancedARB; +#define glDrawElementsInstancedARB glad_debug_glDrawElementsInstancedARB +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseInstance; +#define glDrawElementsInstancedBaseInstance glad_debug_glDrawElementsInstancedBaseInstance +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex; +#define glDrawElementsInstancedBaseVertex glad_debug_glDrawElementsInstancedBaseVertex +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseVertexBaseInstance; +#define glDrawElementsInstancedBaseVertexBaseInstance glad_debug_glDrawElementsInstancedBaseVertexBaseInstance +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT; +GLAD_API_CALL PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_debug_glDrawElementsInstancedEXT; +#define glDrawElementsInstancedEXT glad_debug_glDrawElementsInstancedEXT +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements; +#define glDrawRangeElements glad_debug_glDrawRangeElements +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex; +#define glDrawRangeElementsBaseVertex glad_debug_glDrawRangeElementsBaseVertex +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT; +GLAD_API_CALL PFNGLDRAWRANGEELEMENTSEXTPROC glad_debug_glDrawRangeElementsEXT; +#define glDrawRangeElementsEXT glad_debug_glDrawRangeElementsEXT +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback; +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKPROC glad_debug_glDrawTransformFeedback; +#define glDrawTransformFeedback glad_debug_glDrawTransformFeedback +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced; +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_debug_glDrawTransformFeedbackInstanced; +#define glDrawTransformFeedbackInstanced glad_debug_glDrawTransformFeedbackInstanced +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV; +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_debug_glDrawTransformFeedbackNV; +#define glDrawTransformFeedbackNV glad_debug_glDrawTransformFeedbackNV +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream; +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_debug_glDrawTransformFeedbackStream; +#define glDrawTransformFeedbackStream glad_debug_glDrawTransformFeedbackStream +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced; +GLAD_API_CALL PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_debug_glDrawTransformFeedbackStreamInstanced; +#define glDrawTransformFeedbackStreamInstanced glad_debug_glDrawTransformFeedbackStreamInstanced +GLAD_API_CALL PFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT; +GLAD_API_CALL PFNGLEDGEFLAGPOINTEREXTPROC glad_debug_glEdgeFlagPointerEXT; +#define glEdgeFlagPointerEXT glad_debug_glEdgeFlagPointerEXT +GLAD_API_CALL PFNGLENABLEPROC glad_glEnable; +GLAD_API_CALL PFNGLENABLEPROC glad_debug_glEnable; +#define glEnable glad_debug_glEnable +GLAD_API_CALL PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT; +GLAD_API_CALL PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_debug_glEnableClientStateIndexedEXT; +#define glEnableClientStateIndexedEXT glad_debug_glEnableClientStateIndexedEXT +GLAD_API_CALL PFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT; +GLAD_API_CALL PFNGLENABLECLIENTSTATEIEXTPROC glad_debug_glEnableClientStateiEXT; +#define glEnableClientStateiEXT glad_debug_glEnableClientStateiEXT +GLAD_API_CALL PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT; +GLAD_API_CALL PFNGLENABLEINDEXEDEXTPROC glad_debug_glEnableIndexedEXT; +#define glEnableIndexedEXT glad_debug_glEnableIndexedEXT +GLAD_API_CALL PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib; +GLAD_API_CALL PFNGLENABLEVERTEXARRAYATTRIBPROC glad_debug_glEnableVertexArrayAttrib; +#define glEnableVertexArrayAttrib glad_debug_glEnableVertexArrayAttrib +GLAD_API_CALL PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT; +GLAD_API_CALL PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_debug_glEnableVertexArrayAttribEXT; +#define glEnableVertexArrayAttribEXT glad_debug_glEnableVertexArrayAttribEXT +GLAD_API_CALL PFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT; +GLAD_API_CALL PFNGLENABLEVERTEXARRAYEXTPROC glad_debug_glEnableVertexArrayEXT; +#define glEnableVertexArrayEXT glad_debug_glEnableVertexArrayEXT +GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray; +#define glEnableVertexAttribArray glad_debug_glEnableVertexAttribArray +GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB; +GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_debug_glEnableVertexAttribArrayARB; +#define glEnableVertexAttribArrayARB glad_debug_glEnableVertexAttribArrayARB +GLAD_API_CALL PFNGLENABLEIPROC glad_glEnablei; +GLAD_API_CALL PFNGLENABLEIPROC glad_debug_glEnablei; +#define glEnablei glad_debug_glEnablei +GLAD_API_CALL PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +GLAD_API_CALL PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender; +#define glEndConditionalRender glad_debug_glEndConditionalRender +GLAD_API_CALL PFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV; +GLAD_API_CALL PFNGLENDCONDITIONALRENDERNVPROC glad_debug_glEndConditionalRenderNV; +#define glEndConditionalRenderNV glad_debug_glEndConditionalRenderNV +GLAD_API_CALL PFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX; +GLAD_API_CALL PFNGLENDCONDITIONALRENDERNVXPROC glad_debug_glEndConditionalRenderNVX; +#define glEndConditionalRenderNVX glad_debug_glEndConditionalRenderNVX +GLAD_API_CALL PFNGLENDQUERYPROC glad_glEndQuery; +GLAD_API_CALL PFNGLENDQUERYPROC glad_debug_glEndQuery; +#define glEndQuery glad_debug_glEndQuery +GLAD_API_CALL PFNGLENDQUERYARBPROC glad_glEndQueryARB; +GLAD_API_CALL PFNGLENDQUERYARBPROC glad_debug_glEndQueryARB; +#define glEndQueryARB glad_debug_glEndQueryARB +GLAD_API_CALL PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed; +GLAD_API_CALL PFNGLENDQUERYINDEXEDPROC glad_debug_glEndQueryIndexed; +#define glEndQueryIndexed glad_debug_glEndQueryIndexed +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback; +#define glEndTransformFeedback glad_debug_glEndTransformFeedback +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT; +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_debug_glEndTransformFeedbackEXT; +#define glEndTransformFeedbackEXT glad_debug_glEndTransformFeedbackEXT +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV; +GLAD_API_CALL PFNGLENDTRANSFORMFEEDBACKNVPROC glad_debug_glEndTransformFeedbackNV; +#define glEndTransformFeedbackNV glad_debug_glEndTransformFeedbackNV +GLAD_API_CALL PFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV; +GLAD_API_CALL PFNGLEXECUTEPROGRAMNVPROC glad_debug_glExecuteProgramNV; +#define glExecuteProgramNV glad_debug_glExecuteProgramNV +GLAD_API_CALL PFNGLFENCESYNCPROC glad_glFenceSync; +GLAD_API_CALL PFNGLFENCESYNCPROC glad_debug_glFenceSync; +#define glFenceSync glad_debug_glFenceSync +GLAD_API_CALL PFNGLFINISHPROC glad_glFinish; +GLAD_API_CALL PFNGLFINISHPROC glad_debug_glFinish; +#define glFinish glad_debug_glFinish +GLAD_API_CALL PFNGLFLUSHPROC glad_glFlush; +GLAD_API_CALL PFNGLFLUSHPROC glad_debug_glFlush; +#define glFlush glad_debug_glFlush +GLAD_API_CALL PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +GLAD_API_CALL PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange; +#define glFlushMappedBufferRange glad_debug_glFlushMappedBufferRange +GLAD_API_CALL PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE; +GLAD_API_CALL PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_debug_glFlushMappedBufferRangeAPPLE; +#define glFlushMappedBufferRangeAPPLE glad_debug_glFlushMappedBufferRangeAPPLE +GLAD_API_CALL PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange; +GLAD_API_CALL PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_debug_glFlushMappedNamedBufferRange; +#define glFlushMappedNamedBufferRange glad_debug_glFlushMappedNamedBufferRange +GLAD_API_CALL PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT; +GLAD_API_CALL PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_debug_glFlushMappedNamedBufferRangeEXT; +#define glFlushMappedNamedBufferRangeEXT glad_debug_glFlushMappedNamedBufferRangeEXT +GLAD_API_CALL PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_debug_glFramebufferDrawBufferEXT; +#define glFramebufferDrawBufferEXT glad_debug_glFramebufferDrawBufferEXT +GLAD_API_CALL PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_debug_glFramebufferDrawBuffersEXT; +#define glFramebufferDrawBuffersEXT glad_debug_glFramebufferDrawBuffersEXT +GLAD_API_CALL PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri; +GLAD_API_CALL PFNGLFRAMEBUFFERPARAMETERIPROC glad_debug_glFramebufferParameteri; +#define glFramebufferParameteri glad_debug_glFramebufferParameteri +GLAD_API_CALL PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_debug_glFramebufferReadBufferEXT; +#define glFramebufferReadBufferEXT glad_debug_glFramebufferReadBufferEXT +GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer; +#define glFramebufferRenderbuffer glad_debug_glFramebufferRenderbuffer +GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_debug_glFramebufferRenderbufferEXT; +#define glFramebufferRenderbufferEXT glad_debug_glFramebufferRenderbufferEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture; +#define glFramebufferTexture glad_debug_glFramebufferTexture +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D; +#define glFramebufferTexture1D glad_debug_glFramebufferTexture1D +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_debug_glFramebufferTexture1DEXT; +#define glFramebufferTexture1DEXT glad_debug_glFramebufferTexture1DEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D; +#define glFramebufferTexture2D glad_debug_glFramebufferTexture2D +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_debug_glFramebufferTexture2DEXT; +#define glFramebufferTexture2DEXT glad_debug_glFramebufferTexture2DEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D; +#define glFramebufferTexture3D glad_debug_glFramebufferTexture3D +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_debug_glFramebufferTexture3DEXT; +#define glFramebufferTexture3DEXT glad_debug_glFramebufferTexture3DEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREARBPROC glad_debug_glFramebufferTextureARB; +#define glFramebufferTextureARB glad_debug_glFramebufferTextureARB +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_debug_glFramebufferTextureEXT; +#define glFramebufferTextureEXT glad_debug_glFramebufferTextureEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_debug_glFramebufferTextureFaceARB; +#define glFramebufferTextureFaceARB glad_debug_glFramebufferTextureFaceARB +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_debug_glFramebufferTextureFaceEXT; +#define glFramebufferTextureFaceEXT glad_debug_glFramebufferTextureFaceEXT +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer; +#define glFramebufferTextureLayer glad_debug_glFramebufferTextureLayer +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_debug_glFramebufferTextureLayerARB; +#define glFramebufferTextureLayerARB glad_debug_glFramebufferTextureLayerARB +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT; +GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_debug_glFramebufferTextureLayerEXT; +#define glFramebufferTextureLayerEXT glad_debug_glFramebufferTextureLayerEXT +GLAD_API_CALL PFNGLFRONTFACEPROC glad_glFrontFace; +GLAD_API_CALL PFNGLFRONTFACEPROC glad_debug_glFrontFace; +#define glFrontFace glad_debug_glFrontFace +GLAD_API_CALL PFNGLFRUSTUMFOESPROC glad_glFrustumfOES; +GLAD_API_CALL PFNGLFRUSTUMFOESPROC glad_debug_glFrustumfOES; +#define glFrustumfOES glad_debug_glFrustumfOES +GLAD_API_CALL PFNGLGENBUFFERSPROC glad_glGenBuffers; +GLAD_API_CALL PFNGLGENBUFFERSPROC glad_debug_glGenBuffers; +#define glGenBuffers glad_debug_glGenBuffers +GLAD_API_CALL PFNGLGENBUFFERSARBPROC glad_glGenBuffersARB; +GLAD_API_CALL PFNGLGENBUFFERSARBPROC glad_debug_glGenBuffersARB; +#define glGenBuffersARB glad_debug_glGenBuffersARB +GLAD_API_CALL PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +GLAD_API_CALL PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers; +#define glGenFramebuffers glad_debug_glGenFramebuffers +GLAD_API_CALL PFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT; +GLAD_API_CALL PFNGLGENFRAMEBUFFERSEXTPROC glad_debug_glGenFramebuffersEXT; +#define glGenFramebuffersEXT glad_debug_glGenFramebuffersEXT +GLAD_API_CALL PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines; +GLAD_API_CALL PFNGLGENPROGRAMPIPELINESPROC glad_debug_glGenProgramPipelines; +#define glGenProgramPipelines glad_debug_glGenProgramPipelines +GLAD_API_CALL PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB; +GLAD_API_CALL PFNGLGENPROGRAMSARBPROC glad_debug_glGenProgramsARB; +#define glGenProgramsARB glad_debug_glGenProgramsARB +GLAD_API_CALL PFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV; +GLAD_API_CALL PFNGLGENPROGRAMSNVPROC glad_debug_glGenProgramsNV; +#define glGenProgramsNV glad_debug_glGenProgramsNV +GLAD_API_CALL PFNGLGENQUERIESPROC glad_glGenQueries; +GLAD_API_CALL PFNGLGENQUERIESPROC glad_debug_glGenQueries; +#define glGenQueries glad_debug_glGenQueries +GLAD_API_CALL PFNGLGENQUERIESARBPROC glad_glGenQueriesARB; +GLAD_API_CALL PFNGLGENQUERIESARBPROC glad_debug_glGenQueriesARB; +#define glGenQueriesARB glad_debug_glGenQueriesARB +GLAD_API_CALL PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +GLAD_API_CALL PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers; +#define glGenRenderbuffers glad_debug_glGenRenderbuffers +GLAD_API_CALL PFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT; +GLAD_API_CALL PFNGLGENRENDERBUFFERSEXTPROC glad_debug_glGenRenderbuffersEXT; +#define glGenRenderbuffersEXT glad_debug_glGenRenderbuffersEXT +GLAD_API_CALL PFNGLGENSAMPLERSPROC glad_glGenSamplers; +GLAD_API_CALL PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers; +#define glGenSamplers glad_debug_glGenSamplers +GLAD_API_CALL PFNGLGENTEXTURESPROC glad_glGenTextures; +GLAD_API_CALL PFNGLGENTEXTURESPROC glad_debug_glGenTextures; +#define glGenTextures glad_debug_glGenTextures +GLAD_API_CALL PFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT; +GLAD_API_CALL PFNGLGENTEXTURESEXTPROC glad_debug_glGenTexturesEXT; +#define glGenTexturesEXT glad_debug_glGenTexturesEXT +GLAD_API_CALL PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks; +GLAD_API_CALL PFNGLGENTRANSFORMFEEDBACKSPROC glad_debug_glGenTransformFeedbacks; +#define glGenTransformFeedbacks glad_debug_glGenTransformFeedbacks +GLAD_API_CALL PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV; +GLAD_API_CALL PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_debug_glGenTransformFeedbacksNV; +#define glGenTransformFeedbacksNV glad_debug_glGenTransformFeedbacksNV +GLAD_API_CALL PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +GLAD_API_CALL PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays; +#define glGenVertexArrays glad_debug_glGenVertexArrays +GLAD_API_CALL PFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE; +GLAD_API_CALL PFNGLGENVERTEXARRAYSAPPLEPROC glad_debug_glGenVertexArraysAPPLE; +#define glGenVertexArraysAPPLE glad_debug_glGenVertexArraysAPPLE +GLAD_API_CALL PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +GLAD_API_CALL PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap; +#define glGenerateMipmap glad_debug_glGenerateMipmap +GLAD_API_CALL PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT; +GLAD_API_CALL PFNGLGENERATEMIPMAPEXTPROC glad_debug_glGenerateMipmapEXT; +#define glGenerateMipmapEXT glad_debug_glGenerateMipmapEXT +GLAD_API_CALL PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT; +GLAD_API_CALL PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_debug_glGenerateMultiTexMipmapEXT; +#define glGenerateMultiTexMipmapEXT glad_debug_glGenerateMultiTexMipmapEXT +GLAD_API_CALL PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap; +GLAD_API_CALL PFNGLGENERATETEXTUREMIPMAPPROC glad_debug_glGenerateTextureMipmap; +#define glGenerateTextureMipmap glad_debug_glGenerateTextureMipmap +GLAD_API_CALL PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT; +GLAD_API_CALL PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_debug_glGenerateTextureMipmapEXT; +#define glGenerateTextureMipmapEXT glad_debug_glGenerateTextureMipmapEXT +GLAD_API_CALL PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv; +GLAD_API_CALL PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_debug_glGetActiveAtomicCounterBufferiv; +#define glGetActiveAtomicCounterBufferiv glad_debug_glGetActiveAtomicCounterBufferiv +GLAD_API_CALL PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +GLAD_API_CALL PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib; +#define glGetActiveAttrib glad_debug_glGetActiveAttrib +GLAD_API_CALL PFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB; +GLAD_API_CALL PFNGLGETACTIVEATTRIBARBPROC glad_debug_glGetActiveAttribARB; +#define glGetActiveAttribARB glad_debug_glGetActiveAttribARB +GLAD_API_CALL PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName; +GLAD_API_CALL PFNGLGETACTIVESUBROUTINENAMEPROC glad_debug_glGetActiveSubroutineName; +#define glGetActiveSubroutineName glad_debug_glGetActiveSubroutineName +GLAD_API_CALL PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName; +GLAD_API_CALL PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_debug_glGetActiveSubroutineUniformName; +#define glGetActiveSubroutineUniformName glad_debug_glGetActiveSubroutineUniformName +GLAD_API_CALL PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv; +GLAD_API_CALL PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_debug_glGetActiveSubroutineUniformiv; +#define glGetActiveSubroutineUniformiv glad_debug_glGetActiveSubroutineUniformiv +GLAD_API_CALL PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform; +#define glGetActiveUniform glad_debug_glGetActiveUniform +GLAD_API_CALL PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMARBPROC glad_debug_glGetActiveUniformARB; +#define glGetActiveUniformARB glad_debug_glGetActiveUniformARB +GLAD_API_CALL PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName; +#define glGetActiveUniformBlockName glad_debug_glGetActiveUniformBlockName +GLAD_API_CALL PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv; +#define glGetActiveUniformBlockiv glad_debug_glGetActiveUniformBlockiv +GLAD_API_CALL PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName; +#define glGetActiveUniformName glad_debug_glGetActiveUniformName +GLAD_API_CALL PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +GLAD_API_CALL PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv; +#define glGetActiveUniformsiv glad_debug_glGetActiveUniformsiv +GLAD_API_CALL PFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV; +GLAD_API_CALL PFNGLGETACTIVEVARYINGNVPROC glad_debug_glGetActiveVaryingNV; +#define glGetActiveVaryingNV glad_debug_glGetActiveVaryingNV +GLAD_API_CALL PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB; +GLAD_API_CALL PFNGLGETATTACHEDOBJECTSARBPROC glad_debug_glGetAttachedObjectsARB; +#define glGetAttachedObjectsARB glad_debug_glGetAttachedObjectsARB +GLAD_API_CALL PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +GLAD_API_CALL PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders; +#define glGetAttachedShaders glad_debug_glGetAttachedShaders +GLAD_API_CALL PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +GLAD_API_CALL PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation; +#define glGetAttribLocation glad_debug_glGetAttribLocation +GLAD_API_CALL PFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB; +GLAD_API_CALL PFNGLGETATTRIBLOCATIONARBPROC glad_debug_glGetAttribLocationARB; +#define glGetAttribLocationARB glad_debug_glGetAttribLocationARB +GLAD_API_CALL PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT; +GLAD_API_CALL PFNGLGETBOOLEANINDEXEDVEXTPROC glad_debug_glGetBooleanIndexedvEXT; +#define glGetBooleanIndexedvEXT glad_debug_glGetBooleanIndexedvEXT +GLAD_API_CALL PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +GLAD_API_CALL PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v; +#define glGetBooleani_v glad_debug_glGetBooleani_v +GLAD_API_CALL PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +GLAD_API_CALL PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv; +#define glGetBooleanv glad_debug_glGetBooleanv +GLAD_API_CALL PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +GLAD_API_CALL PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v; +#define glGetBufferParameteri64v glad_debug_glGetBufferParameteri64v +GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv; +#define glGetBufferParameteriv glad_debug_glGetBufferParameteriv +GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB; +GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVARBPROC glad_debug_glGetBufferParameterivARB; +#define glGetBufferParameterivARB glad_debug_glGetBufferParameterivARB +GLAD_API_CALL PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +GLAD_API_CALL PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv; +#define glGetBufferPointerv glad_debug_glGetBufferPointerv +GLAD_API_CALL PFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB; +GLAD_API_CALL PFNGLGETBUFFERPOINTERVARBPROC glad_debug_glGetBufferPointervARB; +#define glGetBufferPointervARB glad_debug_glGetBufferPointervARB +GLAD_API_CALL PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +GLAD_API_CALL PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData; +#define glGetBufferSubData glad_debug_glGetBufferSubData +GLAD_API_CALL PFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB; +GLAD_API_CALL PFNGLGETBUFFERSUBDATAARBPROC glad_debug_glGetBufferSubDataARB; +#define glGetBufferSubDataARB glad_debug_glGetBufferSubDataARB +GLAD_API_CALL PFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES; +GLAD_API_CALL PFNGLGETCLIPPLANEFOESPROC glad_debug_glGetClipPlanefOES; +#define glGetClipPlanefOES glad_debug_glGetClipPlanefOES +GLAD_API_CALL PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT; +GLAD_API_CALL PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_debug_glGetCompressedMultiTexImageEXT; +#define glGetCompressedMultiTexImageEXT glad_debug_glGetCompressedMultiTexImageEXT +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage; +#define glGetCompressedTexImage glad_debug_glGetCompressedTexImage +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB; +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_debug_glGetCompressedTexImageARB; +#define glGetCompressedTexImageARB glad_debug_glGetCompressedTexImageARB +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage; +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_debug_glGetCompressedTextureImage; +#define glGetCompressedTextureImage glad_debug_glGetCompressedTextureImage +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT; +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_debug_glGetCompressedTextureImageEXT; +#define glGetCompressedTextureImageEXT glad_debug_glGetCompressedTextureImageEXT +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage; +GLAD_API_CALL PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_debug_glGetCompressedTextureSubImage; +#define glGetCompressedTextureSubImage glad_debug_glGetCompressedTextureSubImage +GLAD_API_CALL PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog; +GLAD_API_CALL PFNGLGETDEBUGMESSAGELOGPROC glad_debug_glGetDebugMessageLog; +#define glGetDebugMessageLog glad_debug_glGetDebugMessageLog +GLAD_API_CALL PFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB; +GLAD_API_CALL PFNGLGETDEBUGMESSAGELOGARBPROC glad_debug_glGetDebugMessageLogARB; +#define glGetDebugMessageLogARB glad_debug_glGetDebugMessageLogARB +GLAD_API_CALL PFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT; +GLAD_API_CALL PFNGLGETDOUBLEINDEXEDVEXTPROC glad_debug_glGetDoubleIndexedvEXT; +#define glGetDoubleIndexedvEXT glad_debug_glGetDoubleIndexedvEXT +GLAD_API_CALL PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v; +GLAD_API_CALL PFNGLGETDOUBLEI_VPROC glad_debug_glGetDoublei_v; +#define glGetDoublei_v glad_debug_glGetDoublei_v +GLAD_API_CALL PFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT; +GLAD_API_CALL PFNGLGETDOUBLEI_VEXTPROC glad_debug_glGetDoublei_vEXT; +#define glGetDoublei_vEXT glad_debug_glGetDoublei_vEXT +GLAD_API_CALL PFNGLGETDOUBLEVPROC glad_glGetDoublev; +GLAD_API_CALL PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev; +#define glGetDoublev glad_debug_glGetDoublev +GLAD_API_CALL PFNGLGETERRORPROC glad_glGetError; +GLAD_API_CALL PFNGLGETERRORPROC glad_debug_glGetError; +#define glGetError glad_debug_glGetError +GLAD_API_CALL PFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT; +GLAD_API_CALL PFNGLGETFLOATINDEXEDVEXTPROC glad_debug_glGetFloatIndexedvEXT; +#define glGetFloatIndexedvEXT glad_debug_glGetFloatIndexedvEXT +GLAD_API_CALL PFNGLGETFLOATI_VPROC glad_glGetFloati_v; +GLAD_API_CALL PFNGLGETFLOATI_VPROC glad_debug_glGetFloati_v; +#define glGetFloati_v glad_debug_glGetFloati_v +GLAD_API_CALL PFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT; +GLAD_API_CALL PFNGLGETFLOATI_VEXTPROC glad_debug_glGetFloati_vEXT; +#define glGetFloati_vEXT glad_debug_glGetFloati_vEXT +GLAD_API_CALL PFNGLGETFLOATVPROC glad_glGetFloatv; +GLAD_API_CALL PFNGLGETFLOATVPROC glad_debug_glGetFloatv; +#define glGetFloatv glad_debug_glGetFloatv +GLAD_API_CALL PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +GLAD_API_CALL PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex; +#define glGetFragDataIndex glad_debug_glGetFragDataIndex +GLAD_API_CALL PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +GLAD_API_CALL PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation; +#define glGetFragDataLocation glad_debug_glGetFragDataLocation +GLAD_API_CALL PFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT; +GLAD_API_CALL PFNGLGETFRAGDATALOCATIONEXTPROC glad_debug_glGetFragDataLocationEXT; +#define glGetFragDataLocationEXT glad_debug_glGetFragDataLocationEXT +GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv; +#define glGetFramebufferAttachmentParameteriv glad_debug_glGetFramebufferAttachmentParameteriv +GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT; +GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_debug_glGetFramebufferAttachmentParameterivEXT; +#define glGetFramebufferAttachmentParameterivEXT glad_debug_glGetFramebufferAttachmentParameterivEXT +GLAD_API_CALL PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv; +GLAD_API_CALL PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_debug_glGetFramebufferParameteriv; +#define glGetFramebufferParameteriv glad_debug_glGetFramebufferParameteriv +GLAD_API_CALL PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT; +GLAD_API_CALL PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_debug_glGetFramebufferParameterivEXT; +#define glGetFramebufferParameterivEXT glad_debug_glGetFramebufferParameterivEXT +GLAD_API_CALL PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus; +GLAD_API_CALL PFNGLGETGRAPHICSRESETSTATUSPROC glad_debug_glGetGraphicsResetStatus; +#define glGetGraphicsResetStatus glad_debug_glGetGraphicsResetStatus +GLAD_API_CALL PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB; +GLAD_API_CALL PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_debug_glGetGraphicsResetStatusARB; +#define glGetGraphicsResetStatusARB glad_debug_glGetGraphicsResetStatusARB +GLAD_API_CALL PFNGLGETHANDLEARBPROC glad_glGetHandleARB; +GLAD_API_CALL PFNGLGETHANDLEARBPROC glad_debug_glGetHandleARB; +#define glGetHandleARB glad_debug_glGetHandleARB +GLAD_API_CALL PFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB; +GLAD_API_CALL PFNGLGETIMAGEHANDLEARBPROC glad_debug_glGetImageHandleARB; +#define glGetImageHandleARB glad_debug_glGetImageHandleARB +GLAD_API_CALL PFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV; +GLAD_API_CALL PFNGLGETIMAGEHANDLENVPROC glad_debug_glGetImageHandleNV; +#define glGetImageHandleNV glad_debug_glGetImageHandleNV +GLAD_API_CALL PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB; +GLAD_API_CALL PFNGLGETINFOLOGARBPROC glad_debug_glGetInfoLogARB; +#define glGetInfoLogARB glad_debug_glGetInfoLogARB +GLAD_API_CALL PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +GLAD_API_CALL PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v; +#define glGetInteger64i_v glad_debug_glGetInteger64i_v +GLAD_API_CALL PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +GLAD_API_CALL PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v; +#define glGetInteger64v glad_debug_glGetInteger64v +GLAD_API_CALL PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT; +GLAD_API_CALL PFNGLGETINTEGERINDEXEDVEXTPROC glad_debug_glGetIntegerIndexedvEXT; +#define glGetIntegerIndexedvEXT glad_debug_glGetIntegerIndexedvEXT +GLAD_API_CALL PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +GLAD_API_CALL PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v; +#define glGetIntegeri_v glad_debug_glGetIntegeri_v +GLAD_API_CALL PFNGLGETINTEGERVPROC glad_glGetIntegerv; +GLAD_API_CALL PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv; +#define glGetIntegerv glad_debug_glGetIntegerv +GLAD_API_CALL PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v; +GLAD_API_CALL PFNGLGETINTERNALFORMATI64VPROC glad_debug_glGetInternalformati64v; +#define glGetInternalformati64v glad_debug_glGetInternalformati64v +GLAD_API_CALL PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; +GLAD_API_CALL PFNGLGETINTERNALFORMATIVPROC glad_debug_glGetInternalformativ; +#define glGetInternalformativ glad_debug_glGetInternalformativ +GLAD_API_CALL PFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT; +GLAD_API_CALL PFNGLGETMULTITEXENVFVEXTPROC glad_debug_glGetMultiTexEnvfvEXT; +#define glGetMultiTexEnvfvEXT glad_debug_glGetMultiTexEnvfvEXT +GLAD_API_CALL PFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT; +GLAD_API_CALL PFNGLGETMULTITEXENVIVEXTPROC glad_debug_glGetMultiTexEnvivEXT; +#define glGetMultiTexEnvivEXT glad_debug_glGetMultiTexEnvivEXT +GLAD_API_CALL PFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT; +GLAD_API_CALL PFNGLGETMULTITEXGENDVEXTPROC glad_debug_glGetMultiTexGendvEXT; +#define glGetMultiTexGendvEXT glad_debug_glGetMultiTexGendvEXT +GLAD_API_CALL PFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT; +GLAD_API_CALL PFNGLGETMULTITEXGENFVEXTPROC glad_debug_glGetMultiTexGenfvEXT; +#define glGetMultiTexGenfvEXT glad_debug_glGetMultiTexGenfvEXT +GLAD_API_CALL PFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT; +GLAD_API_CALL PFNGLGETMULTITEXGENIVEXTPROC glad_debug_glGetMultiTexGenivEXT; +#define glGetMultiTexGenivEXT glad_debug_glGetMultiTexGenivEXT +GLAD_API_CALL PFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT; +GLAD_API_CALL PFNGLGETMULTITEXIMAGEEXTPROC glad_debug_glGetMultiTexImageEXT; +#define glGetMultiTexImageEXT glad_debug_glGetMultiTexImageEXT +GLAD_API_CALL PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT; +GLAD_API_CALL PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_debug_glGetMultiTexLevelParameterfvEXT; +#define glGetMultiTexLevelParameterfvEXT glad_debug_glGetMultiTexLevelParameterfvEXT +GLAD_API_CALL PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT; +GLAD_API_CALL PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_debug_glGetMultiTexLevelParameterivEXT; +#define glGetMultiTexLevelParameterivEXT glad_debug_glGetMultiTexLevelParameterivEXT +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT; +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_debug_glGetMultiTexParameterIivEXT; +#define glGetMultiTexParameterIivEXT glad_debug_glGetMultiTexParameterIivEXT +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT; +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_debug_glGetMultiTexParameterIuivEXT; +#define glGetMultiTexParameterIuivEXT glad_debug_glGetMultiTexParameterIuivEXT +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT; +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_debug_glGetMultiTexParameterfvEXT; +#define glGetMultiTexParameterfvEXT glad_debug_glGetMultiTexParameterfvEXT +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT; +GLAD_API_CALL PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_debug_glGetMultiTexParameterivEXT; +#define glGetMultiTexParameterivEXT glad_debug_glGetMultiTexParameterivEXT +GLAD_API_CALL PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +GLAD_API_CALL PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv; +#define glGetMultisamplefv glad_debug_glGetMultisamplefv +GLAD_API_CALL PFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV; +GLAD_API_CALL PFNGLGETMULTISAMPLEFVNVPROC glad_debug_glGetMultisamplefvNV; +#define glGetMultisamplefvNV glad_debug_glGetMultisamplefvNV +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v; +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_debug_glGetNamedBufferParameteri64v; +#define glGetNamedBufferParameteri64v glad_debug_glGetNamedBufferParameteri64v +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv; +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_debug_glGetNamedBufferParameteriv; +#define glGetNamedBufferParameteriv glad_debug_glGetNamedBufferParameteriv +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT; +GLAD_API_CALL PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedBufferParameterivEXT; +#define glGetNamedBufferParameterivEXT glad_debug_glGetNamedBufferParameterivEXT +GLAD_API_CALL PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv; +GLAD_API_CALL PFNGLGETNAMEDBUFFERPOINTERVPROC glad_debug_glGetNamedBufferPointerv; +#define glGetNamedBufferPointerv glad_debug_glGetNamedBufferPointerv +GLAD_API_CALL PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT; +GLAD_API_CALL PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_debug_glGetNamedBufferPointervEXT; +#define glGetNamedBufferPointervEXT glad_debug_glGetNamedBufferPointervEXT +GLAD_API_CALL PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData; +GLAD_API_CALL PFNGLGETNAMEDBUFFERSUBDATAPROC glad_debug_glGetNamedBufferSubData; +#define glGetNamedBufferSubData glad_debug_glGetNamedBufferSubData +GLAD_API_CALL PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT; +GLAD_API_CALL PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_debug_glGetNamedBufferSubDataEXT; +#define glGetNamedBufferSubDataEXT glad_debug_glGetNamedBufferSubDataEXT +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv; +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetNamedFramebufferAttachmentParameteriv; +#define glGetNamedFramebufferAttachmentParameteriv glad_debug_glGetNamedFramebufferAttachmentParameteriv +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT; +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_debug_glGetNamedFramebufferAttachmentParameterivEXT; +#define glGetNamedFramebufferAttachmentParameterivEXT glad_debug_glGetNamedFramebufferAttachmentParameterivEXT +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv; +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_debug_glGetNamedFramebufferParameteriv; +#define glGetNamedFramebufferParameteriv glad_debug_glGetNamedFramebufferParameteriv +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT; +GLAD_API_CALL PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedFramebufferParameterivEXT; +#define glGetNamedFramebufferParameterivEXT glad_debug_glGetNamedFramebufferParameterivEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_debug_glGetNamedProgramLocalParameterIivEXT; +#define glGetNamedProgramLocalParameterIivEXT glad_debug_glGetNamedProgramLocalParameterIivEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_debug_glGetNamedProgramLocalParameterIuivEXT; +#define glGetNamedProgramLocalParameterIuivEXT glad_debug_glGetNamedProgramLocalParameterIuivEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_debug_glGetNamedProgramLocalParameterdvEXT; +#define glGetNamedProgramLocalParameterdvEXT glad_debug_glGetNamedProgramLocalParameterdvEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_debug_glGetNamedProgramLocalParameterfvEXT; +#define glGetNamedProgramLocalParameterfvEXT glad_debug_glGetNamedProgramLocalParameterfvEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_debug_glGetNamedProgramStringEXT; +#define glGetNamedProgramStringEXT glad_debug_glGetNamedProgramStringEXT +GLAD_API_CALL PFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT; +GLAD_API_CALL PFNGLGETNAMEDPROGRAMIVEXTPROC glad_debug_glGetNamedProgramivEXT; +#define glGetNamedProgramivEXT glad_debug_glGetNamedProgramivEXT +GLAD_API_CALL PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv; +GLAD_API_CALL PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_debug_glGetNamedRenderbufferParameteriv; +#define glGetNamedRenderbufferParameteriv glad_debug_glGetNamedRenderbufferParameteriv +GLAD_API_CALL PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT; +GLAD_API_CALL PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedRenderbufferParameterivEXT; +#define glGetNamedRenderbufferParameterivEXT glad_debug_glGetNamedRenderbufferParameterivEXT +GLAD_API_CALL PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel; +GLAD_API_CALL PFNGLGETOBJECTLABELPROC glad_debug_glGetObjectLabel; +#define glGetObjectLabel glad_debug_glGetObjectLabel +GLAD_API_CALL PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB; +GLAD_API_CALL PFNGLGETOBJECTPARAMETERFVARBPROC glad_debug_glGetObjectParameterfvARB; +#define glGetObjectParameterfvARB glad_debug_glGetObjectParameterfvARB +GLAD_API_CALL PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB; +GLAD_API_CALL PFNGLGETOBJECTPARAMETERIVARBPROC glad_debug_glGetObjectParameterivARB; +#define glGetObjectParameterivARB glad_debug_glGetObjectParameterivARB +GLAD_API_CALL PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel; +GLAD_API_CALL PFNGLGETOBJECTPTRLABELPROC glad_debug_glGetObjectPtrLabel; +#define glGetObjectPtrLabel glad_debug_glGetObjectPtrLabel +GLAD_API_CALL PFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT; +GLAD_API_CALL PFNGLGETPOINTERINDEXEDVEXTPROC glad_debug_glGetPointerIndexedvEXT; +#define glGetPointerIndexedvEXT glad_debug_glGetPointerIndexedvEXT +GLAD_API_CALL PFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT; +GLAD_API_CALL PFNGLGETPOINTERI_VEXTPROC glad_debug_glGetPointeri_vEXT; +#define glGetPointeri_vEXT glad_debug_glGetPointeri_vEXT +GLAD_API_CALL PFNGLGETPOINTERVPROC glad_glGetPointerv; +GLAD_API_CALL PFNGLGETPOINTERVPROC glad_debug_glGetPointerv; +#define glGetPointerv glad_debug_glGetPointerv +GLAD_API_CALL PFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT; +GLAD_API_CALL PFNGLGETPOINTERVEXTPROC glad_debug_glGetPointervEXT; +#define glGetPointervEXT glad_debug_glGetPointervEXT +GLAD_API_CALL PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary; +GLAD_API_CALL PFNGLGETPROGRAMBINARYPROC glad_debug_glGetProgramBinary; +#define glGetProgramBinary glad_debug_glGetProgramBinary +GLAD_API_CALL PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB; +GLAD_API_CALL PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_debug_glGetProgramEnvParameterdvARB; +#define glGetProgramEnvParameterdvARB glad_debug_glGetProgramEnvParameterdvARB +GLAD_API_CALL PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB; +GLAD_API_CALL PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_debug_glGetProgramEnvParameterfvARB; +#define glGetProgramEnvParameterfvARB glad_debug_glGetProgramEnvParameterfvARB +GLAD_API_CALL PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +GLAD_API_CALL PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog; +#define glGetProgramInfoLog glad_debug_glGetProgramInfoLog +GLAD_API_CALL PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv; +GLAD_API_CALL PFNGLGETPROGRAMINTERFACEIVPROC glad_debug_glGetProgramInterfaceiv; +#define glGetProgramInterfaceiv glad_debug_glGetProgramInterfaceiv +GLAD_API_CALL PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB; +GLAD_API_CALL PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_debug_glGetProgramLocalParameterdvARB; +#define glGetProgramLocalParameterdvARB glad_debug_glGetProgramLocalParameterdvARB +GLAD_API_CALL PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB; +GLAD_API_CALL PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_debug_glGetProgramLocalParameterfvARB; +#define glGetProgramLocalParameterfvARB glad_debug_glGetProgramLocalParameterfvARB +GLAD_API_CALL PFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV; +GLAD_API_CALL PFNGLGETPROGRAMPARAMETERDVNVPROC glad_debug_glGetProgramParameterdvNV; +#define glGetProgramParameterdvNV glad_debug_glGetProgramParameterdvNV +GLAD_API_CALL PFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV; +GLAD_API_CALL PFNGLGETPROGRAMPARAMETERFVNVPROC glad_debug_glGetProgramParameterfvNV; +#define glGetProgramParameterfvNV glad_debug_glGetProgramParameterfvNV +GLAD_API_CALL PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog; +GLAD_API_CALL PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_debug_glGetProgramPipelineInfoLog; +#define glGetProgramPipelineInfoLog glad_debug_glGetProgramPipelineInfoLog +GLAD_API_CALL PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv; +GLAD_API_CALL PFNGLGETPROGRAMPIPELINEIVPROC glad_debug_glGetProgramPipelineiv; +#define glGetProgramPipelineiv glad_debug_glGetProgramPipelineiv +GLAD_API_CALL PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex; +GLAD_API_CALL PFNGLGETPROGRAMRESOURCEINDEXPROC glad_debug_glGetProgramResourceIndex; +#define glGetProgramResourceIndex glad_debug_glGetProgramResourceIndex +GLAD_API_CALL PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation; +GLAD_API_CALL PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_debug_glGetProgramResourceLocation; +#define glGetProgramResourceLocation glad_debug_glGetProgramResourceLocation +GLAD_API_CALL PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex; +GLAD_API_CALL PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_debug_glGetProgramResourceLocationIndex; +#define glGetProgramResourceLocationIndex glad_debug_glGetProgramResourceLocationIndex +GLAD_API_CALL PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName; +GLAD_API_CALL PFNGLGETPROGRAMRESOURCENAMEPROC glad_debug_glGetProgramResourceName; +#define glGetProgramResourceName glad_debug_glGetProgramResourceName +GLAD_API_CALL PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv; +GLAD_API_CALL PFNGLGETPROGRAMRESOURCEIVPROC glad_debug_glGetProgramResourceiv; +#define glGetProgramResourceiv glad_debug_glGetProgramResourceiv +GLAD_API_CALL PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv; +GLAD_API_CALL PFNGLGETPROGRAMSTAGEIVPROC glad_debug_glGetProgramStageiv; +#define glGetProgramStageiv glad_debug_glGetProgramStageiv +GLAD_API_CALL PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB; +GLAD_API_CALL PFNGLGETPROGRAMSTRINGARBPROC glad_debug_glGetProgramStringARB; +#define glGetProgramStringARB glad_debug_glGetProgramStringARB +GLAD_API_CALL PFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV; +GLAD_API_CALL PFNGLGETPROGRAMSTRINGNVPROC glad_debug_glGetProgramStringNV; +#define glGetProgramStringNV glad_debug_glGetProgramStringNV +GLAD_API_CALL PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +GLAD_API_CALL PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv; +#define glGetProgramiv glad_debug_glGetProgramiv +GLAD_API_CALL PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB; +GLAD_API_CALL PFNGLGETPROGRAMIVARBPROC glad_debug_glGetProgramivARB; +#define glGetProgramivARB glad_debug_glGetProgramivARB +GLAD_API_CALL PFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV; +GLAD_API_CALL PFNGLGETPROGRAMIVNVPROC glad_debug_glGetProgramivNV; +#define glGetProgramivNV glad_debug_glGetProgramivNV +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v; +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_debug_glGetQueryBufferObjecti64v; +#define glGetQueryBufferObjecti64v glad_debug_glGetQueryBufferObjecti64v +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv; +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTIVPROC glad_debug_glGetQueryBufferObjectiv; +#define glGetQueryBufferObjectiv glad_debug_glGetQueryBufferObjectiv +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v; +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_debug_glGetQueryBufferObjectui64v; +#define glGetQueryBufferObjectui64v glad_debug_glGetQueryBufferObjectui64v +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv; +GLAD_API_CALL PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_debug_glGetQueryBufferObjectuiv; +#define glGetQueryBufferObjectuiv glad_debug_glGetQueryBufferObjectuiv +GLAD_API_CALL PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv; +GLAD_API_CALL PFNGLGETQUERYINDEXEDIVPROC glad_debug_glGetQueryIndexediv; +#define glGetQueryIndexediv glad_debug_glGetQueryIndexediv +GLAD_API_CALL PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +GLAD_API_CALL PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v; +#define glGetQueryObjecti64v glad_debug_glGetQueryObjecti64v +GLAD_API_CALL PFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT; +GLAD_API_CALL PFNGLGETQUERYOBJECTI64VEXTPROC glad_debug_glGetQueryObjecti64vEXT; +#define glGetQueryObjecti64vEXT glad_debug_glGetQueryObjecti64vEXT +GLAD_API_CALL PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +GLAD_API_CALL PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv; +#define glGetQueryObjectiv glad_debug_glGetQueryObjectiv +GLAD_API_CALL PFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB; +GLAD_API_CALL PFNGLGETQUERYOBJECTIVARBPROC glad_debug_glGetQueryObjectivARB; +#define glGetQueryObjectivARB glad_debug_glGetQueryObjectivARB +GLAD_API_CALL PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +GLAD_API_CALL PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v; +#define glGetQueryObjectui64v glad_debug_glGetQueryObjectui64v +GLAD_API_CALL PFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT; +GLAD_API_CALL PFNGLGETQUERYOBJECTUI64VEXTPROC glad_debug_glGetQueryObjectui64vEXT; +#define glGetQueryObjectui64vEXT glad_debug_glGetQueryObjectui64vEXT +GLAD_API_CALL PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +GLAD_API_CALL PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv; +#define glGetQueryObjectuiv glad_debug_glGetQueryObjectuiv +GLAD_API_CALL PFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB; +GLAD_API_CALL PFNGLGETQUERYOBJECTUIVARBPROC glad_debug_glGetQueryObjectuivARB; +#define glGetQueryObjectuivARB glad_debug_glGetQueryObjectuivARB +GLAD_API_CALL PFNGLGETQUERYIVPROC glad_glGetQueryiv; +GLAD_API_CALL PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv; +#define glGetQueryiv glad_debug_glGetQueryiv +GLAD_API_CALL PFNGLGETQUERYIVARBPROC glad_glGetQueryivARB; +GLAD_API_CALL PFNGLGETQUERYIVARBPROC glad_debug_glGetQueryivARB; +#define glGetQueryivARB glad_debug_glGetQueryivARB +GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv; +#define glGetRenderbufferParameteriv glad_debug_glGetRenderbufferParameteriv +GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT; +GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_debug_glGetRenderbufferParameterivEXT; +#define glGetRenderbufferParameterivEXT glad_debug_glGetRenderbufferParameterivEXT +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv; +#define glGetSamplerParameterIiv glad_debug_glGetSamplerParameterIiv +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv; +#define glGetSamplerParameterIuiv glad_debug_glGetSamplerParameterIuiv +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv; +#define glGetSamplerParameterfv glad_debug_glGetSamplerParameterfv +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +GLAD_API_CALL PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv; +#define glGetSamplerParameteriv glad_debug_glGetSamplerParameteriv +GLAD_API_CALL PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +GLAD_API_CALL PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog; +#define glGetShaderInfoLog glad_debug_glGetShaderInfoLog +GLAD_API_CALL PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; +GLAD_API_CALL PFNGLGETSHADERPRECISIONFORMATPROC glad_debug_glGetShaderPrecisionFormat; +#define glGetShaderPrecisionFormat glad_debug_glGetShaderPrecisionFormat +GLAD_API_CALL PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +GLAD_API_CALL PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource; +#define glGetShaderSource glad_debug_glGetShaderSource +GLAD_API_CALL PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB; +GLAD_API_CALL PFNGLGETSHADERSOURCEARBPROC glad_debug_glGetShaderSourceARB; +#define glGetShaderSourceARB glad_debug_glGetShaderSourceARB +GLAD_API_CALL PFNGLGETSHADERIVPROC glad_glGetShaderiv; +GLAD_API_CALL PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv; +#define glGetShaderiv glad_debug_glGetShaderiv +GLAD_API_CALL PFNGLGETSTRINGPROC glad_glGetString; +GLAD_API_CALL PFNGLGETSTRINGPROC glad_debug_glGetString; +#define glGetString glad_debug_glGetString +GLAD_API_CALL PFNGLGETSTRINGIPROC glad_glGetStringi; +GLAD_API_CALL PFNGLGETSTRINGIPROC glad_debug_glGetStringi; +#define glGetStringi glad_debug_glGetStringi +GLAD_API_CALL PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex; +GLAD_API_CALL PFNGLGETSUBROUTINEINDEXPROC glad_debug_glGetSubroutineIndex; +#define glGetSubroutineIndex glad_debug_glGetSubroutineIndex +GLAD_API_CALL PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation; +GLAD_API_CALL PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_debug_glGetSubroutineUniformLocation; +#define glGetSubroutineUniformLocation glad_debug_glGetSubroutineUniformLocation +GLAD_API_CALL PFNGLGETSYNCIVPROC glad_glGetSynciv; +GLAD_API_CALL PFNGLGETSYNCIVPROC glad_debug_glGetSynciv; +#define glGetSynciv glad_debug_glGetSynciv +GLAD_API_CALL PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +GLAD_API_CALL PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage; +#define glGetTexImage glad_debug_glGetTexImage +GLAD_API_CALL PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +GLAD_API_CALL PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv; +#define glGetTexLevelParameterfv glad_debug_glGetTexLevelParameterfv +GLAD_API_CALL PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +GLAD_API_CALL PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv; +#define glGetTexLevelParameteriv glad_debug_glGetTexLevelParameteriv +GLAD_API_CALL PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +GLAD_API_CALL PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv; +#define glGetTexParameterIiv glad_debug_glGetTexParameterIiv +GLAD_API_CALL PFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT; +GLAD_API_CALL PFNGLGETTEXPARAMETERIIVEXTPROC glad_debug_glGetTexParameterIivEXT; +#define glGetTexParameterIivEXT glad_debug_glGetTexParameterIivEXT +GLAD_API_CALL PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +GLAD_API_CALL PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv; +#define glGetTexParameterIuiv glad_debug_glGetTexParameterIuiv +GLAD_API_CALL PFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT; +GLAD_API_CALL PFNGLGETTEXPARAMETERIUIVEXTPROC glad_debug_glGetTexParameterIuivEXT; +#define glGetTexParameterIuivEXT glad_debug_glGetTexParameterIuivEXT +GLAD_API_CALL PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +GLAD_API_CALL PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv; +#define glGetTexParameterfv glad_debug_glGetTexParameterfv +GLAD_API_CALL PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +GLAD_API_CALL PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv; +#define glGetTexParameteriv glad_debug_glGetTexParameteriv +GLAD_API_CALL PFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB; +GLAD_API_CALL PFNGLGETTEXTUREHANDLEARBPROC glad_debug_glGetTextureHandleARB; +#define glGetTextureHandleARB glad_debug_glGetTextureHandleARB +GLAD_API_CALL PFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV; +GLAD_API_CALL PFNGLGETTEXTUREHANDLENVPROC glad_debug_glGetTextureHandleNV; +#define glGetTextureHandleNV glad_debug_glGetTextureHandleNV +GLAD_API_CALL PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage; +GLAD_API_CALL PFNGLGETTEXTUREIMAGEPROC glad_debug_glGetTextureImage; +#define glGetTextureImage glad_debug_glGetTextureImage +GLAD_API_CALL PFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT; +GLAD_API_CALL PFNGLGETTEXTUREIMAGEEXTPROC glad_debug_glGetTextureImageEXT; +#define glGetTextureImageEXT glad_debug_glGetTextureImageEXT +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv; +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_debug_glGetTextureLevelParameterfv; +#define glGetTextureLevelParameterfv glad_debug_glGetTextureLevelParameterfv +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT; +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_debug_glGetTextureLevelParameterfvEXT; +#define glGetTextureLevelParameterfvEXT glad_debug_glGetTextureLevelParameterfvEXT +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv; +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_debug_glGetTextureLevelParameteriv; +#define glGetTextureLevelParameteriv glad_debug_glGetTextureLevelParameteriv +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT; +GLAD_API_CALL PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_debug_glGetTextureLevelParameterivEXT; +#define glGetTextureLevelParameterivEXT glad_debug_glGetTextureLevelParameterivEXT +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIIVPROC glad_debug_glGetTextureParameterIiv; +#define glGetTextureParameterIiv glad_debug_glGetTextureParameterIiv +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_debug_glGetTextureParameterIivEXT; +#define glGetTextureParameterIivEXT glad_debug_glGetTextureParameterIivEXT +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIUIVPROC glad_debug_glGetTextureParameterIuiv; +#define glGetTextureParameterIuiv glad_debug_glGetTextureParameterIuiv +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_debug_glGetTextureParameterIuivEXT; +#define glGetTextureParameterIuivEXT glad_debug_glGetTextureParameterIuivEXT +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERFVPROC glad_debug_glGetTextureParameterfv; +#define glGetTextureParameterfv glad_debug_glGetTextureParameterfv +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_debug_glGetTextureParameterfvEXT; +#define glGetTextureParameterfvEXT glad_debug_glGetTextureParameterfvEXT +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIVPROC glad_debug_glGetTextureParameteriv; +#define glGetTextureParameteriv glad_debug_glGetTextureParameteriv +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT; +GLAD_API_CALL PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_debug_glGetTextureParameterivEXT; +#define glGetTextureParameterivEXT glad_debug_glGetTextureParameterivEXT +GLAD_API_CALL PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB; +GLAD_API_CALL PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_debug_glGetTextureSamplerHandleARB; +#define glGetTextureSamplerHandleARB glad_debug_glGetTextureSamplerHandleARB +GLAD_API_CALL PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV; +GLAD_API_CALL PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_debug_glGetTextureSamplerHandleNV; +#define glGetTextureSamplerHandleNV glad_debug_glGetTextureSamplerHandleNV +GLAD_API_CALL PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage; +GLAD_API_CALL PFNGLGETTEXTURESUBIMAGEPROC glad_debug_glGetTextureSubImage; +#define glGetTextureSubImage glad_debug_glGetTextureSubImage +GLAD_API_CALL PFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV; +GLAD_API_CALL PFNGLGETTRACKMATRIXIVNVPROC glad_debug_glGetTrackMatrixivNV; +#define glGetTrackMatrixivNV glad_debug_glGetTrackMatrixivNV +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying; +#define glGetTransformFeedbackVarying glad_debug_glGetTransformFeedbackVarying +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_debug_glGetTransformFeedbackVaryingEXT; +#define glGetTransformFeedbackVaryingEXT glad_debug_glGetTransformFeedbackVaryingEXT +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_debug_glGetTransformFeedbackVaryingNV; +#define glGetTransformFeedbackVaryingNV glad_debug_glGetTransformFeedbackVaryingNV +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_debug_glGetTransformFeedbacki64_v; +#define glGetTransformFeedbacki64_v glad_debug_glGetTransformFeedbacki64_v +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_debug_glGetTransformFeedbacki_v; +#define glGetTransformFeedbacki_v glad_debug_glGetTransformFeedbacki_v +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv; +GLAD_API_CALL PFNGLGETTRANSFORMFEEDBACKIVPROC glad_debug_glGetTransformFeedbackiv; +#define glGetTransformFeedbackiv glad_debug_glGetTransformFeedbackiv +GLAD_API_CALL PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +GLAD_API_CALL PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex; +#define glGetUniformBlockIndex glad_debug_glGetUniformBlockIndex +GLAD_API_CALL PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +GLAD_API_CALL PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices; +#define glGetUniformIndices glad_debug_glGetUniformIndices +GLAD_API_CALL PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +GLAD_API_CALL PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation; +#define glGetUniformLocation glad_debug_glGetUniformLocation +GLAD_API_CALL PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB; +GLAD_API_CALL PFNGLGETUNIFORMLOCATIONARBPROC glad_debug_glGetUniformLocationARB; +#define glGetUniformLocationARB glad_debug_glGetUniformLocationARB +GLAD_API_CALL PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv; +GLAD_API_CALL PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_debug_glGetUniformSubroutineuiv; +#define glGetUniformSubroutineuiv glad_debug_glGetUniformSubroutineuiv +GLAD_API_CALL PFNGLGETUNIFORMDVPROC glad_glGetUniformdv; +GLAD_API_CALL PFNGLGETUNIFORMDVPROC glad_debug_glGetUniformdv; +#define glGetUniformdv glad_debug_glGetUniformdv +GLAD_API_CALL PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +GLAD_API_CALL PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv; +#define glGetUniformfv glad_debug_glGetUniformfv +GLAD_API_CALL PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB; +GLAD_API_CALL PFNGLGETUNIFORMFVARBPROC glad_debug_glGetUniformfvARB; +#define glGetUniformfvARB glad_debug_glGetUniformfvARB +GLAD_API_CALL PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +GLAD_API_CALL PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv; +#define glGetUniformiv glad_debug_glGetUniformiv +GLAD_API_CALL PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB; +GLAD_API_CALL PFNGLGETUNIFORMIVARBPROC glad_debug_glGetUniformivARB; +#define glGetUniformivARB glad_debug_glGetUniformivARB +GLAD_API_CALL PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +GLAD_API_CALL PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv; +#define glGetUniformuiv glad_debug_glGetUniformuiv +GLAD_API_CALL PFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT; +GLAD_API_CALL PFNGLGETUNIFORMUIVEXTPROC glad_debug_glGetUniformuivEXT; +#define glGetUniformuivEXT glad_debug_glGetUniformuivEXT +GLAD_API_CALL PFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV; +GLAD_API_CALL PFNGLGETVARYINGLOCATIONNVPROC glad_debug_glGetVaryingLocationNV; +#define glGetVaryingLocationNV glad_debug_glGetVaryingLocationNV +GLAD_API_CALL PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv; +GLAD_API_CALL PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_debug_glGetVertexArrayIndexed64iv; +#define glGetVertexArrayIndexed64iv glad_debug_glGetVertexArrayIndexed64iv +GLAD_API_CALL PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv; +GLAD_API_CALL PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_debug_glGetVertexArrayIndexediv; +#define glGetVertexArrayIndexediv glad_debug_glGetVertexArrayIndexediv +GLAD_API_CALL PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT; +GLAD_API_CALL PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_debug_glGetVertexArrayIntegeri_vEXT; +#define glGetVertexArrayIntegeri_vEXT glad_debug_glGetVertexArrayIntegeri_vEXT +GLAD_API_CALL PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT; +GLAD_API_CALL PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_debug_glGetVertexArrayIntegervEXT; +#define glGetVertexArrayIntegervEXT glad_debug_glGetVertexArrayIntegervEXT +GLAD_API_CALL PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT; +GLAD_API_CALL PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_debug_glGetVertexArrayPointeri_vEXT; +#define glGetVertexArrayPointeri_vEXT glad_debug_glGetVertexArrayPointeri_vEXT +GLAD_API_CALL PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT; +GLAD_API_CALL PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_debug_glGetVertexArrayPointervEXT; +#define glGetVertexArrayPointervEXT glad_debug_glGetVertexArrayPointervEXT +GLAD_API_CALL PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv; +GLAD_API_CALL PFNGLGETVERTEXARRAYIVPROC glad_debug_glGetVertexArrayiv; +#define glGetVertexArrayiv glad_debug_glGetVertexArrayiv +GLAD_API_CALL PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv; +#define glGetVertexAttribIiv glad_debug_glGetVertexAttribIiv +GLAD_API_CALL PFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIIVEXTPROC glad_debug_glGetVertexAttribIivEXT; +#define glGetVertexAttribIivEXT glad_debug_glGetVertexAttribIivEXT +GLAD_API_CALL PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv; +#define glGetVertexAttribIuiv glad_debug_glGetVertexAttribIuiv +GLAD_API_CALL PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_debug_glGetVertexAttribIuivEXT; +#define glGetVertexAttribIuivEXT glad_debug_glGetVertexAttribIuivEXT +GLAD_API_CALL PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBLDVPROC glad_debug_glGetVertexAttribLdv; +#define glGetVertexAttribLdv glad_debug_glGetVertexAttribLdv +GLAD_API_CALL PFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT; +GLAD_API_CALL PFNGLGETVERTEXATTRIBLDVEXTPROC glad_debug_glGetVertexAttribLdvEXT; +#define glGetVertexAttribLdvEXT glad_debug_glGetVertexAttribLdvEXT +GLAD_API_CALL PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB; +GLAD_API_CALL PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_debug_glGetVertexAttribLui64vARB; +#define glGetVertexAttribLui64vARB glad_debug_glGetVertexAttribLui64vARB +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv; +#define glGetVertexAttribPointerv glad_debug_glGetVertexAttribPointerv +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB; +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_debug_glGetVertexAttribPointervARB; +#define glGetVertexAttribPointervARB glad_debug_glGetVertexAttribPointervARB +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV; +GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_debug_glGetVertexAttribPointervNV; +#define glGetVertexAttribPointervNV glad_debug_glGetVertexAttribPointervNV +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv; +#define glGetVertexAttribdv glad_debug_glGetVertexAttribdv +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB; +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVARBPROC glad_debug_glGetVertexAttribdvARB; +#define glGetVertexAttribdvARB glad_debug_glGetVertexAttribdvARB +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV; +GLAD_API_CALL PFNGLGETVERTEXATTRIBDVNVPROC glad_debug_glGetVertexAttribdvNV; +#define glGetVertexAttribdvNV glad_debug_glGetVertexAttribdvNV +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv; +#define glGetVertexAttribfv glad_debug_glGetVertexAttribfv +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB; +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVARBPROC glad_debug_glGetVertexAttribfvARB; +#define glGetVertexAttribfvARB glad_debug_glGetVertexAttribfvARB +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV; +GLAD_API_CALL PFNGLGETVERTEXATTRIBFVNVPROC glad_debug_glGetVertexAttribfvNV; +#define glGetVertexAttribfvNV glad_debug_glGetVertexAttribfvNV +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv; +#define glGetVertexAttribiv glad_debug_glGetVertexAttribiv +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVARBPROC glad_debug_glGetVertexAttribivARB; +#define glGetVertexAttribivARB glad_debug_glGetVertexAttribivARB +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV; +GLAD_API_CALL PFNGLGETVERTEXATTRIBIVNVPROC glad_debug_glGetVertexAttribivNV; +#define glGetVertexAttribivNV glad_debug_glGetVertexAttribivNV +GLAD_API_CALL PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage; +GLAD_API_CALL PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_debug_glGetnCompressedTexImage; +#define glGetnCompressedTexImage glad_debug_glGetnCompressedTexImage +GLAD_API_CALL PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB; +GLAD_API_CALL PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_debug_glGetnCompressedTexImageARB; +#define glGetnCompressedTexImageARB glad_debug_glGetnCompressedTexImageARB +GLAD_API_CALL PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage; +GLAD_API_CALL PFNGLGETNTEXIMAGEPROC glad_debug_glGetnTexImage; +#define glGetnTexImage glad_debug_glGetnTexImage +GLAD_API_CALL PFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB; +GLAD_API_CALL PFNGLGETNTEXIMAGEARBPROC glad_debug_glGetnTexImageARB; +#define glGetnTexImageARB glad_debug_glGetnTexImageARB +GLAD_API_CALL PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv; +GLAD_API_CALL PFNGLGETNUNIFORMDVPROC glad_debug_glGetnUniformdv; +#define glGetnUniformdv glad_debug_glGetnUniformdv +GLAD_API_CALL PFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB; +GLAD_API_CALL PFNGLGETNUNIFORMDVARBPROC glad_debug_glGetnUniformdvARB; +#define glGetnUniformdvARB glad_debug_glGetnUniformdvARB +GLAD_API_CALL PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv; +GLAD_API_CALL PFNGLGETNUNIFORMFVPROC glad_debug_glGetnUniformfv; +#define glGetnUniformfv glad_debug_glGetnUniformfv +GLAD_API_CALL PFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB; +GLAD_API_CALL PFNGLGETNUNIFORMFVARBPROC glad_debug_glGetnUniformfvARB; +#define glGetnUniformfvARB glad_debug_glGetnUniformfvARB +GLAD_API_CALL PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv; +GLAD_API_CALL PFNGLGETNUNIFORMIVPROC glad_debug_glGetnUniformiv; +#define glGetnUniformiv glad_debug_glGetnUniformiv +GLAD_API_CALL PFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB; +GLAD_API_CALL PFNGLGETNUNIFORMIVARBPROC glad_debug_glGetnUniformivARB; +#define glGetnUniformivARB glad_debug_glGetnUniformivARB +GLAD_API_CALL PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv; +GLAD_API_CALL PFNGLGETNUNIFORMUIVPROC glad_debug_glGetnUniformuiv; +#define glGetnUniformuiv glad_debug_glGetnUniformuiv +GLAD_API_CALL PFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB; +GLAD_API_CALL PFNGLGETNUNIFORMUIVARBPROC glad_debug_glGetnUniformuivARB; +#define glGetnUniformuivARB glad_debug_glGetnUniformuivARB +GLAD_API_CALL PFNGLHINTPROC glad_glHint; +GLAD_API_CALL PFNGLHINTPROC glad_debug_glHint; +#define glHint glad_debug_glHint +GLAD_API_CALL PFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT; +GLAD_API_CALL PFNGLINDEXPOINTEREXTPROC glad_debug_glIndexPointerEXT; +#define glIndexPointerEXT glad_debug_glIndexPointerEXT +GLAD_API_CALL PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData; +GLAD_API_CALL PFNGLINVALIDATEBUFFERDATAPROC glad_debug_glInvalidateBufferData; +#define glInvalidateBufferData glad_debug_glInvalidateBufferData +GLAD_API_CALL PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData; +GLAD_API_CALL PFNGLINVALIDATEBUFFERSUBDATAPROC glad_debug_glInvalidateBufferSubData; +#define glInvalidateBufferSubData glad_debug_glInvalidateBufferSubData +GLAD_API_CALL PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer; +GLAD_API_CALL PFNGLINVALIDATEFRAMEBUFFERPROC glad_debug_glInvalidateFramebuffer; +#define glInvalidateFramebuffer glad_debug_glInvalidateFramebuffer +GLAD_API_CALL PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData; +GLAD_API_CALL PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_debug_glInvalidateNamedFramebufferData; +#define glInvalidateNamedFramebufferData glad_debug_glInvalidateNamedFramebufferData +GLAD_API_CALL PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData; +GLAD_API_CALL PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_debug_glInvalidateNamedFramebufferSubData; +#define glInvalidateNamedFramebufferSubData glad_debug_glInvalidateNamedFramebufferSubData +GLAD_API_CALL PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer; +GLAD_API_CALL PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_debug_glInvalidateSubFramebuffer; +#define glInvalidateSubFramebuffer glad_debug_glInvalidateSubFramebuffer +GLAD_API_CALL PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage; +GLAD_API_CALL PFNGLINVALIDATETEXIMAGEPROC glad_debug_glInvalidateTexImage; +#define glInvalidateTexImage glad_debug_glInvalidateTexImage +GLAD_API_CALL PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage; +GLAD_API_CALL PFNGLINVALIDATETEXSUBIMAGEPROC glad_debug_glInvalidateTexSubImage; +#define glInvalidateTexSubImage glad_debug_glInvalidateTexSubImage +GLAD_API_CALL PFNGLISBUFFERPROC glad_glIsBuffer; +GLAD_API_CALL PFNGLISBUFFERPROC glad_debug_glIsBuffer; +#define glIsBuffer glad_debug_glIsBuffer +GLAD_API_CALL PFNGLISBUFFERARBPROC glad_glIsBufferARB; +GLAD_API_CALL PFNGLISBUFFERARBPROC glad_debug_glIsBufferARB; +#define glIsBufferARB glad_debug_glIsBufferARB +GLAD_API_CALL PFNGLISENABLEDPROC glad_glIsEnabled; +GLAD_API_CALL PFNGLISENABLEDPROC glad_debug_glIsEnabled; +#define glIsEnabled glad_debug_glIsEnabled +GLAD_API_CALL PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT; +GLAD_API_CALL PFNGLISENABLEDINDEXEDEXTPROC glad_debug_glIsEnabledIndexedEXT; +#define glIsEnabledIndexedEXT glad_debug_glIsEnabledIndexedEXT +GLAD_API_CALL PFNGLISENABLEDIPROC glad_glIsEnabledi; +GLAD_API_CALL PFNGLISENABLEDIPROC glad_debug_glIsEnabledi; +#define glIsEnabledi glad_debug_glIsEnabledi +GLAD_API_CALL PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +GLAD_API_CALL PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer; +#define glIsFramebuffer glad_debug_glIsFramebuffer +GLAD_API_CALL PFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT; +GLAD_API_CALL PFNGLISFRAMEBUFFEREXTPROC glad_debug_glIsFramebufferEXT; +#define glIsFramebufferEXT glad_debug_glIsFramebufferEXT +GLAD_API_CALL PFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB; +GLAD_API_CALL PFNGLISIMAGEHANDLERESIDENTARBPROC glad_debug_glIsImageHandleResidentARB; +#define glIsImageHandleResidentARB glad_debug_glIsImageHandleResidentARB +GLAD_API_CALL PFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV; +GLAD_API_CALL PFNGLISIMAGEHANDLERESIDENTNVPROC glad_debug_glIsImageHandleResidentNV; +#define glIsImageHandleResidentNV glad_debug_glIsImageHandleResidentNV +GLAD_API_CALL PFNGLISPROGRAMPROC glad_glIsProgram; +GLAD_API_CALL PFNGLISPROGRAMPROC glad_debug_glIsProgram; +#define glIsProgram glad_debug_glIsProgram +GLAD_API_CALL PFNGLISPROGRAMARBPROC glad_glIsProgramARB; +GLAD_API_CALL PFNGLISPROGRAMARBPROC glad_debug_glIsProgramARB; +#define glIsProgramARB glad_debug_glIsProgramARB +GLAD_API_CALL PFNGLISPROGRAMNVPROC glad_glIsProgramNV; +GLAD_API_CALL PFNGLISPROGRAMNVPROC glad_debug_glIsProgramNV; +#define glIsProgramNV glad_debug_glIsProgramNV +GLAD_API_CALL PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline; +GLAD_API_CALL PFNGLISPROGRAMPIPELINEPROC glad_debug_glIsProgramPipeline; +#define glIsProgramPipeline glad_debug_glIsProgramPipeline +GLAD_API_CALL PFNGLISQUERYPROC glad_glIsQuery; +GLAD_API_CALL PFNGLISQUERYPROC glad_debug_glIsQuery; +#define glIsQuery glad_debug_glIsQuery +GLAD_API_CALL PFNGLISQUERYARBPROC glad_glIsQueryARB; +GLAD_API_CALL PFNGLISQUERYARBPROC glad_debug_glIsQueryARB; +#define glIsQueryARB glad_debug_glIsQueryARB +GLAD_API_CALL PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +GLAD_API_CALL PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer; +#define glIsRenderbuffer glad_debug_glIsRenderbuffer +GLAD_API_CALL PFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT; +GLAD_API_CALL PFNGLISRENDERBUFFEREXTPROC glad_debug_glIsRenderbufferEXT; +#define glIsRenderbufferEXT glad_debug_glIsRenderbufferEXT +GLAD_API_CALL PFNGLISSAMPLERPROC glad_glIsSampler; +GLAD_API_CALL PFNGLISSAMPLERPROC glad_debug_glIsSampler; +#define glIsSampler glad_debug_glIsSampler +GLAD_API_CALL PFNGLISSHADERPROC glad_glIsShader; +GLAD_API_CALL PFNGLISSHADERPROC glad_debug_glIsShader; +#define glIsShader glad_debug_glIsShader +GLAD_API_CALL PFNGLISSYNCPROC glad_glIsSync; +GLAD_API_CALL PFNGLISSYNCPROC glad_debug_glIsSync; +#define glIsSync glad_debug_glIsSync +GLAD_API_CALL PFNGLISTEXTUREPROC glad_glIsTexture; +GLAD_API_CALL PFNGLISTEXTUREPROC glad_debug_glIsTexture; +#define glIsTexture glad_debug_glIsTexture +GLAD_API_CALL PFNGLISTEXTUREEXTPROC glad_glIsTextureEXT; +GLAD_API_CALL PFNGLISTEXTUREEXTPROC glad_debug_glIsTextureEXT; +#define glIsTextureEXT glad_debug_glIsTextureEXT +GLAD_API_CALL PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB; +GLAD_API_CALL PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_debug_glIsTextureHandleResidentARB; +#define glIsTextureHandleResidentARB glad_debug_glIsTextureHandleResidentARB +GLAD_API_CALL PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV; +GLAD_API_CALL PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_debug_glIsTextureHandleResidentNV; +#define glIsTextureHandleResidentNV glad_debug_glIsTextureHandleResidentNV +GLAD_API_CALL PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback; +GLAD_API_CALL PFNGLISTRANSFORMFEEDBACKPROC glad_debug_glIsTransformFeedback; +#define glIsTransformFeedback glad_debug_glIsTransformFeedback +GLAD_API_CALL PFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV; +GLAD_API_CALL PFNGLISTRANSFORMFEEDBACKNVPROC glad_debug_glIsTransformFeedbackNV; +#define glIsTransformFeedbackNV glad_debug_glIsTransformFeedbackNV +GLAD_API_CALL PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +GLAD_API_CALL PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray; +#define glIsVertexArray glad_debug_glIsVertexArray +GLAD_API_CALL PFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE; +GLAD_API_CALL PFNGLISVERTEXARRAYAPPLEPROC glad_debug_glIsVertexArrayAPPLE; +#define glIsVertexArrayAPPLE glad_debug_glIsVertexArrayAPPLE +GLAD_API_CALL PFNGLLINEWIDTHPROC glad_glLineWidth; +GLAD_API_CALL PFNGLLINEWIDTHPROC glad_debug_glLineWidth; +#define glLineWidth glad_debug_glLineWidth +GLAD_API_CALL PFNGLLINKPROGRAMPROC glad_glLinkProgram; +GLAD_API_CALL PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram; +#define glLinkProgram glad_debug_glLinkProgram +GLAD_API_CALL PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB; +GLAD_API_CALL PFNGLLINKPROGRAMARBPROC glad_debug_glLinkProgramARB; +#define glLinkProgramARB glad_debug_glLinkProgramARB +GLAD_API_CALL PFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV; +GLAD_API_CALL PFNGLLOADPROGRAMNVPROC glad_debug_glLoadProgramNV; +#define glLoadProgramNV glad_debug_glLoadProgramNV +GLAD_API_CALL PFNGLLOGICOPPROC glad_glLogicOp; +GLAD_API_CALL PFNGLLOGICOPPROC glad_debug_glLogicOp; +#define glLogicOp glad_debug_glLogicOp +GLAD_API_CALL PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB; +GLAD_API_CALL PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_debug_glMakeImageHandleNonResidentARB; +#define glMakeImageHandleNonResidentARB glad_debug_glMakeImageHandleNonResidentARB +GLAD_API_CALL PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV; +GLAD_API_CALL PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_debug_glMakeImageHandleNonResidentNV; +#define glMakeImageHandleNonResidentNV glad_debug_glMakeImageHandleNonResidentNV +GLAD_API_CALL PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB; +GLAD_API_CALL PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_debug_glMakeImageHandleResidentARB; +#define glMakeImageHandleResidentARB glad_debug_glMakeImageHandleResidentARB +GLAD_API_CALL PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV; +GLAD_API_CALL PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_debug_glMakeImageHandleResidentNV; +#define glMakeImageHandleResidentNV glad_debug_glMakeImageHandleResidentNV +GLAD_API_CALL PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB; +GLAD_API_CALL PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_debug_glMakeTextureHandleNonResidentARB; +#define glMakeTextureHandleNonResidentARB glad_debug_glMakeTextureHandleNonResidentARB +GLAD_API_CALL PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV; +GLAD_API_CALL PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_debug_glMakeTextureHandleNonResidentNV; +#define glMakeTextureHandleNonResidentNV glad_debug_glMakeTextureHandleNonResidentNV +GLAD_API_CALL PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB; +GLAD_API_CALL PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_debug_glMakeTextureHandleResidentARB; +#define glMakeTextureHandleResidentARB glad_debug_glMakeTextureHandleResidentARB +GLAD_API_CALL PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV; +GLAD_API_CALL PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_debug_glMakeTextureHandleResidentNV; +#define glMakeTextureHandleResidentNV glad_debug_glMakeTextureHandleResidentNV +GLAD_API_CALL PFNGLMAPBUFFERPROC glad_glMapBuffer; +GLAD_API_CALL PFNGLMAPBUFFERPROC glad_debug_glMapBuffer; +#define glMapBuffer glad_debug_glMapBuffer +GLAD_API_CALL PFNGLMAPBUFFERARBPROC glad_glMapBufferARB; +GLAD_API_CALL PFNGLMAPBUFFERARBPROC glad_debug_glMapBufferARB; +#define glMapBufferARB glad_debug_glMapBufferARB +GLAD_API_CALL PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +GLAD_API_CALL PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange; +#define glMapBufferRange glad_debug_glMapBufferRange +GLAD_API_CALL PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer; +GLAD_API_CALL PFNGLMAPNAMEDBUFFERPROC glad_debug_glMapNamedBuffer; +#define glMapNamedBuffer glad_debug_glMapNamedBuffer +GLAD_API_CALL PFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT; +GLAD_API_CALL PFNGLMAPNAMEDBUFFEREXTPROC glad_debug_glMapNamedBufferEXT; +#define glMapNamedBufferEXT glad_debug_glMapNamedBufferEXT +GLAD_API_CALL PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange; +GLAD_API_CALL PFNGLMAPNAMEDBUFFERRANGEPROC glad_debug_glMapNamedBufferRange; +#define glMapNamedBufferRange glad_debug_glMapNamedBufferRange +GLAD_API_CALL PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT; +GLAD_API_CALL PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_debug_glMapNamedBufferRangeEXT; +#define glMapNamedBufferRangeEXT glad_debug_glMapNamedBufferRangeEXT +GLAD_API_CALL PFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT; +GLAD_API_CALL PFNGLMATRIXFRUSTUMEXTPROC glad_debug_glMatrixFrustumEXT; +#define glMatrixFrustumEXT glad_debug_glMatrixFrustumEXT +GLAD_API_CALL PFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT; +GLAD_API_CALL PFNGLMATRIXLOADIDENTITYEXTPROC glad_debug_glMatrixLoadIdentityEXT; +#define glMatrixLoadIdentityEXT glad_debug_glMatrixLoadIdentityEXT +GLAD_API_CALL PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT; +GLAD_API_CALL PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_debug_glMatrixLoadTransposedEXT; +#define glMatrixLoadTransposedEXT glad_debug_glMatrixLoadTransposedEXT +GLAD_API_CALL PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT; +GLAD_API_CALL PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_debug_glMatrixLoadTransposefEXT; +#define glMatrixLoadTransposefEXT glad_debug_glMatrixLoadTransposefEXT +GLAD_API_CALL PFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT; +GLAD_API_CALL PFNGLMATRIXLOADDEXTPROC glad_debug_glMatrixLoaddEXT; +#define glMatrixLoaddEXT glad_debug_glMatrixLoaddEXT +GLAD_API_CALL PFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT; +GLAD_API_CALL PFNGLMATRIXLOADFEXTPROC glad_debug_glMatrixLoadfEXT; +#define glMatrixLoadfEXT glad_debug_glMatrixLoadfEXT +GLAD_API_CALL PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT; +GLAD_API_CALL PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_debug_glMatrixMultTransposedEXT; +#define glMatrixMultTransposedEXT glad_debug_glMatrixMultTransposedEXT +GLAD_API_CALL PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT; +GLAD_API_CALL PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_debug_glMatrixMultTransposefEXT; +#define glMatrixMultTransposefEXT glad_debug_glMatrixMultTransposefEXT +GLAD_API_CALL PFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT; +GLAD_API_CALL PFNGLMATRIXMULTDEXTPROC glad_debug_glMatrixMultdEXT; +#define glMatrixMultdEXT glad_debug_glMatrixMultdEXT +GLAD_API_CALL PFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT; +GLAD_API_CALL PFNGLMATRIXMULTFEXTPROC glad_debug_glMatrixMultfEXT; +#define glMatrixMultfEXT glad_debug_glMatrixMultfEXT +GLAD_API_CALL PFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT; +GLAD_API_CALL PFNGLMATRIXORTHOEXTPROC glad_debug_glMatrixOrthoEXT; +#define glMatrixOrthoEXT glad_debug_glMatrixOrthoEXT +GLAD_API_CALL PFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT; +GLAD_API_CALL PFNGLMATRIXPOPEXTPROC glad_debug_glMatrixPopEXT; +#define glMatrixPopEXT glad_debug_glMatrixPopEXT +GLAD_API_CALL PFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT; +GLAD_API_CALL PFNGLMATRIXPUSHEXTPROC glad_debug_glMatrixPushEXT; +#define glMatrixPushEXT glad_debug_glMatrixPushEXT +GLAD_API_CALL PFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT; +GLAD_API_CALL PFNGLMATRIXROTATEDEXTPROC glad_debug_glMatrixRotatedEXT; +#define glMatrixRotatedEXT glad_debug_glMatrixRotatedEXT +GLAD_API_CALL PFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT; +GLAD_API_CALL PFNGLMATRIXROTATEFEXTPROC glad_debug_glMatrixRotatefEXT; +#define glMatrixRotatefEXT glad_debug_glMatrixRotatefEXT +GLAD_API_CALL PFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT; +GLAD_API_CALL PFNGLMATRIXSCALEDEXTPROC glad_debug_glMatrixScaledEXT; +#define glMatrixScaledEXT glad_debug_glMatrixScaledEXT +GLAD_API_CALL PFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT; +GLAD_API_CALL PFNGLMATRIXSCALEFEXTPROC glad_debug_glMatrixScalefEXT; +#define glMatrixScalefEXT glad_debug_glMatrixScalefEXT +GLAD_API_CALL PFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT; +GLAD_API_CALL PFNGLMATRIXTRANSLATEDEXTPROC glad_debug_glMatrixTranslatedEXT; +#define glMatrixTranslatedEXT glad_debug_glMatrixTranslatedEXT +GLAD_API_CALL PFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT; +GLAD_API_CALL PFNGLMATRIXTRANSLATEFEXTPROC glad_debug_glMatrixTranslatefEXT; +#define glMatrixTranslatefEXT glad_debug_glMatrixTranslatefEXT +GLAD_API_CALL PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier; +GLAD_API_CALL PFNGLMEMORYBARRIERPROC glad_debug_glMemoryBarrier; +#define glMemoryBarrier glad_debug_glMemoryBarrier +GLAD_API_CALL PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion; +GLAD_API_CALL PFNGLMEMORYBARRIERBYREGIONPROC glad_debug_glMemoryBarrierByRegion; +#define glMemoryBarrierByRegion glad_debug_glMemoryBarrierByRegion +GLAD_API_CALL PFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT; +GLAD_API_CALL PFNGLMEMORYBARRIEREXTPROC glad_debug_glMemoryBarrierEXT; +#define glMemoryBarrierEXT glad_debug_glMemoryBarrierEXT +GLAD_API_CALL PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading; +GLAD_API_CALL PFNGLMINSAMPLESHADINGPROC glad_debug_glMinSampleShading; +#define glMinSampleShading glad_debug_glMinSampleShading +GLAD_API_CALL PFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB; +GLAD_API_CALL PFNGLMINSAMPLESHADINGARBPROC glad_debug_glMinSampleShadingARB; +#define glMinSampleShadingARB glad_debug_glMinSampleShadingARB +GLAD_API_CALL PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays; +#define glMultiDrawArrays glad_debug_glMultiDrawArrays +GLAD_API_CALL PFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSEXTPROC glad_debug_glMultiDrawArraysEXT; +#define glMultiDrawArraysEXT glad_debug_glMultiDrawArraysEXT +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_debug_glMultiDrawArraysIndirect; +#define glMultiDrawArraysIndirect glad_debug_glMultiDrawArraysIndirect +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_debug_glMultiDrawArraysIndirectAMD; +#define glMultiDrawArraysIndirectAMD glad_debug_glMultiDrawArraysIndirectAMD +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawArraysIndirectBindlessCountNV; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_debug_glMultiDrawArraysIndirectBindlessCountNV; +#define glMultiDrawArraysIndirectBindlessCountNV glad_debug_glMultiDrawArraysIndirectBindlessCountNV +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_debug_glMultiDrawArraysIndirectBindlessNV; +#define glMultiDrawArraysIndirectBindlessNV glad_debug_glMultiDrawArraysIndirectBindlessNV +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_debug_glMultiDrawArraysIndirectCount; +#define glMultiDrawArraysIndirectCount glad_debug_glMultiDrawArraysIndirectCount +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB; +GLAD_API_CALL PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_debug_glMultiDrawArraysIndirectCountARB; +#define glMultiDrawArraysIndirectCountARB glad_debug_glMultiDrawArraysIndirectCountARB +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements; +#define glMultiDrawElements glad_debug_glMultiDrawElements +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex; +#define glMultiDrawElementsBaseVertex glad_debug_glMultiDrawElementsBaseVertex +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSEXTPROC glad_debug_glMultiDrawElementsEXT; +#define glMultiDrawElementsEXT glad_debug_glMultiDrawElementsEXT +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_debug_glMultiDrawElementsIndirect; +#define glMultiDrawElementsIndirect glad_debug_glMultiDrawElementsIndirect +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_debug_glMultiDrawElementsIndirectAMD; +#define glMultiDrawElementsIndirectAMD glad_debug_glMultiDrawElementsIndirectAMD +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawElementsIndirectBindlessCountNV; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_debug_glMultiDrawElementsIndirectBindlessCountNV; +#define glMultiDrawElementsIndirectBindlessCountNV glad_debug_glMultiDrawElementsIndirectBindlessCountNV +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_debug_glMultiDrawElementsIndirectBindlessNV; +#define glMultiDrawElementsIndirectBindlessNV glad_debug_glMultiDrawElementsIndirectBindlessNV +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_debug_glMultiDrawElementsIndirectCount; +#define glMultiDrawElementsIndirectCount glad_debug_glMultiDrawElementsIndirectCount +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB; +GLAD_API_CALL PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_debug_glMultiDrawElementsIndirectCountARB; +#define glMultiDrawElementsIndirectCountARB glad_debug_glMultiDrawElementsIndirectCountARB +GLAD_API_CALL PFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT; +GLAD_API_CALL PFNGLMULTITEXBUFFEREXTPROC glad_debug_glMultiTexBufferEXT; +#define glMultiTexBufferEXT glad_debug_glMultiTexBufferEXT +GLAD_API_CALL PFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1DARBPROC glad_debug_glMultiTexCoord1dARB; +#define glMultiTexCoord1dARB glad_debug_glMultiTexCoord1dARB +GLAD_API_CALL PFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1DVARBPROC glad_debug_glMultiTexCoord1dvARB; +#define glMultiTexCoord1dvARB glad_debug_glMultiTexCoord1dvARB +GLAD_API_CALL PFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1FARBPROC glad_debug_glMultiTexCoord1fARB; +#define glMultiTexCoord1fARB glad_debug_glMultiTexCoord1fARB +GLAD_API_CALL PFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1FVARBPROC glad_debug_glMultiTexCoord1fvARB; +#define glMultiTexCoord1fvARB glad_debug_glMultiTexCoord1fvARB +GLAD_API_CALL PFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1IARBPROC glad_debug_glMultiTexCoord1iARB; +#define glMultiTexCoord1iARB glad_debug_glMultiTexCoord1iARB +GLAD_API_CALL PFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1IVARBPROC glad_debug_glMultiTexCoord1ivARB; +#define glMultiTexCoord1ivARB glad_debug_glMultiTexCoord1ivARB +GLAD_API_CALL PFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1SARBPROC glad_debug_glMultiTexCoord1sARB; +#define glMultiTexCoord1sARB glad_debug_glMultiTexCoord1sARB +GLAD_API_CALL PFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB; +GLAD_API_CALL PFNGLMULTITEXCOORD1SVARBPROC glad_debug_glMultiTexCoord1svARB; +#define glMultiTexCoord1svARB glad_debug_glMultiTexCoord1svARB +GLAD_API_CALL PFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2DARBPROC glad_debug_glMultiTexCoord2dARB; +#define glMultiTexCoord2dARB glad_debug_glMultiTexCoord2dARB +GLAD_API_CALL PFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2DVARBPROC glad_debug_glMultiTexCoord2dvARB; +#define glMultiTexCoord2dvARB glad_debug_glMultiTexCoord2dvARB +GLAD_API_CALL PFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2FARBPROC glad_debug_glMultiTexCoord2fARB; +#define glMultiTexCoord2fARB glad_debug_glMultiTexCoord2fARB +GLAD_API_CALL PFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2FVARBPROC glad_debug_glMultiTexCoord2fvARB; +#define glMultiTexCoord2fvARB glad_debug_glMultiTexCoord2fvARB +GLAD_API_CALL PFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2IARBPROC glad_debug_glMultiTexCoord2iARB; +#define glMultiTexCoord2iARB glad_debug_glMultiTexCoord2iARB +GLAD_API_CALL PFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2IVARBPROC glad_debug_glMultiTexCoord2ivARB; +#define glMultiTexCoord2ivARB glad_debug_glMultiTexCoord2ivARB +GLAD_API_CALL PFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2SARBPROC glad_debug_glMultiTexCoord2sARB; +#define glMultiTexCoord2sARB glad_debug_glMultiTexCoord2sARB +GLAD_API_CALL PFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB; +GLAD_API_CALL PFNGLMULTITEXCOORD2SVARBPROC glad_debug_glMultiTexCoord2svARB; +#define glMultiTexCoord2svARB glad_debug_glMultiTexCoord2svARB +GLAD_API_CALL PFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3DARBPROC glad_debug_glMultiTexCoord3dARB; +#define glMultiTexCoord3dARB glad_debug_glMultiTexCoord3dARB +GLAD_API_CALL PFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3DVARBPROC glad_debug_glMultiTexCoord3dvARB; +#define glMultiTexCoord3dvARB glad_debug_glMultiTexCoord3dvARB +GLAD_API_CALL PFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3FARBPROC glad_debug_glMultiTexCoord3fARB; +#define glMultiTexCoord3fARB glad_debug_glMultiTexCoord3fARB +GLAD_API_CALL PFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3FVARBPROC glad_debug_glMultiTexCoord3fvARB; +#define glMultiTexCoord3fvARB glad_debug_glMultiTexCoord3fvARB +GLAD_API_CALL PFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3IARBPROC glad_debug_glMultiTexCoord3iARB; +#define glMultiTexCoord3iARB glad_debug_glMultiTexCoord3iARB +GLAD_API_CALL PFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3IVARBPROC glad_debug_glMultiTexCoord3ivARB; +#define glMultiTexCoord3ivARB glad_debug_glMultiTexCoord3ivARB +GLAD_API_CALL PFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3SARBPROC glad_debug_glMultiTexCoord3sARB; +#define glMultiTexCoord3sARB glad_debug_glMultiTexCoord3sARB +GLAD_API_CALL PFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB; +GLAD_API_CALL PFNGLMULTITEXCOORD3SVARBPROC glad_debug_glMultiTexCoord3svARB; +#define glMultiTexCoord3svARB glad_debug_glMultiTexCoord3svARB +GLAD_API_CALL PFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4DARBPROC glad_debug_glMultiTexCoord4dARB; +#define glMultiTexCoord4dARB glad_debug_glMultiTexCoord4dARB +GLAD_API_CALL PFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4DVARBPROC glad_debug_glMultiTexCoord4dvARB; +#define glMultiTexCoord4dvARB glad_debug_glMultiTexCoord4dvARB +GLAD_API_CALL PFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4FARBPROC glad_debug_glMultiTexCoord4fARB; +#define glMultiTexCoord4fARB glad_debug_glMultiTexCoord4fARB +GLAD_API_CALL PFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4FVARBPROC glad_debug_glMultiTexCoord4fvARB; +#define glMultiTexCoord4fvARB glad_debug_glMultiTexCoord4fvARB +GLAD_API_CALL PFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4IARBPROC glad_debug_glMultiTexCoord4iARB; +#define glMultiTexCoord4iARB glad_debug_glMultiTexCoord4iARB +GLAD_API_CALL PFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4IVARBPROC glad_debug_glMultiTexCoord4ivARB; +#define glMultiTexCoord4ivARB glad_debug_glMultiTexCoord4ivARB +GLAD_API_CALL PFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4SARBPROC glad_debug_glMultiTexCoord4sARB; +#define glMultiTexCoord4sARB glad_debug_glMultiTexCoord4sARB +GLAD_API_CALL PFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB; +GLAD_API_CALL PFNGLMULTITEXCOORD4SVARBPROC glad_debug_glMultiTexCoord4svARB; +#define glMultiTexCoord4svARB glad_debug_glMultiTexCoord4svARB +GLAD_API_CALL PFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT; +GLAD_API_CALL PFNGLMULTITEXCOORDPOINTEREXTPROC glad_debug_glMultiTexCoordPointerEXT; +#define glMultiTexCoordPointerEXT glad_debug_glMultiTexCoordPointerEXT +GLAD_API_CALL PFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT; +GLAD_API_CALL PFNGLMULTITEXENVFEXTPROC glad_debug_glMultiTexEnvfEXT; +#define glMultiTexEnvfEXT glad_debug_glMultiTexEnvfEXT +GLAD_API_CALL PFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT; +GLAD_API_CALL PFNGLMULTITEXENVFVEXTPROC glad_debug_glMultiTexEnvfvEXT; +#define glMultiTexEnvfvEXT glad_debug_glMultiTexEnvfvEXT +GLAD_API_CALL PFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT; +GLAD_API_CALL PFNGLMULTITEXENVIEXTPROC glad_debug_glMultiTexEnviEXT; +#define glMultiTexEnviEXT glad_debug_glMultiTexEnviEXT +GLAD_API_CALL PFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT; +GLAD_API_CALL PFNGLMULTITEXENVIVEXTPROC glad_debug_glMultiTexEnvivEXT; +#define glMultiTexEnvivEXT glad_debug_glMultiTexEnvivEXT +GLAD_API_CALL PFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT; +GLAD_API_CALL PFNGLMULTITEXGENDEXTPROC glad_debug_glMultiTexGendEXT; +#define glMultiTexGendEXT glad_debug_glMultiTexGendEXT +GLAD_API_CALL PFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT; +GLAD_API_CALL PFNGLMULTITEXGENDVEXTPROC glad_debug_glMultiTexGendvEXT; +#define glMultiTexGendvEXT glad_debug_glMultiTexGendvEXT +GLAD_API_CALL PFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT; +GLAD_API_CALL PFNGLMULTITEXGENFEXTPROC glad_debug_glMultiTexGenfEXT; +#define glMultiTexGenfEXT glad_debug_glMultiTexGenfEXT +GLAD_API_CALL PFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT; +GLAD_API_CALL PFNGLMULTITEXGENFVEXTPROC glad_debug_glMultiTexGenfvEXT; +#define glMultiTexGenfvEXT glad_debug_glMultiTexGenfvEXT +GLAD_API_CALL PFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT; +GLAD_API_CALL PFNGLMULTITEXGENIEXTPROC glad_debug_glMultiTexGeniEXT; +#define glMultiTexGeniEXT glad_debug_glMultiTexGeniEXT +GLAD_API_CALL PFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT; +GLAD_API_CALL PFNGLMULTITEXGENIVEXTPROC glad_debug_glMultiTexGenivEXT; +#define glMultiTexGenivEXT glad_debug_glMultiTexGenivEXT +GLAD_API_CALL PFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT; +GLAD_API_CALL PFNGLMULTITEXIMAGE1DEXTPROC glad_debug_glMultiTexImage1DEXT; +#define glMultiTexImage1DEXT glad_debug_glMultiTexImage1DEXT +GLAD_API_CALL PFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT; +GLAD_API_CALL PFNGLMULTITEXIMAGE2DEXTPROC glad_debug_glMultiTexImage2DEXT; +#define glMultiTexImage2DEXT glad_debug_glMultiTexImage2DEXT +GLAD_API_CALL PFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT; +GLAD_API_CALL PFNGLMULTITEXIMAGE3DEXTPROC glad_debug_glMultiTexImage3DEXT; +#define glMultiTexImage3DEXT glad_debug_glMultiTexImage3DEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERIIVEXTPROC glad_debug_glMultiTexParameterIivEXT; +#define glMultiTexParameterIivEXT glad_debug_glMultiTexParameterIivEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_debug_glMultiTexParameterIuivEXT; +#define glMultiTexParameterIuivEXT glad_debug_glMultiTexParameterIuivEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERFEXTPROC glad_debug_glMultiTexParameterfEXT; +#define glMultiTexParameterfEXT glad_debug_glMultiTexParameterfEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERFVEXTPROC glad_debug_glMultiTexParameterfvEXT; +#define glMultiTexParameterfvEXT glad_debug_glMultiTexParameterfvEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERIEXTPROC glad_debug_glMultiTexParameteriEXT; +#define glMultiTexParameteriEXT glad_debug_glMultiTexParameteriEXT +GLAD_API_CALL PFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT; +GLAD_API_CALL PFNGLMULTITEXPARAMETERIVEXTPROC glad_debug_glMultiTexParameterivEXT; +#define glMultiTexParameterivEXT glad_debug_glMultiTexParameterivEXT +GLAD_API_CALL PFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT; +GLAD_API_CALL PFNGLMULTITEXRENDERBUFFEREXTPROC glad_debug_glMultiTexRenderbufferEXT; +#define glMultiTexRenderbufferEXT glad_debug_glMultiTexRenderbufferEXT +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT; +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_debug_glMultiTexSubImage1DEXT; +#define glMultiTexSubImage1DEXT glad_debug_glMultiTexSubImage1DEXT +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT; +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_debug_glMultiTexSubImage2DEXT; +#define glMultiTexSubImage2DEXT glad_debug_glMultiTexSubImage2DEXT +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT; +GLAD_API_CALL PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_debug_glMultiTexSubImage3DEXT; +#define glMultiTexSubImage3DEXT glad_debug_glMultiTexSubImage3DEXT +GLAD_API_CALL PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData; +GLAD_API_CALL PFNGLNAMEDBUFFERDATAPROC glad_debug_glNamedBufferData; +#define glNamedBufferData glad_debug_glNamedBufferData +GLAD_API_CALL PFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT; +GLAD_API_CALL PFNGLNAMEDBUFFERDATAEXTPROC glad_debug_glNamedBufferDataEXT; +#define glNamedBufferDataEXT glad_debug_glNamedBufferDataEXT +GLAD_API_CALL PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage; +GLAD_API_CALL PFNGLNAMEDBUFFERSTORAGEPROC glad_debug_glNamedBufferStorage; +#define glNamedBufferStorage glad_debug_glNamedBufferStorage +GLAD_API_CALL PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT; +GLAD_API_CALL PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_debug_glNamedBufferStorageEXT; +#define glNamedBufferStorageEXT glad_debug_glNamedBufferStorageEXT +GLAD_API_CALL PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData; +GLAD_API_CALL PFNGLNAMEDBUFFERSUBDATAPROC glad_debug_glNamedBufferSubData; +#define glNamedBufferSubData glad_debug_glNamedBufferSubData +GLAD_API_CALL PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT; +GLAD_API_CALL PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_debug_glNamedBufferSubDataEXT; +#define glNamedBufferSubDataEXT glad_debug_glNamedBufferSubDataEXT +GLAD_API_CALL PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT; +GLAD_API_CALL PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_debug_glNamedCopyBufferSubDataEXT; +#define glNamedCopyBufferSubDataEXT glad_debug_glNamedCopyBufferSubDataEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_debug_glNamedFramebufferDrawBuffer; +#define glNamedFramebufferDrawBuffer glad_debug_glNamedFramebufferDrawBuffer +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_debug_glNamedFramebufferDrawBuffers; +#define glNamedFramebufferDrawBuffers glad_debug_glNamedFramebufferDrawBuffers +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_debug_glNamedFramebufferParameteri; +#define glNamedFramebufferParameteri glad_debug_glNamedFramebufferParameteri +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_debug_glNamedFramebufferParameteriEXT; +#define glNamedFramebufferParameteriEXT glad_debug_glNamedFramebufferParameteriEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_debug_glNamedFramebufferReadBuffer; +#define glNamedFramebufferReadBuffer glad_debug_glNamedFramebufferReadBuffer +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_debug_glNamedFramebufferRenderbuffer; +#define glNamedFramebufferRenderbuffer glad_debug_glNamedFramebufferRenderbuffer +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_debug_glNamedFramebufferRenderbufferEXT; +#define glNamedFramebufferRenderbufferEXT glad_debug_glNamedFramebufferRenderbufferEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_debug_glNamedFramebufferTexture; +#define glNamedFramebufferTexture glad_debug_glNamedFramebufferTexture +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_debug_glNamedFramebufferTexture1DEXT; +#define glNamedFramebufferTexture1DEXT glad_debug_glNamedFramebufferTexture1DEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_debug_glNamedFramebufferTexture2DEXT; +#define glNamedFramebufferTexture2DEXT glad_debug_glNamedFramebufferTexture2DEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_debug_glNamedFramebufferTexture3DEXT; +#define glNamedFramebufferTexture3DEXT glad_debug_glNamedFramebufferTexture3DEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_debug_glNamedFramebufferTextureEXT; +#define glNamedFramebufferTextureEXT glad_debug_glNamedFramebufferTextureEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_debug_glNamedFramebufferTextureFaceEXT; +#define glNamedFramebufferTextureFaceEXT glad_debug_glNamedFramebufferTextureFaceEXT +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_debug_glNamedFramebufferTextureLayer; +#define glNamedFramebufferTextureLayer glad_debug_glNamedFramebufferTextureLayer +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT; +GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_debug_glNamedFramebufferTextureLayerEXT; +#define glNamedFramebufferTextureLayerEXT glad_debug_glNamedFramebufferTextureLayerEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_debug_glNamedProgramLocalParameter4dEXT; +#define glNamedProgramLocalParameter4dEXT glad_debug_glNamedProgramLocalParameter4dEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_debug_glNamedProgramLocalParameter4dvEXT; +#define glNamedProgramLocalParameter4dvEXT glad_debug_glNamedProgramLocalParameter4dvEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_debug_glNamedProgramLocalParameter4fEXT; +#define glNamedProgramLocalParameter4fEXT glad_debug_glNamedProgramLocalParameter4fEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_debug_glNamedProgramLocalParameter4fvEXT; +#define glNamedProgramLocalParameter4fvEXT glad_debug_glNamedProgramLocalParameter4fvEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_debug_glNamedProgramLocalParameterI4iEXT; +#define glNamedProgramLocalParameterI4iEXT glad_debug_glNamedProgramLocalParameterI4iEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_debug_glNamedProgramLocalParameterI4ivEXT; +#define glNamedProgramLocalParameterI4ivEXT glad_debug_glNamedProgramLocalParameterI4ivEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_debug_glNamedProgramLocalParameterI4uiEXT; +#define glNamedProgramLocalParameterI4uiEXT glad_debug_glNamedProgramLocalParameterI4uiEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_debug_glNamedProgramLocalParameterI4uivEXT; +#define glNamedProgramLocalParameterI4uivEXT glad_debug_glNamedProgramLocalParameterI4uivEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_debug_glNamedProgramLocalParameters4fvEXT; +#define glNamedProgramLocalParameters4fvEXT glad_debug_glNamedProgramLocalParameters4fvEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_debug_glNamedProgramLocalParametersI4ivEXT; +#define glNamedProgramLocalParametersI4ivEXT glad_debug_glNamedProgramLocalParametersI4ivEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_debug_glNamedProgramLocalParametersI4uivEXT; +#define glNamedProgramLocalParametersI4uivEXT glad_debug_glNamedProgramLocalParametersI4uivEXT +GLAD_API_CALL PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT; +GLAD_API_CALL PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_debug_glNamedProgramStringEXT; +#define glNamedProgramStringEXT glad_debug_glNamedProgramStringEXT +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage; +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_debug_glNamedRenderbufferStorage; +#define glNamedRenderbufferStorage glad_debug_glNamedRenderbufferStorage +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT; +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_debug_glNamedRenderbufferStorageEXT; +#define glNamedRenderbufferStorageEXT glad_debug_glNamedRenderbufferStorageEXT +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample; +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glNamedRenderbufferStorageMultisample; +#define glNamedRenderbufferStorageMultisample glad_debug_glNamedRenderbufferStorageMultisample +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT; +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_debug_glNamedRenderbufferStorageMultisampleCoverageEXT; +#define glNamedRenderbufferStorageMultisampleCoverageEXT glad_debug_glNamedRenderbufferStorageMultisampleCoverageEXT +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT; +GLAD_API_CALL PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_debug_glNamedRenderbufferStorageMultisampleEXT; +#define glNamedRenderbufferStorageMultisampleEXT glad_debug_glNamedRenderbufferStorageMultisampleEXT +GLAD_API_CALL PFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT; +GLAD_API_CALL PFNGLNORMALPOINTEREXTPROC glad_debug_glNormalPointerEXT; +#define glNormalPointerEXT glad_debug_glNormalPointerEXT +GLAD_API_CALL PFNGLOBJECTLABELPROC glad_glObjectLabel; +GLAD_API_CALL PFNGLOBJECTLABELPROC glad_debug_glObjectLabel; +#define glObjectLabel glad_debug_glObjectLabel +GLAD_API_CALL PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel; +GLAD_API_CALL PFNGLOBJECTPTRLABELPROC glad_debug_glObjectPtrLabel; +#define glObjectPtrLabel glad_debug_glObjectPtrLabel +GLAD_API_CALL PFNGLORTHOFOESPROC glad_glOrthofOES; +GLAD_API_CALL PFNGLORTHOFOESPROC glad_debug_glOrthofOES; +#define glOrthofOES glad_debug_glOrthofOES +GLAD_API_CALL PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv; +GLAD_API_CALL PFNGLPATCHPARAMETERFVPROC glad_debug_glPatchParameterfv; +#define glPatchParameterfv glad_debug_glPatchParameterfv +GLAD_API_CALL PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri; +GLAD_API_CALL PFNGLPATCHPARAMETERIPROC glad_debug_glPatchParameteri; +#define glPatchParameteri glad_debug_glPatchParameteri +GLAD_API_CALL PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback; +GLAD_API_CALL PFNGLPAUSETRANSFORMFEEDBACKPROC glad_debug_glPauseTransformFeedback; +#define glPauseTransformFeedback glad_debug_glPauseTransformFeedback +GLAD_API_CALL PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV; +GLAD_API_CALL PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_debug_glPauseTransformFeedbackNV; +#define glPauseTransformFeedbackNV glad_debug_glPauseTransformFeedbackNV +GLAD_API_CALL PFNGLPIXELSTOREFPROC glad_glPixelStoref; +GLAD_API_CALL PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref; +#define glPixelStoref glad_debug_glPixelStoref +GLAD_API_CALL PFNGLPIXELSTOREIPROC glad_glPixelStorei; +GLAD_API_CALL PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei; +#define glPixelStorei glad_debug_glPixelStorei +GLAD_API_CALL PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +GLAD_API_CALL PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf; +#define glPointParameterf glad_debug_glPointParameterf +GLAD_API_CALL PFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB; +GLAD_API_CALL PFNGLPOINTPARAMETERFARBPROC glad_debug_glPointParameterfARB; +#define glPointParameterfARB glad_debug_glPointParameterfARB +GLAD_API_CALL PFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT; +GLAD_API_CALL PFNGLPOINTPARAMETERFEXTPROC glad_debug_glPointParameterfEXT; +#define glPointParameterfEXT glad_debug_glPointParameterfEXT +GLAD_API_CALL PFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS; +GLAD_API_CALL PFNGLPOINTPARAMETERFSGISPROC glad_debug_glPointParameterfSGIS; +#define glPointParameterfSGIS glad_debug_glPointParameterfSGIS +GLAD_API_CALL PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +GLAD_API_CALL PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv; +#define glPointParameterfv glad_debug_glPointParameterfv +GLAD_API_CALL PFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB; +GLAD_API_CALL PFNGLPOINTPARAMETERFVARBPROC glad_debug_glPointParameterfvARB; +#define glPointParameterfvARB glad_debug_glPointParameterfvARB +GLAD_API_CALL PFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT; +GLAD_API_CALL PFNGLPOINTPARAMETERFVEXTPROC glad_debug_glPointParameterfvEXT; +#define glPointParameterfvEXT glad_debug_glPointParameterfvEXT +GLAD_API_CALL PFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS; +GLAD_API_CALL PFNGLPOINTPARAMETERFVSGISPROC glad_debug_glPointParameterfvSGIS; +#define glPointParameterfvSGIS glad_debug_glPointParameterfvSGIS +GLAD_API_CALL PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +GLAD_API_CALL PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri; +#define glPointParameteri glad_debug_glPointParameteri +GLAD_API_CALL PFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV; +GLAD_API_CALL PFNGLPOINTPARAMETERINVPROC glad_debug_glPointParameteriNV; +#define glPointParameteriNV glad_debug_glPointParameteriNV +GLAD_API_CALL PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +GLAD_API_CALL PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv; +#define glPointParameteriv glad_debug_glPointParameteriv +GLAD_API_CALL PFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV; +GLAD_API_CALL PFNGLPOINTPARAMETERIVNVPROC glad_debug_glPointParameterivNV; +#define glPointParameterivNV glad_debug_glPointParameterivNV +GLAD_API_CALL PFNGLPOINTSIZEPROC glad_glPointSize; +GLAD_API_CALL PFNGLPOINTSIZEPROC glad_debug_glPointSize; +#define glPointSize glad_debug_glPointSize +GLAD_API_CALL PFNGLPOLYGONMODEPROC glad_glPolygonMode; +GLAD_API_CALL PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode; +#define glPolygonMode glad_debug_glPolygonMode +GLAD_API_CALL PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +GLAD_API_CALL PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset; +#define glPolygonOffset glad_debug_glPolygonOffset +GLAD_API_CALL PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp; +GLAD_API_CALL PFNGLPOLYGONOFFSETCLAMPPROC glad_debug_glPolygonOffsetClamp; +#define glPolygonOffsetClamp glad_debug_glPolygonOffsetClamp +GLAD_API_CALL PFNGLPOLYGONOFFSETCLAMPEXTPROC glad_glPolygonOffsetClampEXT; +GLAD_API_CALL PFNGLPOLYGONOFFSETCLAMPEXTPROC glad_debug_glPolygonOffsetClampEXT; +#define glPolygonOffsetClampEXT glad_debug_glPolygonOffsetClampEXT +GLAD_API_CALL PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup; +GLAD_API_CALL PFNGLPOPDEBUGGROUPPROC glad_debug_glPopDebugGroup; +#define glPopDebugGroup glad_debug_glPopDebugGroup +GLAD_API_CALL PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +GLAD_API_CALL PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex; +#define glPrimitiveRestartIndex glad_debug_glPrimitiveRestartIndex +GLAD_API_CALL PFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT; +GLAD_API_CALL PFNGLPRIORITIZETEXTURESEXTPROC glad_debug_glPrioritizeTexturesEXT; +#define glPrioritizeTexturesEXT glad_debug_glPrioritizeTexturesEXT +GLAD_API_CALL PFNGLPROGRAMBINARYPROC glad_glProgramBinary; +GLAD_API_CALL PFNGLPROGRAMBINARYPROC glad_debug_glProgramBinary; +#define glProgramBinary glad_debug_glProgramBinary +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB; +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4DARBPROC glad_debug_glProgramEnvParameter4dARB; +#define glProgramEnvParameter4dARB glad_debug_glProgramEnvParameter4dARB +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB; +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_debug_glProgramEnvParameter4dvARB; +#define glProgramEnvParameter4dvARB glad_debug_glProgramEnvParameter4dvARB +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB; +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4FARBPROC glad_debug_glProgramEnvParameter4fARB; +#define glProgramEnvParameter4fARB glad_debug_glProgramEnvParameter4fARB +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB; +GLAD_API_CALL PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_debug_glProgramEnvParameter4fvARB; +#define glProgramEnvParameter4fvARB glad_debug_glProgramEnvParameter4fvARB +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB; +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_debug_glProgramLocalParameter4dARB; +#define glProgramLocalParameter4dARB glad_debug_glProgramLocalParameter4dARB +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB; +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_debug_glProgramLocalParameter4dvARB; +#define glProgramLocalParameter4dvARB glad_debug_glProgramLocalParameter4dvARB +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB; +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_debug_glProgramLocalParameter4fARB; +#define glProgramLocalParameter4fARB glad_debug_glProgramLocalParameter4fARB +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB; +GLAD_API_CALL PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_debug_glProgramLocalParameter4fvARB; +#define glProgramLocalParameter4fvARB glad_debug_glProgramLocalParameter4fvARB +GLAD_API_CALL PFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETER4DNVPROC glad_debug_glProgramParameter4dNV; +#define glProgramParameter4dNV glad_debug_glProgramParameter4dNV +GLAD_API_CALL PFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETER4DVNVPROC glad_debug_glProgramParameter4dvNV; +#define glProgramParameter4dvNV glad_debug_glProgramParameter4dvNV +GLAD_API_CALL PFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETER4FNVPROC glad_debug_glProgramParameter4fNV; +#define glProgramParameter4fNV glad_debug_glProgramParameter4fNV +GLAD_API_CALL PFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETER4FVNVPROC glad_debug_glProgramParameter4fvNV; +#define glProgramParameter4fvNV glad_debug_glProgramParameter4fvNV +GLAD_API_CALL PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri; +GLAD_API_CALL PFNGLPROGRAMPARAMETERIPROC glad_debug_glProgramParameteri; +#define glProgramParameteri glad_debug_glProgramParameteri +GLAD_API_CALL PFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB; +GLAD_API_CALL PFNGLPROGRAMPARAMETERIARBPROC glad_debug_glProgramParameteriARB; +#define glProgramParameteriARB glad_debug_glProgramParameteriARB +GLAD_API_CALL PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT; +GLAD_API_CALL PFNGLPROGRAMPARAMETERIEXTPROC glad_debug_glProgramParameteriEXT; +#define glProgramParameteriEXT glad_debug_glProgramParameteriEXT +GLAD_API_CALL PFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETERS4DVNVPROC glad_debug_glProgramParameters4dvNV; +#define glProgramParameters4dvNV glad_debug_glProgramParameters4dvNV +GLAD_API_CALL PFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV; +GLAD_API_CALL PFNGLPROGRAMPARAMETERS4FVNVPROC glad_debug_glProgramParameters4fvNV; +#define glProgramParameters4fvNV glad_debug_glProgramParameters4fvNV +GLAD_API_CALL PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB; +GLAD_API_CALL PFNGLPROGRAMSTRINGARBPROC glad_debug_glProgramStringARB; +#define glProgramStringARB glad_debug_glProgramStringARB +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DPROC glad_debug_glProgramUniform1d; +#define glProgramUniform1d glad_debug_glProgramUniform1d +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DEXTPROC glad_debug_glProgramUniform1dEXT; +#define glProgramUniform1dEXT glad_debug_glProgramUniform1dEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DVPROC glad_debug_glProgramUniform1dv; +#define glProgramUniform1dv glad_debug_glProgramUniform1dv +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1DVEXTPROC glad_debug_glProgramUniform1dvEXT; +#define glProgramUniform1dvEXT glad_debug_glProgramUniform1dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FPROC glad_debug_glProgramUniform1f; +#define glProgramUniform1f glad_debug_glProgramUniform1f +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FEXTPROC glad_debug_glProgramUniform1fEXT; +#define glProgramUniform1fEXT glad_debug_glProgramUniform1fEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FVPROC glad_debug_glProgramUniform1fv; +#define glProgramUniform1fv glad_debug_glProgramUniform1fv +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1FVEXTPROC glad_debug_glProgramUniform1fvEXT; +#define glProgramUniform1fvEXT glad_debug_glProgramUniform1fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IPROC glad_debug_glProgramUniform1i; +#define glProgramUniform1i glad_debug_glProgramUniform1i +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IEXTPROC glad_debug_glProgramUniform1iEXT; +#define glProgramUniform1iEXT glad_debug_glProgramUniform1iEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IVPROC glad_debug_glProgramUniform1iv; +#define glProgramUniform1iv glad_debug_glProgramUniform1iv +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1IVEXTPROC glad_debug_glProgramUniform1ivEXT; +#define glProgramUniform1ivEXT glad_debug_glProgramUniform1ivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIPROC glad_debug_glProgramUniform1ui; +#define glProgramUniform1ui glad_debug_glProgramUniform1ui +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIEXTPROC glad_debug_glProgramUniform1uiEXT; +#define glProgramUniform1uiEXT glad_debug_glProgramUniform1uiEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIVPROC glad_debug_glProgramUniform1uiv; +#define glProgramUniform1uiv glad_debug_glProgramUniform1uiv +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_debug_glProgramUniform1uivEXT; +#define glProgramUniform1uivEXT glad_debug_glProgramUniform1uivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DPROC glad_debug_glProgramUniform2d; +#define glProgramUniform2d glad_debug_glProgramUniform2d +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DEXTPROC glad_debug_glProgramUniform2dEXT; +#define glProgramUniform2dEXT glad_debug_glProgramUniform2dEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DVPROC glad_debug_glProgramUniform2dv; +#define glProgramUniform2dv glad_debug_glProgramUniform2dv +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2DVEXTPROC glad_debug_glProgramUniform2dvEXT; +#define glProgramUniform2dvEXT glad_debug_glProgramUniform2dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FPROC glad_debug_glProgramUniform2f; +#define glProgramUniform2f glad_debug_glProgramUniform2f +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FEXTPROC glad_debug_glProgramUniform2fEXT; +#define glProgramUniform2fEXT glad_debug_glProgramUniform2fEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FVPROC glad_debug_glProgramUniform2fv; +#define glProgramUniform2fv glad_debug_glProgramUniform2fv +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2FVEXTPROC glad_debug_glProgramUniform2fvEXT; +#define glProgramUniform2fvEXT glad_debug_glProgramUniform2fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IPROC glad_debug_glProgramUniform2i; +#define glProgramUniform2i glad_debug_glProgramUniform2i +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IEXTPROC glad_debug_glProgramUniform2iEXT; +#define glProgramUniform2iEXT glad_debug_glProgramUniform2iEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IVPROC glad_debug_glProgramUniform2iv; +#define glProgramUniform2iv glad_debug_glProgramUniform2iv +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2IVEXTPROC glad_debug_glProgramUniform2ivEXT; +#define glProgramUniform2ivEXT glad_debug_glProgramUniform2ivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIPROC glad_debug_glProgramUniform2ui; +#define glProgramUniform2ui glad_debug_glProgramUniform2ui +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIEXTPROC glad_debug_glProgramUniform2uiEXT; +#define glProgramUniform2uiEXT glad_debug_glProgramUniform2uiEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIVPROC glad_debug_glProgramUniform2uiv; +#define glProgramUniform2uiv glad_debug_glProgramUniform2uiv +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_debug_glProgramUniform2uivEXT; +#define glProgramUniform2uivEXT glad_debug_glProgramUniform2uivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DPROC glad_debug_glProgramUniform3d; +#define glProgramUniform3d glad_debug_glProgramUniform3d +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DEXTPROC glad_debug_glProgramUniform3dEXT; +#define glProgramUniform3dEXT glad_debug_glProgramUniform3dEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DVPROC glad_debug_glProgramUniform3dv; +#define glProgramUniform3dv glad_debug_glProgramUniform3dv +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3DVEXTPROC glad_debug_glProgramUniform3dvEXT; +#define glProgramUniform3dvEXT glad_debug_glProgramUniform3dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FPROC glad_debug_glProgramUniform3f; +#define glProgramUniform3f glad_debug_glProgramUniform3f +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FEXTPROC glad_debug_glProgramUniform3fEXT; +#define glProgramUniform3fEXT glad_debug_glProgramUniform3fEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FVPROC glad_debug_glProgramUniform3fv; +#define glProgramUniform3fv glad_debug_glProgramUniform3fv +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3FVEXTPROC glad_debug_glProgramUniform3fvEXT; +#define glProgramUniform3fvEXT glad_debug_glProgramUniform3fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IPROC glad_debug_glProgramUniform3i; +#define glProgramUniform3i glad_debug_glProgramUniform3i +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IEXTPROC glad_debug_glProgramUniform3iEXT; +#define glProgramUniform3iEXT glad_debug_glProgramUniform3iEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IVPROC glad_debug_glProgramUniform3iv; +#define glProgramUniform3iv glad_debug_glProgramUniform3iv +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3IVEXTPROC glad_debug_glProgramUniform3ivEXT; +#define glProgramUniform3ivEXT glad_debug_glProgramUniform3ivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIPROC glad_debug_glProgramUniform3ui; +#define glProgramUniform3ui glad_debug_glProgramUniform3ui +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIEXTPROC glad_debug_glProgramUniform3uiEXT; +#define glProgramUniform3uiEXT glad_debug_glProgramUniform3uiEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIVPROC glad_debug_glProgramUniform3uiv; +#define glProgramUniform3uiv glad_debug_glProgramUniform3uiv +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_debug_glProgramUniform3uivEXT; +#define glProgramUniform3uivEXT glad_debug_glProgramUniform3uivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DPROC glad_debug_glProgramUniform4d; +#define glProgramUniform4d glad_debug_glProgramUniform4d +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DEXTPROC glad_debug_glProgramUniform4dEXT; +#define glProgramUniform4dEXT glad_debug_glProgramUniform4dEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DVPROC glad_debug_glProgramUniform4dv; +#define glProgramUniform4dv glad_debug_glProgramUniform4dv +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4DVEXTPROC glad_debug_glProgramUniform4dvEXT; +#define glProgramUniform4dvEXT glad_debug_glProgramUniform4dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FPROC glad_debug_glProgramUniform4f; +#define glProgramUniform4f glad_debug_glProgramUniform4f +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FEXTPROC glad_debug_glProgramUniform4fEXT; +#define glProgramUniform4fEXT glad_debug_glProgramUniform4fEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FVPROC glad_debug_glProgramUniform4fv; +#define glProgramUniform4fv glad_debug_glProgramUniform4fv +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4FVEXTPROC glad_debug_glProgramUniform4fvEXT; +#define glProgramUniform4fvEXT glad_debug_glProgramUniform4fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IPROC glad_debug_glProgramUniform4i; +#define glProgramUniform4i glad_debug_glProgramUniform4i +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IEXTPROC glad_debug_glProgramUniform4iEXT; +#define glProgramUniform4iEXT glad_debug_glProgramUniform4iEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IVPROC glad_debug_glProgramUniform4iv; +#define glProgramUniform4iv glad_debug_glProgramUniform4iv +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4IVEXTPROC glad_debug_glProgramUniform4ivEXT; +#define glProgramUniform4ivEXT glad_debug_glProgramUniform4ivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIPROC glad_debug_glProgramUniform4ui; +#define glProgramUniform4ui glad_debug_glProgramUniform4ui +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIEXTPROC glad_debug_glProgramUniform4uiEXT; +#define glProgramUniform4uiEXT glad_debug_glProgramUniform4uiEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIVPROC glad_debug_glProgramUniform4uiv; +#define glProgramUniform4uiv glad_debug_glProgramUniform4uiv +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_debug_glProgramUniform4uivEXT; +#define glProgramUniform4uivEXT glad_debug_glProgramUniform4uivEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB; +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_debug_glProgramUniformHandleui64ARB; +#define glProgramUniformHandleui64ARB glad_debug_glProgramUniformHandleui64ARB +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV; +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_debug_glProgramUniformHandleui64NV; +#define glProgramUniformHandleui64NV glad_debug_glProgramUniformHandleui64NV +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB; +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_debug_glProgramUniformHandleui64vARB; +#define glProgramUniformHandleui64vARB glad_debug_glProgramUniformHandleui64vARB +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV; +GLAD_API_CALL PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_debug_glProgramUniformHandleui64vNV; +#define glProgramUniformHandleui64vNV glad_debug_glProgramUniformHandleui64vNV +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_debug_glProgramUniformMatrix2dv; +#define glProgramUniformMatrix2dv glad_debug_glProgramUniformMatrix2dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_debug_glProgramUniformMatrix2dvEXT; +#define glProgramUniformMatrix2dvEXT glad_debug_glProgramUniformMatrix2dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_debug_glProgramUniformMatrix2fv; +#define glProgramUniformMatrix2fv glad_debug_glProgramUniformMatrix2fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_debug_glProgramUniformMatrix2fvEXT; +#define glProgramUniformMatrix2fvEXT glad_debug_glProgramUniformMatrix2fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_debug_glProgramUniformMatrix2x3dv; +#define glProgramUniformMatrix2x3dv glad_debug_glProgramUniformMatrix2x3dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_debug_glProgramUniformMatrix2x3dvEXT; +#define glProgramUniformMatrix2x3dvEXT glad_debug_glProgramUniformMatrix2x3dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_debug_glProgramUniformMatrix2x3fv; +#define glProgramUniformMatrix2x3fv glad_debug_glProgramUniformMatrix2x3fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_debug_glProgramUniformMatrix2x3fvEXT; +#define glProgramUniformMatrix2x3fvEXT glad_debug_glProgramUniformMatrix2x3fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_debug_glProgramUniformMatrix2x4dv; +#define glProgramUniformMatrix2x4dv glad_debug_glProgramUniformMatrix2x4dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_debug_glProgramUniformMatrix2x4dvEXT; +#define glProgramUniformMatrix2x4dvEXT glad_debug_glProgramUniformMatrix2x4dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_debug_glProgramUniformMatrix2x4fv; +#define glProgramUniformMatrix2x4fv glad_debug_glProgramUniformMatrix2x4fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_debug_glProgramUniformMatrix2x4fvEXT; +#define glProgramUniformMatrix2x4fvEXT glad_debug_glProgramUniformMatrix2x4fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_debug_glProgramUniformMatrix3dv; +#define glProgramUniformMatrix3dv glad_debug_glProgramUniformMatrix3dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_debug_glProgramUniformMatrix3dvEXT; +#define glProgramUniformMatrix3dvEXT glad_debug_glProgramUniformMatrix3dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_debug_glProgramUniformMatrix3fv; +#define glProgramUniformMatrix3fv glad_debug_glProgramUniformMatrix3fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_debug_glProgramUniformMatrix3fvEXT; +#define glProgramUniformMatrix3fvEXT glad_debug_glProgramUniformMatrix3fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_debug_glProgramUniformMatrix3x2dv; +#define glProgramUniformMatrix3x2dv glad_debug_glProgramUniformMatrix3x2dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_debug_glProgramUniformMatrix3x2dvEXT; +#define glProgramUniformMatrix3x2dvEXT glad_debug_glProgramUniformMatrix3x2dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_debug_glProgramUniformMatrix3x2fv; +#define glProgramUniformMatrix3x2fv glad_debug_glProgramUniformMatrix3x2fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_debug_glProgramUniformMatrix3x2fvEXT; +#define glProgramUniformMatrix3x2fvEXT glad_debug_glProgramUniformMatrix3x2fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_debug_glProgramUniformMatrix3x4dv; +#define glProgramUniformMatrix3x4dv glad_debug_glProgramUniformMatrix3x4dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_debug_glProgramUniformMatrix3x4dvEXT; +#define glProgramUniformMatrix3x4dvEXT glad_debug_glProgramUniformMatrix3x4dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_debug_glProgramUniformMatrix3x4fv; +#define glProgramUniformMatrix3x4fv glad_debug_glProgramUniformMatrix3x4fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_debug_glProgramUniformMatrix3x4fvEXT; +#define glProgramUniformMatrix3x4fvEXT glad_debug_glProgramUniformMatrix3x4fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_debug_glProgramUniformMatrix4dv; +#define glProgramUniformMatrix4dv glad_debug_glProgramUniformMatrix4dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_debug_glProgramUniformMatrix4dvEXT; +#define glProgramUniformMatrix4dvEXT glad_debug_glProgramUniformMatrix4dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_debug_glProgramUniformMatrix4fv; +#define glProgramUniformMatrix4fv glad_debug_glProgramUniformMatrix4fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_debug_glProgramUniformMatrix4fvEXT; +#define glProgramUniformMatrix4fvEXT glad_debug_glProgramUniformMatrix4fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_debug_glProgramUniformMatrix4x2dv; +#define glProgramUniformMatrix4x2dv glad_debug_glProgramUniformMatrix4x2dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_debug_glProgramUniformMatrix4x2dvEXT; +#define glProgramUniformMatrix4x2dvEXT glad_debug_glProgramUniformMatrix4x2dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_debug_glProgramUniformMatrix4x2fv; +#define glProgramUniformMatrix4x2fv glad_debug_glProgramUniformMatrix4x2fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_debug_glProgramUniformMatrix4x2fvEXT; +#define glProgramUniformMatrix4x2fvEXT glad_debug_glProgramUniformMatrix4x2fvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_debug_glProgramUniformMatrix4x3dv; +#define glProgramUniformMatrix4x3dv glad_debug_glProgramUniformMatrix4x3dv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_debug_glProgramUniformMatrix4x3dvEXT; +#define glProgramUniformMatrix4x3dvEXT glad_debug_glProgramUniformMatrix4x3dvEXT +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_debug_glProgramUniformMatrix4x3fv; +#define glProgramUniformMatrix4x3fv glad_debug_glProgramUniformMatrix4x3fv +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT; +GLAD_API_CALL PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_debug_glProgramUniformMatrix4x3fvEXT; +#define glProgramUniformMatrix4x3fvEXT glad_debug_glProgramUniformMatrix4x3fvEXT +GLAD_API_CALL PFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV; +GLAD_API_CALL PFNGLPROGRAMVERTEXLIMITNVPROC glad_debug_glProgramVertexLimitNV; +#define glProgramVertexLimitNV glad_debug_glProgramVertexLimitNV +GLAD_API_CALL PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +GLAD_API_CALL PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex; +#define glProvokingVertex glad_debug_glProvokingVertex +GLAD_API_CALL PFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT; +GLAD_API_CALL PFNGLPROVOKINGVERTEXEXTPROC glad_debug_glProvokingVertexEXT; +#define glProvokingVertexEXT glad_debug_glProvokingVertexEXT +GLAD_API_CALL PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT; +GLAD_API_CALL PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_debug_glPushClientAttribDefaultEXT; +#define glPushClientAttribDefaultEXT glad_debug_glPushClientAttribDefaultEXT +GLAD_API_CALL PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup; +GLAD_API_CALL PFNGLPUSHDEBUGGROUPPROC glad_debug_glPushDebugGroup; +#define glPushDebugGroup glad_debug_glPushDebugGroup +GLAD_API_CALL PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +GLAD_API_CALL PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter; +#define glQueryCounter glad_debug_glQueryCounter +GLAD_API_CALL PFNGLREADBUFFERPROC glad_glReadBuffer; +GLAD_API_CALL PFNGLREADBUFFERPROC glad_debug_glReadBuffer; +#define glReadBuffer glad_debug_glReadBuffer +GLAD_API_CALL PFNGLREADPIXELSPROC glad_glReadPixels; +GLAD_API_CALL PFNGLREADPIXELSPROC glad_debug_glReadPixels; +#define glReadPixels glad_debug_glReadPixels +GLAD_API_CALL PFNGLREADNPIXELSPROC glad_glReadnPixels; +GLAD_API_CALL PFNGLREADNPIXELSPROC glad_debug_glReadnPixels; +#define glReadnPixels glad_debug_glReadnPixels +GLAD_API_CALL PFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB; +GLAD_API_CALL PFNGLREADNPIXELSARBPROC glad_debug_glReadnPixelsARB; +#define glReadnPixelsARB glad_debug_glReadnPixelsARB +GLAD_API_CALL PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; +GLAD_API_CALL PFNGLRELEASESHADERCOMPILERPROC glad_debug_glReleaseShaderCompiler; +#define glReleaseShaderCompiler glad_debug_glReleaseShaderCompiler +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage; +#define glRenderbufferStorage glad_debug_glRenderbufferStorage +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT; +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEEXTPROC glad_debug_glRenderbufferStorageEXT; +#define glRenderbufferStorageEXT glad_debug_glRenderbufferStorageEXT +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample; +#define glRenderbufferStorageMultisample glad_debug_glRenderbufferStorageMultisample +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT; +GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_debug_glRenderbufferStorageMultisampleEXT; +#define glRenderbufferStorageMultisampleEXT glad_debug_glRenderbufferStorageMultisampleEXT +GLAD_API_CALL PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV; +GLAD_API_CALL PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_debug_glRequestResidentProgramsNV; +#define glRequestResidentProgramsNV glad_debug_glRequestResidentProgramsNV +GLAD_API_CALL PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback; +GLAD_API_CALL PFNGLRESUMETRANSFORMFEEDBACKPROC glad_debug_glResumeTransformFeedback; +#define glResumeTransformFeedback glad_debug_glResumeTransformFeedback +GLAD_API_CALL PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV; +GLAD_API_CALL PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_debug_glResumeTransformFeedbackNV; +#define glResumeTransformFeedbackNV glad_debug_glResumeTransformFeedbackNV +GLAD_API_CALL PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +GLAD_API_CALL PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage; +#define glSampleCoverage glad_debug_glSampleCoverage +GLAD_API_CALL PFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB; +GLAD_API_CALL PFNGLSAMPLECOVERAGEARBPROC glad_debug_glSampleCoverageARB; +#define glSampleCoverageARB glad_debug_glSampleCoverageARB +GLAD_API_CALL PFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV; +GLAD_API_CALL PFNGLSAMPLEMASKINDEXEDNVPROC glad_debug_glSampleMaskIndexedNV; +#define glSampleMaskIndexedNV glad_debug_glSampleMaskIndexedNV +GLAD_API_CALL PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +GLAD_API_CALL PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski; +#define glSampleMaski glad_debug_glSampleMaski +GLAD_API_CALL PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +GLAD_API_CALL PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv; +#define glSamplerParameterIiv glad_debug_glSamplerParameterIiv +GLAD_API_CALL PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +GLAD_API_CALL PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv; +#define glSamplerParameterIuiv glad_debug_glSamplerParameterIuiv +GLAD_API_CALL PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +GLAD_API_CALL PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf; +#define glSamplerParameterf glad_debug_glSamplerParameterf +GLAD_API_CALL PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +GLAD_API_CALL PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv; +#define glSamplerParameterfv glad_debug_glSamplerParameterfv +GLAD_API_CALL PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +GLAD_API_CALL PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri; +#define glSamplerParameteri glad_debug_glSamplerParameteri +GLAD_API_CALL PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +GLAD_API_CALL PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv; +#define glSamplerParameteriv glad_debug_glSamplerParameteriv +GLAD_API_CALL PFNGLSCISSORPROC glad_glScissor; +GLAD_API_CALL PFNGLSCISSORPROC glad_debug_glScissor; +#define glScissor glad_debug_glScissor +GLAD_API_CALL PFNGLSCISSORARRAYVPROC glad_glScissorArrayv; +GLAD_API_CALL PFNGLSCISSORARRAYVPROC glad_debug_glScissorArrayv; +#define glScissorArrayv glad_debug_glScissorArrayv +GLAD_API_CALL PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed; +GLAD_API_CALL PFNGLSCISSORINDEXEDPROC glad_debug_glScissorIndexed; +#define glScissorIndexed glad_debug_glScissorIndexed +GLAD_API_CALL PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv; +GLAD_API_CALL PFNGLSCISSORINDEXEDVPROC glad_debug_glScissorIndexedv; +#define glScissorIndexedv glad_debug_glScissorIndexedv +GLAD_API_CALL PFNGLSHADERBINARYPROC glad_glShaderBinary; +GLAD_API_CALL PFNGLSHADERBINARYPROC glad_debug_glShaderBinary; +#define glShaderBinary glad_debug_glShaderBinary +GLAD_API_CALL PFNGLSHADERSOURCEPROC glad_glShaderSource; +GLAD_API_CALL PFNGLSHADERSOURCEPROC glad_debug_glShaderSource; +#define glShaderSource glad_debug_glShaderSource +GLAD_API_CALL PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB; +GLAD_API_CALL PFNGLSHADERSOURCEARBPROC glad_debug_glShaderSourceARB; +#define glShaderSourceARB glad_debug_glShaderSourceARB +GLAD_API_CALL PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding; +GLAD_API_CALL PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_debug_glShaderStorageBlockBinding; +#define glShaderStorageBlockBinding glad_debug_glShaderStorageBlockBinding +GLAD_API_CALL PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader; +GLAD_API_CALL PFNGLSPECIALIZESHADERPROC glad_debug_glSpecializeShader; +#define glSpecializeShader glad_debug_glSpecializeShader +GLAD_API_CALL PFNGLSPECIALIZESHADERARBPROC glad_glSpecializeShaderARB; +GLAD_API_CALL PFNGLSPECIALIZESHADERARBPROC glad_debug_glSpecializeShaderARB; +#define glSpecializeShaderARB glad_debug_glSpecializeShaderARB +GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_glStencilFunc; +GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc; +#define glStencilFunc glad_debug_glStencilFunc +GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate; +#define glStencilFuncSeparate glad_debug_glStencilFuncSeparate +GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI; +GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEATIPROC glad_debug_glStencilFuncSeparateATI; +#define glStencilFuncSeparateATI glad_debug_glStencilFuncSeparateATI +GLAD_API_CALL PFNGLSTENCILMASKPROC glad_glStencilMask; +GLAD_API_CALL PFNGLSTENCILMASKPROC glad_debug_glStencilMask; +#define glStencilMask glad_debug_glStencilMask +GLAD_API_CALL PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +GLAD_API_CALL PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate; +#define glStencilMaskSeparate glad_debug_glStencilMaskSeparate +GLAD_API_CALL PFNGLSTENCILOPPROC glad_glStencilOp; +GLAD_API_CALL PFNGLSTENCILOPPROC glad_debug_glStencilOp; +#define glStencilOp glad_debug_glStencilOp +GLAD_API_CALL PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +GLAD_API_CALL PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate; +#define glStencilOpSeparate glad_debug_glStencilOpSeparate +GLAD_API_CALL PFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI; +GLAD_API_CALL PFNGLSTENCILOPSEPARATEATIPROC glad_debug_glStencilOpSeparateATI; +#define glStencilOpSeparateATI glad_debug_glStencilOpSeparateATI +GLAD_API_CALL PFNGLTEXBUFFERPROC glad_glTexBuffer; +GLAD_API_CALL PFNGLTEXBUFFERPROC glad_debug_glTexBuffer; +#define glTexBuffer glad_debug_glTexBuffer +GLAD_API_CALL PFNGLTEXBUFFERARBPROC glad_glTexBufferARB; +GLAD_API_CALL PFNGLTEXBUFFERARBPROC glad_debug_glTexBufferARB; +#define glTexBufferARB glad_debug_glTexBufferARB +GLAD_API_CALL PFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT; +GLAD_API_CALL PFNGLTEXBUFFEREXTPROC glad_debug_glTexBufferEXT; +#define glTexBufferEXT glad_debug_glTexBufferEXT +GLAD_API_CALL PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange; +GLAD_API_CALL PFNGLTEXBUFFERRANGEPROC glad_debug_glTexBufferRange; +#define glTexBufferRange glad_debug_glTexBufferRange +GLAD_API_CALL PFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT; +GLAD_API_CALL PFNGLTEXCOORDPOINTEREXTPROC glad_debug_glTexCoordPointerEXT; +#define glTexCoordPointerEXT glad_debug_glTexCoordPointerEXT +GLAD_API_CALL PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +GLAD_API_CALL PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D; +#define glTexImage1D glad_debug_glTexImage1D +GLAD_API_CALL PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +GLAD_API_CALL PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D; +#define glTexImage2D glad_debug_glTexImage2D +GLAD_API_CALL PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +GLAD_API_CALL PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample; +#define glTexImage2DMultisample glad_debug_glTexImage2DMultisample +GLAD_API_CALL PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +GLAD_API_CALL PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D; +#define glTexImage3D glad_debug_glTexImage3D +GLAD_API_CALL PFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT; +GLAD_API_CALL PFNGLTEXIMAGE3DEXTPROC glad_debug_glTexImage3DEXT; +#define glTexImage3DEXT glad_debug_glTexImage3DEXT +GLAD_API_CALL PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +GLAD_API_CALL PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample; +#define glTexImage3DMultisample glad_debug_glTexImage3DMultisample +GLAD_API_CALL PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +GLAD_API_CALL PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv; +#define glTexParameterIiv glad_debug_glTexParameterIiv +GLAD_API_CALL PFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT; +GLAD_API_CALL PFNGLTEXPARAMETERIIVEXTPROC glad_debug_glTexParameterIivEXT; +#define glTexParameterIivEXT glad_debug_glTexParameterIivEXT +GLAD_API_CALL PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +GLAD_API_CALL PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv; +#define glTexParameterIuiv glad_debug_glTexParameterIuiv +GLAD_API_CALL PFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT; +GLAD_API_CALL PFNGLTEXPARAMETERIUIVEXTPROC glad_debug_glTexParameterIuivEXT; +#define glTexParameterIuivEXT glad_debug_glTexParameterIuivEXT +GLAD_API_CALL PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +GLAD_API_CALL PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf; +#define glTexParameterf glad_debug_glTexParameterf +GLAD_API_CALL PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +GLAD_API_CALL PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv; +#define glTexParameterfv glad_debug_glTexParameterfv +GLAD_API_CALL PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +GLAD_API_CALL PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri; +#define glTexParameteri glad_debug_glTexParameteri +GLAD_API_CALL PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +GLAD_API_CALL PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv; +#define glTexParameteriv glad_debug_glTexParameteriv +GLAD_API_CALL PFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV; +GLAD_API_CALL PFNGLTEXRENDERBUFFERNVPROC glad_debug_glTexRenderbufferNV; +#define glTexRenderbufferNV glad_debug_glTexRenderbufferNV +GLAD_API_CALL PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D; +GLAD_API_CALL PFNGLTEXSTORAGE1DPROC glad_debug_glTexStorage1D; +#define glTexStorage1D glad_debug_glTexStorage1D +GLAD_API_CALL PFNGLTEXSTORAGE1DEXTPROC glad_glTexStorage1DEXT; +GLAD_API_CALL PFNGLTEXSTORAGE1DEXTPROC glad_debug_glTexStorage1DEXT; +#define glTexStorage1DEXT glad_debug_glTexStorage1DEXT +GLAD_API_CALL PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D; +GLAD_API_CALL PFNGLTEXSTORAGE2DPROC glad_debug_glTexStorage2D; +#define glTexStorage2D glad_debug_glTexStorage2D +GLAD_API_CALL PFNGLTEXSTORAGE2DEXTPROC glad_glTexStorage2DEXT; +GLAD_API_CALL PFNGLTEXSTORAGE2DEXTPROC glad_debug_glTexStorage2DEXT; +#define glTexStorage2DEXT glad_debug_glTexStorage2DEXT +GLAD_API_CALL PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample; +GLAD_API_CALL PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_debug_glTexStorage2DMultisample; +#define glTexStorage2DMultisample glad_debug_glTexStorage2DMultisample +GLAD_API_CALL PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D; +GLAD_API_CALL PFNGLTEXSTORAGE3DPROC glad_debug_glTexStorage3D; +#define glTexStorage3D glad_debug_glTexStorage3D +GLAD_API_CALL PFNGLTEXSTORAGE3DEXTPROC glad_glTexStorage3DEXT; +GLAD_API_CALL PFNGLTEXSTORAGE3DEXTPROC glad_debug_glTexStorage3DEXT; +#define glTexStorage3DEXT glad_debug_glTexStorage3DEXT +GLAD_API_CALL PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample; +GLAD_API_CALL PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_debug_glTexStorage3DMultisample; +#define glTexStorage3DMultisample glad_debug_glTexStorage3DMultisample +GLAD_API_CALL PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +GLAD_API_CALL PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D; +#define glTexSubImage1D glad_debug_glTexSubImage1D +GLAD_API_CALL PFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT; +GLAD_API_CALL PFNGLTEXSUBIMAGE1DEXTPROC glad_debug_glTexSubImage1DEXT; +#define glTexSubImage1DEXT glad_debug_glTexSubImage1DEXT +GLAD_API_CALL PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +GLAD_API_CALL PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D; +#define glTexSubImage2D glad_debug_glTexSubImage2D +GLAD_API_CALL PFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT; +GLAD_API_CALL PFNGLTEXSUBIMAGE2DEXTPROC glad_debug_glTexSubImage2DEXT; +#define glTexSubImage2DEXT glad_debug_glTexSubImage2DEXT +GLAD_API_CALL PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +GLAD_API_CALL PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D; +#define glTexSubImage3D glad_debug_glTexSubImage3D +GLAD_API_CALL PFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT; +GLAD_API_CALL PFNGLTEXSUBIMAGE3DEXTPROC glad_debug_glTexSubImage3DEXT; +#define glTexSubImage3DEXT glad_debug_glTexSubImage3DEXT +GLAD_API_CALL PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier; +GLAD_API_CALL PFNGLTEXTUREBARRIERPROC glad_debug_glTextureBarrier; +#define glTextureBarrier glad_debug_glTextureBarrier +GLAD_API_CALL PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer; +GLAD_API_CALL PFNGLTEXTUREBUFFERPROC glad_debug_glTextureBuffer; +#define glTextureBuffer glad_debug_glTextureBuffer +GLAD_API_CALL PFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT; +GLAD_API_CALL PFNGLTEXTUREBUFFEREXTPROC glad_debug_glTextureBufferEXT; +#define glTextureBufferEXT glad_debug_glTextureBufferEXT +GLAD_API_CALL PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange; +GLAD_API_CALL PFNGLTEXTUREBUFFERRANGEPROC glad_debug_glTextureBufferRange; +#define glTextureBufferRange glad_debug_glTextureBufferRange +GLAD_API_CALL PFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT; +GLAD_API_CALL PFNGLTEXTUREBUFFERRANGEEXTPROC glad_debug_glTextureBufferRangeEXT; +#define glTextureBufferRangeEXT glad_debug_glTextureBufferRangeEXT +GLAD_API_CALL PFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT; +GLAD_API_CALL PFNGLTEXTUREIMAGE1DEXTPROC glad_debug_glTextureImage1DEXT; +#define glTextureImage1DEXT glad_debug_glTextureImage1DEXT +GLAD_API_CALL PFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT; +GLAD_API_CALL PFNGLTEXTUREIMAGE2DEXTPROC glad_debug_glTextureImage2DEXT; +#define glTextureImage2DEXT glad_debug_glTextureImage2DEXT +GLAD_API_CALL PFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT; +GLAD_API_CALL PFNGLTEXTUREIMAGE3DEXTPROC glad_debug_glTextureImage3DEXT; +#define glTextureImage3DEXT glad_debug_glTextureImage3DEXT +GLAD_API_CALL PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT; +GLAD_API_CALL PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_debug_glTexturePageCommitmentEXT; +#define glTexturePageCommitmentEXT glad_debug_glTexturePageCommitmentEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIIVPROC glad_debug_glTextureParameterIiv; +#define glTextureParameterIiv glad_debug_glTextureParameterIiv +GLAD_API_CALL PFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIIVEXTPROC glad_debug_glTextureParameterIivEXT; +#define glTextureParameterIivEXT glad_debug_glTextureParameterIivEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIUIVPROC glad_debug_glTextureParameterIuiv; +#define glTextureParameterIuiv glad_debug_glTextureParameterIuiv +GLAD_API_CALL PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_debug_glTextureParameterIuivEXT; +#define glTextureParameterIuivEXT glad_debug_glTextureParameterIuivEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf; +GLAD_API_CALL PFNGLTEXTUREPARAMETERFPROC glad_debug_glTextureParameterf; +#define glTextureParameterf glad_debug_glTextureParameterf +GLAD_API_CALL PFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERFEXTPROC glad_debug_glTextureParameterfEXT; +#define glTextureParameterfEXT glad_debug_glTextureParameterfEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv; +GLAD_API_CALL PFNGLTEXTUREPARAMETERFVPROC glad_debug_glTextureParameterfv; +#define glTextureParameterfv glad_debug_glTextureParameterfv +GLAD_API_CALL PFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERFVEXTPROC glad_debug_glTextureParameterfvEXT; +#define glTextureParameterfvEXT glad_debug_glTextureParameterfvEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIPROC glad_debug_glTextureParameteri; +#define glTextureParameteri glad_debug_glTextureParameteri +GLAD_API_CALL PFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIEXTPROC glad_debug_glTextureParameteriEXT; +#define glTextureParameteriEXT glad_debug_glTextureParameteriEXT +GLAD_API_CALL PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIVPROC glad_debug_glTextureParameteriv; +#define glTextureParameteriv glad_debug_glTextureParameteriv +GLAD_API_CALL PFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT; +GLAD_API_CALL PFNGLTEXTUREPARAMETERIVEXTPROC glad_debug_glTextureParameterivEXT; +#define glTextureParameterivEXT glad_debug_glTextureParameterivEXT +GLAD_API_CALL PFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT; +GLAD_API_CALL PFNGLTEXTURERENDERBUFFEREXTPROC glad_debug_glTextureRenderbufferEXT; +#define glTextureRenderbufferEXT glad_debug_glTextureRenderbufferEXT +GLAD_API_CALL PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D; +GLAD_API_CALL PFNGLTEXTURESTORAGE1DPROC glad_debug_glTextureStorage1D; +#define glTextureStorage1D glad_debug_glTextureStorage1D +GLAD_API_CALL PFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT; +GLAD_API_CALL PFNGLTEXTURESTORAGE1DEXTPROC glad_debug_glTextureStorage1DEXT; +#define glTextureStorage1DEXT glad_debug_glTextureStorage1DEXT +GLAD_API_CALL PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D; +GLAD_API_CALL PFNGLTEXTURESTORAGE2DPROC glad_debug_glTextureStorage2D; +#define glTextureStorage2D glad_debug_glTextureStorage2D +GLAD_API_CALL PFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT; +GLAD_API_CALL PFNGLTEXTURESTORAGE2DEXTPROC glad_debug_glTextureStorage2DEXT; +#define glTextureStorage2DEXT glad_debug_glTextureStorage2DEXT +GLAD_API_CALL PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample; +GLAD_API_CALL PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_debug_glTextureStorage2DMultisample; +#define glTextureStorage2DMultisample glad_debug_glTextureStorage2DMultisample +GLAD_API_CALL PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT; +GLAD_API_CALL PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_debug_glTextureStorage2DMultisampleEXT; +#define glTextureStorage2DMultisampleEXT glad_debug_glTextureStorage2DMultisampleEXT +GLAD_API_CALL PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D; +GLAD_API_CALL PFNGLTEXTURESTORAGE3DPROC glad_debug_glTextureStorage3D; +#define glTextureStorage3D glad_debug_glTextureStorage3D +GLAD_API_CALL PFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT; +GLAD_API_CALL PFNGLTEXTURESTORAGE3DEXTPROC glad_debug_glTextureStorage3DEXT; +#define glTextureStorage3DEXT glad_debug_glTextureStorage3DEXT +GLAD_API_CALL PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample; +GLAD_API_CALL PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_debug_glTextureStorage3DMultisample; +#define glTextureStorage3DMultisample glad_debug_glTextureStorage3DMultisample +GLAD_API_CALL PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT; +GLAD_API_CALL PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_debug_glTextureStorage3DMultisampleEXT; +#define glTextureStorage3DMultisampleEXT glad_debug_glTextureStorage3DMultisampleEXT +GLAD_API_CALL PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE1DPROC glad_debug_glTextureSubImage1D; +#define glTextureSubImage1D glad_debug_glTextureSubImage1D +GLAD_API_CALL PFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE1DEXTPROC glad_debug_glTextureSubImage1DEXT; +#define glTextureSubImage1DEXT glad_debug_glTextureSubImage1DEXT +GLAD_API_CALL PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE2DPROC glad_debug_glTextureSubImage2D; +#define glTextureSubImage2D glad_debug_glTextureSubImage2D +GLAD_API_CALL PFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE2DEXTPROC glad_debug_glTextureSubImage2DEXT; +#define glTextureSubImage2DEXT glad_debug_glTextureSubImage2DEXT +GLAD_API_CALL PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE3DPROC glad_debug_glTextureSubImage3D; +#define glTextureSubImage3D glad_debug_glTextureSubImage3D +GLAD_API_CALL PFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT; +GLAD_API_CALL PFNGLTEXTURESUBIMAGE3DEXTPROC glad_debug_glTextureSubImage3DEXT; +#define glTextureSubImage3DEXT glad_debug_glTextureSubImage3DEXT +GLAD_API_CALL PFNGLTEXTUREVIEWPROC glad_glTextureView; +GLAD_API_CALL PFNGLTEXTUREVIEWPROC glad_debug_glTextureView; +#define glTextureView glad_debug_glTextureView +GLAD_API_CALL PFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV; +GLAD_API_CALL PFNGLTRACKMATRIXNVPROC glad_debug_glTrackMatrixNV; +#define glTrackMatrixNV glad_debug_glTrackMatrixNV +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_debug_glTransformFeedbackAttribsNV; +#define glTransformFeedbackAttribsNV glad_debug_glTransformFeedbackAttribsNV +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_debug_glTransformFeedbackBufferBase; +#define glTransformFeedbackBufferBase glad_debug_glTransformFeedbackBufferBase +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_debug_glTransformFeedbackBufferRange; +#define glTransformFeedbackBufferRange glad_debug_glTransformFeedbackBufferRange +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_debug_glTransformFeedbackStreamAttribsNV; +#define glTransformFeedbackStreamAttribsNV glad_debug_glTransformFeedbackStreamAttribsNV +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings; +#define glTransformFeedbackVaryings glad_debug_glTransformFeedbackVaryings +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_debug_glTransformFeedbackVaryingsEXT; +#define glTransformFeedbackVaryingsEXT glad_debug_glTransformFeedbackVaryingsEXT +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV; +GLAD_API_CALL PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_debug_glTransformFeedbackVaryingsNV; +#define glTransformFeedbackVaryingsNV glad_debug_glTransformFeedbackVaryingsNV +GLAD_API_CALL PFNGLUNIFORM1DPROC glad_glUniform1d; +GLAD_API_CALL PFNGLUNIFORM1DPROC glad_debug_glUniform1d; +#define glUniform1d glad_debug_glUniform1d +GLAD_API_CALL PFNGLUNIFORM1DVPROC glad_glUniform1dv; +GLAD_API_CALL PFNGLUNIFORM1DVPROC glad_debug_glUniform1dv; +#define glUniform1dv glad_debug_glUniform1dv +GLAD_API_CALL PFNGLUNIFORM1FPROC glad_glUniform1f; +GLAD_API_CALL PFNGLUNIFORM1FPROC glad_debug_glUniform1f; +#define glUniform1f glad_debug_glUniform1f +GLAD_API_CALL PFNGLUNIFORM1FARBPROC glad_glUniform1fARB; +GLAD_API_CALL PFNGLUNIFORM1FARBPROC glad_debug_glUniform1fARB; +#define glUniform1fARB glad_debug_glUniform1fARB +GLAD_API_CALL PFNGLUNIFORM1FVPROC glad_glUniform1fv; +GLAD_API_CALL PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv; +#define glUniform1fv glad_debug_glUniform1fv +GLAD_API_CALL PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB; +GLAD_API_CALL PFNGLUNIFORM1FVARBPROC glad_debug_glUniform1fvARB; +#define glUniform1fvARB glad_debug_glUniform1fvARB +GLAD_API_CALL PFNGLUNIFORM1IPROC glad_glUniform1i; +GLAD_API_CALL PFNGLUNIFORM1IPROC glad_debug_glUniform1i; +#define glUniform1i glad_debug_glUniform1i +GLAD_API_CALL PFNGLUNIFORM1IARBPROC glad_glUniform1iARB; +GLAD_API_CALL PFNGLUNIFORM1IARBPROC glad_debug_glUniform1iARB; +#define glUniform1iARB glad_debug_glUniform1iARB +GLAD_API_CALL PFNGLUNIFORM1IVPROC glad_glUniform1iv; +GLAD_API_CALL PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv; +#define glUniform1iv glad_debug_glUniform1iv +GLAD_API_CALL PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB; +GLAD_API_CALL PFNGLUNIFORM1IVARBPROC glad_debug_glUniform1ivARB; +#define glUniform1ivARB glad_debug_glUniform1ivARB +GLAD_API_CALL PFNGLUNIFORM1UIPROC glad_glUniform1ui; +GLAD_API_CALL PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui; +#define glUniform1ui glad_debug_glUniform1ui +GLAD_API_CALL PFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT; +GLAD_API_CALL PFNGLUNIFORM1UIEXTPROC glad_debug_glUniform1uiEXT; +#define glUniform1uiEXT glad_debug_glUniform1uiEXT +GLAD_API_CALL PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +GLAD_API_CALL PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv; +#define glUniform1uiv glad_debug_glUniform1uiv +GLAD_API_CALL PFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT; +GLAD_API_CALL PFNGLUNIFORM1UIVEXTPROC glad_debug_glUniform1uivEXT; +#define glUniform1uivEXT glad_debug_glUniform1uivEXT +GLAD_API_CALL PFNGLUNIFORM2DPROC glad_glUniform2d; +GLAD_API_CALL PFNGLUNIFORM2DPROC glad_debug_glUniform2d; +#define glUniform2d glad_debug_glUniform2d +GLAD_API_CALL PFNGLUNIFORM2DVPROC glad_glUniform2dv; +GLAD_API_CALL PFNGLUNIFORM2DVPROC glad_debug_glUniform2dv; +#define glUniform2dv glad_debug_glUniform2dv +GLAD_API_CALL PFNGLUNIFORM2FPROC glad_glUniform2f; +GLAD_API_CALL PFNGLUNIFORM2FPROC glad_debug_glUniform2f; +#define glUniform2f glad_debug_glUniform2f +GLAD_API_CALL PFNGLUNIFORM2FARBPROC glad_glUniform2fARB; +GLAD_API_CALL PFNGLUNIFORM2FARBPROC glad_debug_glUniform2fARB; +#define glUniform2fARB glad_debug_glUniform2fARB +GLAD_API_CALL PFNGLUNIFORM2FVPROC glad_glUniform2fv; +GLAD_API_CALL PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv; +#define glUniform2fv glad_debug_glUniform2fv +GLAD_API_CALL PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB; +GLAD_API_CALL PFNGLUNIFORM2FVARBPROC glad_debug_glUniform2fvARB; +#define glUniform2fvARB glad_debug_glUniform2fvARB +GLAD_API_CALL PFNGLUNIFORM2IPROC glad_glUniform2i; +GLAD_API_CALL PFNGLUNIFORM2IPROC glad_debug_glUniform2i; +#define glUniform2i glad_debug_glUniform2i +GLAD_API_CALL PFNGLUNIFORM2IARBPROC glad_glUniform2iARB; +GLAD_API_CALL PFNGLUNIFORM2IARBPROC glad_debug_glUniform2iARB; +#define glUniform2iARB glad_debug_glUniform2iARB +GLAD_API_CALL PFNGLUNIFORM2IVPROC glad_glUniform2iv; +GLAD_API_CALL PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv; +#define glUniform2iv glad_debug_glUniform2iv +GLAD_API_CALL PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB; +GLAD_API_CALL PFNGLUNIFORM2IVARBPROC glad_debug_glUniform2ivARB; +#define glUniform2ivARB glad_debug_glUniform2ivARB +GLAD_API_CALL PFNGLUNIFORM2UIPROC glad_glUniform2ui; +GLAD_API_CALL PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui; +#define glUniform2ui glad_debug_glUniform2ui +GLAD_API_CALL PFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT; +GLAD_API_CALL PFNGLUNIFORM2UIEXTPROC glad_debug_glUniform2uiEXT; +#define glUniform2uiEXT glad_debug_glUniform2uiEXT +GLAD_API_CALL PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +GLAD_API_CALL PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv; +#define glUniform2uiv glad_debug_glUniform2uiv +GLAD_API_CALL PFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT; +GLAD_API_CALL PFNGLUNIFORM2UIVEXTPROC glad_debug_glUniform2uivEXT; +#define glUniform2uivEXT glad_debug_glUniform2uivEXT +GLAD_API_CALL PFNGLUNIFORM3DPROC glad_glUniform3d; +GLAD_API_CALL PFNGLUNIFORM3DPROC glad_debug_glUniform3d; +#define glUniform3d glad_debug_glUniform3d +GLAD_API_CALL PFNGLUNIFORM3DVPROC glad_glUniform3dv; +GLAD_API_CALL PFNGLUNIFORM3DVPROC glad_debug_glUniform3dv; +#define glUniform3dv glad_debug_glUniform3dv +GLAD_API_CALL PFNGLUNIFORM3FPROC glad_glUniform3f; +GLAD_API_CALL PFNGLUNIFORM3FPROC glad_debug_glUniform3f; +#define glUniform3f glad_debug_glUniform3f +GLAD_API_CALL PFNGLUNIFORM3FARBPROC glad_glUniform3fARB; +GLAD_API_CALL PFNGLUNIFORM3FARBPROC glad_debug_glUniform3fARB; +#define glUniform3fARB glad_debug_glUniform3fARB +GLAD_API_CALL PFNGLUNIFORM3FVPROC glad_glUniform3fv; +GLAD_API_CALL PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv; +#define glUniform3fv glad_debug_glUniform3fv +GLAD_API_CALL PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB; +GLAD_API_CALL PFNGLUNIFORM3FVARBPROC glad_debug_glUniform3fvARB; +#define glUniform3fvARB glad_debug_glUniform3fvARB +GLAD_API_CALL PFNGLUNIFORM3IPROC glad_glUniform3i; +GLAD_API_CALL PFNGLUNIFORM3IPROC glad_debug_glUniform3i; +#define glUniform3i glad_debug_glUniform3i +GLAD_API_CALL PFNGLUNIFORM3IARBPROC glad_glUniform3iARB; +GLAD_API_CALL PFNGLUNIFORM3IARBPROC glad_debug_glUniform3iARB; +#define glUniform3iARB glad_debug_glUniform3iARB +GLAD_API_CALL PFNGLUNIFORM3IVPROC glad_glUniform3iv; +GLAD_API_CALL PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv; +#define glUniform3iv glad_debug_glUniform3iv +GLAD_API_CALL PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB; +GLAD_API_CALL PFNGLUNIFORM3IVARBPROC glad_debug_glUniform3ivARB; +#define glUniform3ivARB glad_debug_glUniform3ivARB +GLAD_API_CALL PFNGLUNIFORM3UIPROC glad_glUniform3ui; +GLAD_API_CALL PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui; +#define glUniform3ui glad_debug_glUniform3ui +GLAD_API_CALL PFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT; +GLAD_API_CALL PFNGLUNIFORM3UIEXTPROC glad_debug_glUniform3uiEXT; +#define glUniform3uiEXT glad_debug_glUniform3uiEXT +GLAD_API_CALL PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +GLAD_API_CALL PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv; +#define glUniform3uiv glad_debug_glUniform3uiv +GLAD_API_CALL PFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT; +GLAD_API_CALL PFNGLUNIFORM3UIVEXTPROC glad_debug_glUniform3uivEXT; +#define glUniform3uivEXT glad_debug_glUniform3uivEXT +GLAD_API_CALL PFNGLUNIFORM4DPROC glad_glUniform4d; +GLAD_API_CALL PFNGLUNIFORM4DPROC glad_debug_glUniform4d; +#define glUniform4d glad_debug_glUniform4d +GLAD_API_CALL PFNGLUNIFORM4DVPROC glad_glUniform4dv; +GLAD_API_CALL PFNGLUNIFORM4DVPROC glad_debug_glUniform4dv; +#define glUniform4dv glad_debug_glUniform4dv +GLAD_API_CALL PFNGLUNIFORM4FPROC glad_glUniform4f; +GLAD_API_CALL PFNGLUNIFORM4FPROC glad_debug_glUniform4f; +#define glUniform4f glad_debug_glUniform4f +GLAD_API_CALL PFNGLUNIFORM4FARBPROC glad_glUniform4fARB; +GLAD_API_CALL PFNGLUNIFORM4FARBPROC glad_debug_glUniform4fARB; +#define glUniform4fARB glad_debug_glUniform4fARB +GLAD_API_CALL PFNGLUNIFORM4FVPROC glad_glUniform4fv; +GLAD_API_CALL PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv; +#define glUniform4fv glad_debug_glUniform4fv +GLAD_API_CALL PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB; +GLAD_API_CALL PFNGLUNIFORM4FVARBPROC glad_debug_glUniform4fvARB; +#define glUniform4fvARB glad_debug_glUniform4fvARB +GLAD_API_CALL PFNGLUNIFORM4IPROC glad_glUniform4i; +GLAD_API_CALL PFNGLUNIFORM4IPROC glad_debug_glUniform4i; +#define glUniform4i glad_debug_glUniform4i +GLAD_API_CALL PFNGLUNIFORM4IARBPROC glad_glUniform4iARB; +GLAD_API_CALL PFNGLUNIFORM4IARBPROC glad_debug_glUniform4iARB; +#define glUniform4iARB glad_debug_glUniform4iARB +GLAD_API_CALL PFNGLUNIFORM4IVPROC glad_glUniform4iv; +GLAD_API_CALL PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv; +#define glUniform4iv glad_debug_glUniform4iv +GLAD_API_CALL PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB; +GLAD_API_CALL PFNGLUNIFORM4IVARBPROC glad_debug_glUniform4ivARB; +#define glUniform4ivARB glad_debug_glUniform4ivARB +GLAD_API_CALL PFNGLUNIFORM4UIPROC glad_glUniform4ui; +GLAD_API_CALL PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui; +#define glUniform4ui glad_debug_glUniform4ui +GLAD_API_CALL PFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT; +GLAD_API_CALL PFNGLUNIFORM4UIEXTPROC glad_debug_glUniform4uiEXT; +#define glUniform4uiEXT glad_debug_glUniform4uiEXT +GLAD_API_CALL PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +GLAD_API_CALL PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv; +#define glUniform4uiv glad_debug_glUniform4uiv +GLAD_API_CALL PFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT; +GLAD_API_CALL PFNGLUNIFORM4UIVEXTPROC glad_debug_glUniform4uivEXT; +#define glUniform4uivEXT glad_debug_glUniform4uivEXT +GLAD_API_CALL PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +GLAD_API_CALL PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding; +#define glUniformBlockBinding glad_debug_glUniformBlockBinding +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB; +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64ARBPROC glad_debug_glUniformHandleui64ARB; +#define glUniformHandleui64ARB glad_debug_glUniformHandleui64ARB +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV; +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64NVPROC glad_debug_glUniformHandleui64NV; +#define glUniformHandleui64NV glad_debug_glUniformHandleui64NV +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB; +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64VARBPROC glad_debug_glUniformHandleui64vARB; +#define glUniformHandleui64vARB glad_debug_glUniformHandleui64vARB +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV; +GLAD_API_CALL PFNGLUNIFORMHANDLEUI64VNVPROC glad_debug_glUniformHandleui64vNV; +#define glUniformHandleui64vNV glad_debug_glUniformHandleui64vNV +GLAD_API_CALL PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2DVPROC glad_debug_glUniformMatrix2dv; +#define glUniformMatrix2dv glad_debug_glUniformMatrix2dv +GLAD_API_CALL PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv; +#define glUniformMatrix2fv glad_debug_glUniformMatrix2fv +GLAD_API_CALL PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB; +GLAD_API_CALL PFNGLUNIFORMMATRIX2FVARBPROC glad_debug_glUniformMatrix2fvARB; +#define glUniformMatrix2fvARB glad_debug_glUniformMatrix2fvARB +GLAD_API_CALL PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2X3DVPROC glad_debug_glUniformMatrix2x3dv; +#define glUniformMatrix2x3dv glad_debug_glUniformMatrix2x3dv +GLAD_API_CALL PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv; +#define glUniformMatrix2x3fv glad_debug_glUniformMatrix2x3fv +GLAD_API_CALL PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2X4DVPROC glad_debug_glUniformMatrix2x4dv; +#define glUniformMatrix2x4dv glad_debug_glUniformMatrix2x4dv +GLAD_API_CALL PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv; +#define glUniformMatrix2x4fv glad_debug_glUniformMatrix2x4fv +GLAD_API_CALL PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3DVPROC glad_debug_glUniformMatrix3dv; +#define glUniformMatrix3dv glad_debug_glUniformMatrix3dv +GLAD_API_CALL PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv; +#define glUniformMatrix3fv glad_debug_glUniformMatrix3fv +GLAD_API_CALL PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB; +GLAD_API_CALL PFNGLUNIFORMMATRIX3FVARBPROC glad_debug_glUniformMatrix3fvARB; +#define glUniformMatrix3fvARB glad_debug_glUniformMatrix3fvARB +GLAD_API_CALL PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3X2DVPROC glad_debug_glUniformMatrix3x2dv; +#define glUniformMatrix3x2dv glad_debug_glUniformMatrix3x2dv +GLAD_API_CALL PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv; +#define glUniformMatrix3x2fv glad_debug_glUniformMatrix3x2fv +GLAD_API_CALL PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3X4DVPROC glad_debug_glUniformMatrix3x4dv; +#define glUniformMatrix3x4dv glad_debug_glUniformMatrix3x4dv +GLAD_API_CALL PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv; +#define glUniformMatrix3x4fv glad_debug_glUniformMatrix3x4fv +GLAD_API_CALL PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4DVPROC glad_debug_glUniformMatrix4dv; +#define glUniformMatrix4dv glad_debug_glUniformMatrix4dv +GLAD_API_CALL PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv; +#define glUniformMatrix4fv glad_debug_glUniformMatrix4fv +GLAD_API_CALL PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB; +GLAD_API_CALL PFNGLUNIFORMMATRIX4FVARBPROC glad_debug_glUniformMatrix4fvARB; +#define glUniformMatrix4fvARB glad_debug_glUniformMatrix4fvARB +GLAD_API_CALL PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4X2DVPROC glad_debug_glUniformMatrix4x2dv; +#define glUniformMatrix4x2dv glad_debug_glUniformMatrix4x2dv +GLAD_API_CALL PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv; +#define glUniformMatrix4x2fv glad_debug_glUniformMatrix4x2fv +GLAD_API_CALL PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4X3DVPROC glad_debug_glUniformMatrix4x3dv; +#define glUniformMatrix4x3dv glad_debug_glUniformMatrix4x3dv +GLAD_API_CALL PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +GLAD_API_CALL PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv; +#define glUniformMatrix4x3fv glad_debug_glUniformMatrix4x3fv +GLAD_API_CALL PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv; +GLAD_API_CALL PFNGLUNIFORMSUBROUTINESUIVPROC glad_debug_glUniformSubroutinesuiv; +#define glUniformSubroutinesuiv glad_debug_glUniformSubroutinesuiv +GLAD_API_CALL PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +GLAD_API_CALL PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer; +#define glUnmapBuffer glad_debug_glUnmapBuffer +GLAD_API_CALL PFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB; +GLAD_API_CALL PFNGLUNMAPBUFFERARBPROC glad_debug_glUnmapBufferARB; +#define glUnmapBufferARB glad_debug_glUnmapBufferARB +GLAD_API_CALL PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer; +GLAD_API_CALL PFNGLUNMAPNAMEDBUFFERPROC glad_debug_glUnmapNamedBuffer; +#define glUnmapNamedBuffer glad_debug_glUnmapNamedBuffer +GLAD_API_CALL PFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT; +GLAD_API_CALL PFNGLUNMAPNAMEDBUFFEREXTPROC glad_debug_glUnmapNamedBufferEXT; +#define glUnmapNamedBufferEXT glad_debug_glUnmapNamedBufferEXT +GLAD_API_CALL PFNGLUSEPROGRAMPROC glad_glUseProgram; +GLAD_API_CALL PFNGLUSEPROGRAMPROC glad_debug_glUseProgram; +#define glUseProgram glad_debug_glUseProgram +GLAD_API_CALL PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB; +GLAD_API_CALL PFNGLUSEPROGRAMOBJECTARBPROC glad_debug_glUseProgramObjectARB; +#define glUseProgramObjectARB glad_debug_glUseProgramObjectARB +GLAD_API_CALL PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages; +GLAD_API_CALL PFNGLUSEPROGRAMSTAGESPROC glad_debug_glUseProgramStages; +#define glUseProgramStages glad_debug_glUseProgramStages +GLAD_API_CALL PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +GLAD_API_CALL PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram; +#define glValidateProgram glad_debug_glValidateProgram +GLAD_API_CALL PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB; +GLAD_API_CALL PFNGLVALIDATEPROGRAMARBPROC glad_debug_glValidateProgramARB; +#define glValidateProgramARB glad_debug_glValidateProgramARB +GLAD_API_CALL PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline; +GLAD_API_CALL PFNGLVALIDATEPROGRAMPIPELINEPROC glad_debug_glValidateProgramPipeline; +#define glValidateProgramPipeline glad_debug_glValidateProgramPipeline +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding; +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_debug_glVertexArrayAttribBinding; +#define glVertexArrayAttribBinding glad_debug_glVertexArrayAttribBinding +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat; +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBFORMATPROC glad_debug_glVertexArrayAttribFormat; +#define glVertexArrayAttribFormat glad_debug_glVertexArrayAttribFormat +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat; +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_debug_glVertexArrayAttribIFormat; +#define glVertexArrayAttribIFormat glad_debug_glVertexArrayAttribIFormat +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat; +GLAD_API_CALL PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_debug_glVertexArrayAttribLFormat; +#define glVertexArrayAttribLFormat glad_debug_glVertexArrayAttribLFormat +GLAD_API_CALL PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT; +GLAD_API_CALL PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_debug_glVertexArrayBindVertexBufferEXT; +#define glVertexArrayBindVertexBufferEXT glad_debug_glVertexArrayBindVertexBufferEXT +GLAD_API_CALL PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor; +GLAD_API_CALL PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_debug_glVertexArrayBindingDivisor; +#define glVertexArrayBindingDivisor glad_debug_glVertexArrayBindingDivisor +GLAD_API_CALL PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_debug_glVertexArrayColorOffsetEXT; +#define glVertexArrayColorOffsetEXT glad_debug_glVertexArrayColorOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_debug_glVertexArrayEdgeFlagOffsetEXT; +#define glVertexArrayEdgeFlagOffsetEXT glad_debug_glVertexArrayEdgeFlagOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer; +GLAD_API_CALL PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_debug_glVertexArrayElementBuffer; +#define glVertexArrayElementBuffer glad_debug_glVertexArrayElementBuffer +GLAD_API_CALL PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_debug_glVertexArrayFogCoordOffsetEXT; +#define glVertexArrayFogCoordOffsetEXT glad_debug_glVertexArrayFogCoordOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_debug_glVertexArrayIndexOffsetEXT; +#define glVertexArrayIndexOffsetEXT glad_debug_glVertexArrayIndexOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_debug_glVertexArrayMultiTexCoordOffsetEXT; +#define glVertexArrayMultiTexCoordOffsetEXT glad_debug_glVertexArrayMultiTexCoordOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_debug_glVertexArrayNormalOffsetEXT; +#define glVertexArrayNormalOffsetEXT glad_debug_glVertexArrayNormalOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_debug_glVertexArraySecondaryColorOffsetEXT; +#define glVertexArraySecondaryColorOffsetEXT glad_debug_glVertexArraySecondaryColorOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_debug_glVertexArrayTexCoordOffsetEXT; +#define glVertexArrayTexCoordOffsetEXT glad_debug_glVertexArrayTexCoordOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_debug_glVertexArrayVertexAttribBindingEXT; +#define glVertexArrayVertexAttribBindingEXT glad_debug_glVertexArrayVertexAttribBindingEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_debug_glVertexArrayVertexAttribDivisorEXT; +#define glVertexArrayVertexAttribDivisorEXT glad_debug_glVertexArrayVertexAttribDivisorEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_debug_glVertexArrayVertexAttribFormatEXT; +#define glVertexArrayVertexAttribFormatEXT glad_debug_glVertexArrayVertexAttribFormatEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_debug_glVertexArrayVertexAttribIFormatEXT; +#define glVertexArrayVertexAttribIFormatEXT glad_debug_glVertexArrayVertexAttribIFormatEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribIOffsetEXT; +#define glVertexArrayVertexAttribIOffsetEXT glad_debug_glVertexArrayVertexAttribIOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_debug_glVertexArrayVertexAttribLFormatEXT; +#define glVertexArrayVertexAttribLFormatEXT glad_debug_glVertexArrayVertexAttribLFormatEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribLOffsetEXT; +#define glVertexArrayVertexAttribLOffsetEXT glad_debug_glVertexArrayVertexAttribLOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribOffsetEXT; +#define glVertexArrayVertexAttribOffsetEXT glad_debug_glVertexArrayVertexAttribOffsetEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_debug_glVertexArrayVertexBindingDivisorEXT; +#define glVertexArrayVertexBindingDivisorEXT glad_debug_glVertexArrayVertexBindingDivisorEXT +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_debug_glVertexArrayVertexBuffer; +#define glVertexArrayVertexBuffer glad_debug_glVertexArrayVertexBuffer +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_debug_glVertexArrayVertexBuffers; +#define glVertexArrayVertexBuffers glad_debug_glVertexArrayVertexBuffers +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT; +GLAD_API_CALL PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_debug_glVertexArrayVertexOffsetEXT; +#define glVertexArrayVertexOffsetEXT glad_debug_glVertexArrayVertexOffsetEXT +GLAD_API_CALL PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +GLAD_API_CALL PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d; +#define glVertexAttrib1d glad_debug_glVertexAttrib1d +GLAD_API_CALL PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1DARBPROC glad_debug_glVertexAttrib1dARB; +#define glVertexAttrib1dARB glad_debug_glVertexAttrib1dARB +GLAD_API_CALL PFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1DNVPROC glad_debug_glVertexAttrib1dNV; +#define glVertexAttrib1dNV glad_debug_glVertexAttrib1dNV +GLAD_API_CALL PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +GLAD_API_CALL PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv; +#define glVertexAttrib1dv glad_debug_glVertexAttrib1dv +GLAD_API_CALL PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1DVARBPROC glad_debug_glVertexAttrib1dvARB; +#define glVertexAttrib1dvARB glad_debug_glVertexAttrib1dvARB +GLAD_API_CALL PFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1DVNVPROC glad_debug_glVertexAttrib1dvNV; +#define glVertexAttrib1dvNV glad_debug_glVertexAttrib1dvNV +GLAD_API_CALL PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +GLAD_API_CALL PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f; +#define glVertexAttrib1f glad_debug_glVertexAttrib1f +GLAD_API_CALL PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1FARBPROC glad_debug_glVertexAttrib1fARB; +#define glVertexAttrib1fARB glad_debug_glVertexAttrib1fARB +GLAD_API_CALL PFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1FNVPROC glad_debug_glVertexAttrib1fNV; +#define glVertexAttrib1fNV glad_debug_glVertexAttrib1fNV +GLAD_API_CALL PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +GLAD_API_CALL PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv; +#define glVertexAttrib1fv glad_debug_glVertexAttrib1fv +GLAD_API_CALL PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1FVARBPROC glad_debug_glVertexAttrib1fvARB; +#define glVertexAttrib1fvARB glad_debug_glVertexAttrib1fvARB +GLAD_API_CALL PFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1FVNVPROC glad_debug_glVertexAttrib1fvNV; +#define glVertexAttrib1fvNV glad_debug_glVertexAttrib1fvNV +GLAD_API_CALL PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +GLAD_API_CALL PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s; +#define glVertexAttrib1s glad_debug_glVertexAttrib1s +GLAD_API_CALL PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1SARBPROC glad_debug_glVertexAttrib1sARB; +#define glVertexAttrib1sARB glad_debug_glVertexAttrib1sARB +GLAD_API_CALL PFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1SNVPROC glad_debug_glVertexAttrib1sNV; +#define glVertexAttrib1sNV glad_debug_glVertexAttrib1sNV +GLAD_API_CALL PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +GLAD_API_CALL PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv; +#define glVertexAttrib1sv glad_debug_glVertexAttrib1sv +GLAD_API_CALL PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB; +GLAD_API_CALL PFNGLVERTEXATTRIB1SVARBPROC glad_debug_glVertexAttrib1svARB; +#define glVertexAttrib1svARB glad_debug_glVertexAttrib1svARB +GLAD_API_CALL PFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV; +GLAD_API_CALL PFNGLVERTEXATTRIB1SVNVPROC glad_debug_glVertexAttrib1svNV; +#define glVertexAttrib1svNV glad_debug_glVertexAttrib1svNV +GLAD_API_CALL PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +GLAD_API_CALL PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d; +#define glVertexAttrib2d glad_debug_glVertexAttrib2d +GLAD_API_CALL PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2DARBPROC glad_debug_glVertexAttrib2dARB; +#define glVertexAttrib2dARB glad_debug_glVertexAttrib2dARB +GLAD_API_CALL PFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2DNVPROC glad_debug_glVertexAttrib2dNV; +#define glVertexAttrib2dNV glad_debug_glVertexAttrib2dNV +GLAD_API_CALL PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +GLAD_API_CALL PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv; +#define glVertexAttrib2dv glad_debug_glVertexAttrib2dv +GLAD_API_CALL PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2DVARBPROC glad_debug_glVertexAttrib2dvARB; +#define glVertexAttrib2dvARB glad_debug_glVertexAttrib2dvARB +GLAD_API_CALL PFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2DVNVPROC glad_debug_glVertexAttrib2dvNV; +#define glVertexAttrib2dvNV glad_debug_glVertexAttrib2dvNV +GLAD_API_CALL PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +GLAD_API_CALL PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f; +#define glVertexAttrib2f glad_debug_glVertexAttrib2f +GLAD_API_CALL PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2FARBPROC glad_debug_glVertexAttrib2fARB; +#define glVertexAttrib2fARB glad_debug_glVertexAttrib2fARB +GLAD_API_CALL PFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2FNVPROC glad_debug_glVertexAttrib2fNV; +#define glVertexAttrib2fNV glad_debug_glVertexAttrib2fNV +GLAD_API_CALL PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +GLAD_API_CALL PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv; +#define glVertexAttrib2fv glad_debug_glVertexAttrib2fv +GLAD_API_CALL PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2FVARBPROC glad_debug_glVertexAttrib2fvARB; +#define glVertexAttrib2fvARB glad_debug_glVertexAttrib2fvARB +GLAD_API_CALL PFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2FVNVPROC glad_debug_glVertexAttrib2fvNV; +#define glVertexAttrib2fvNV glad_debug_glVertexAttrib2fvNV +GLAD_API_CALL PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +GLAD_API_CALL PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s; +#define glVertexAttrib2s glad_debug_glVertexAttrib2s +GLAD_API_CALL PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2SARBPROC glad_debug_glVertexAttrib2sARB; +#define glVertexAttrib2sARB glad_debug_glVertexAttrib2sARB +GLAD_API_CALL PFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2SNVPROC glad_debug_glVertexAttrib2sNV; +#define glVertexAttrib2sNV glad_debug_glVertexAttrib2sNV +GLAD_API_CALL PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +GLAD_API_CALL PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv; +#define glVertexAttrib2sv glad_debug_glVertexAttrib2sv +GLAD_API_CALL PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB; +GLAD_API_CALL PFNGLVERTEXATTRIB2SVARBPROC glad_debug_glVertexAttrib2svARB; +#define glVertexAttrib2svARB glad_debug_glVertexAttrib2svARB +GLAD_API_CALL PFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV; +GLAD_API_CALL PFNGLVERTEXATTRIB2SVNVPROC glad_debug_glVertexAttrib2svNV; +#define glVertexAttrib2svNV glad_debug_glVertexAttrib2svNV +GLAD_API_CALL PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +GLAD_API_CALL PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d; +#define glVertexAttrib3d glad_debug_glVertexAttrib3d +GLAD_API_CALL PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3DARBPROC glad_debug_glVertexAttrib3dARB; +#define glVertexAttrib3dARB glad_debug_glVertexAttrib3dARB +GLAD_API_CALL PFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3DNVPROC glad_debug_glVertexAttrib3dNV; +#define glVertexAttrib3dNV glad_debug_glVertexAttrib3dNV +GLAD_API_CALL PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +GLAD_API_CALL PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv; +#define glVertexAttrib3dv glad_debug_glVertexAttrib3dv +GLAD_API_CALL PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3DVARBPROC glad_debug_glVertexAttrib3dvARB; +#define glVertexAttrib3dvARB glad_debug_glVertexAttrib3dvARB +GLAD_API_CALL PFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3DVNVPROC glad_debug_glVertexAttrib3dvNV; +#define glVertexAttrib3dvNV glad_debug_glVertexAttrib3dvNV +GLAD_API_CALL PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +GLAD_API_CALL PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f; +#define glVertexAttrib3f glad_debug_glVertexAttrib3f +GLAD_API_CALL PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3FARBPROC glad_debug_glVertexAttrib3fARB; +#define glVertexAttrib3fARB glad_debug_glVertexAttrib3fARB +GLAD_API_CALL PFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3FNVPROC glad_debug_glVertexAttrib3fNV; +#define glVertexAttrib3fNV glad_debug_glVertexAttrib3fNV +GLAD_API_CALL PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +GLAD_API_CALL PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv; +#define glVertexAttrib3fv glad_debug_glVertexAttrib3fv +GLAD_API_CALL PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3FVARBPROC glad_debug_glVertexAttrib3fvARB; +#define glVertexAttrib3fvARB glad_debug_glVertexAttrib3fvARB +GLAD_API_CALL PFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3FVNVPROC glad_debug_glVertexAttrib3fvNV; +#define glVertexAttrib3fvNV glad_debug_glVertexAttrib3fvNV +GLAD_API_CALL PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +GLAD_API_CALL PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s; +#define glVertexAttrib3s glad_debug_glVertexAttrib3s +GLAD_API_CALL PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3SARBPROC glad_debug_glVertexAttrib3sARB; +#define glVertexAttrib3sARB glad_debug_glVertexAttrib3sARB +GLAD_API_CALL PFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3SNVPROC glad_debug_glVertexAttrib3sNV; +#define glVertexAttrib3sNV glad_debug_glVertexAttrib3sNV +GLAD_API_CALL PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +GLAD_API_CALL PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv; +#define glVertexAttrib3sv glad_debug_glVertexAttrib3sv +GLAD_API_CALL PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB; +GLAD_API_CALL PFNGLVERTEXATTRIB3SVARBPROC glad_debug_glVertexAttrib3svARB; +#define glVertexAttrib3svARB glad_debug_glVertexAttrib3svARB +GLAD_API_CALL PFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV; +GLAD_API_CALL PFNGLVERTEXATTRIB3SVNVPROC glad_debug_glVertexAttrib3svNV; +#define glVertexAttrib3svNV glad_debug_glVertexAttrib3svNV +GLAD_API_CALL PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv; +#define glVertexAttrib4Nbv glad_debug_glVertexAttrib4Nbv +GLAD_API_CALL PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NBVARBPROC glad_debug_glVertexAttrib4NbvARB; +#define glVertexAttrib4NbvARB glad_debug_glVertexAttrib4NbvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv; +#define glVertexAttrib4Niv glad_debug_glVertexAttrib4Niv +GLAD_API_CALL PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NIVARBPROC glad_debug_glVertexAttrib4NivARB; +#define glVertexAttrib4NivARB glad_debug_glVertexAttrib4NivARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv; +#define glVertexAttrib4Nsv glad_debug_glVertexAttrib4Nsv +GLAD_API_CALL PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NSVARBPROC glad_debug_glVertexAttrib4NsvARB; +#define glVertexAttrib4NsvARB glad_debug_glVertexAttrib4NsvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub; +#define glVertexAttrib4Nub glad_debug_glVertexAttrib4Nub +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBARBPROC glad_debug_glVertexAttrib4NubARB; +#define glVertexAttrib4NubARB glad_debug_glVertexAttrib4NubARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv; +#define glVertexAttrib4Nubv glad_debug_glVertexAttrib4Nubv +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUBVARBPROC glad_debug_glVertexAttrib4NubvARB; +#define glVertexAttrib4NubvARB glad_debug_glVertexAttrib4NubvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv; +#define glVertexAttrib4Nuiv glad_debug_glVertexAttrib4Nuiv +GLAD_API_CALL PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUIVARBPROC glad_debug_glVertexAttrib4NuivARB; +#define glVertexAttrib4NuivARB glad_debug_glVertexAttrib4NuivARB +GLAD_API_CALL PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv; +#define glVertexAttrib4Nusv glad_debug_glVertexAttrib4Nusv +GLAD_API_CALL PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4NUSVARBPROC glad_debug_glVertexAttrib4NusvARB; +#define glVertexAttrib4NusvARB glad_debug_glVertexAttrib4NusvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +GLAD_API_CALL PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv; +#define glVertexAttrib4bv glad_debug_glVertexAttrib4bv +GLAD_API_CALL PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4BVARBPROC glad_debug_glVertexAttrib4bvARB; +#define glVertexAttrib4bvARB glad_debug_glVertexAttrib4bvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +GLAD_API_CALL PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d; +#define glVertexAttrib4d glad_debug_glVertexAttrib4d +GLAD_API_CALL PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4DARBPROC glad_debug_glVertexAttrib4dARB; +#define glVertexAttrib4dARB glad_debug_glVertexAttrib4dARB +GLAD_API_CALL PFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4DNVPROC glad_debug_glVertexAttrib4dNV; +#define glVertexAttrib4dNV glad_debug_glVertexAttrib4dNV +GLAD_API_CALL PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +GLAD_API_CALL PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv; +#define glVertexAttrib4dv glad_debug_glVertexAttrib4dv +GLAD_API_CALL PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4DVARBPROC glad_debug_glVertexAttrib4dvARB; +#define glVertexAttrib4dvARB glad_debug_glVertexAttrib4dvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4DVNVPROC glad_debug_glVertexAttrib4dvNV; +#define glVertexAttrib4dvNV glad_debug_glVertexAttrib4dvNV +GLAD_API_CALL PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +GLAD_API_CALL PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f; +#define glVertexAttrib4f glad_debug_glVertexAttrib4f +GLAD_API_CALL PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4FARBPROC glad_debug_glVertexAttrib4fARB; +#define glVertexAttrib4fARB glad_debug_glVertexAttrib4fARB +GLAD_API_CALL PFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4FNVPROC glad_debug_glVertexAttrib4fNV; +#define glVertexAttrib4fNV glad_debug_glVertexAttrib4fNV +GLAD_API_CALL PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +GLAD_API_CALL PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv; +#define glVertexAttrib4fv glad_debug_glVertexAttrib4fv +GLAD_API_CALL PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4FVARBPROC glad_debug_glVertexAttrib4fvARB; +#define glVertexAttrib4fvARB glad_debug_glVertexAttrib4fvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4FVNVPROC glad_debug_glVertexAttrib4fvNV; +#define glVertexAttrib4fvNV glad_debug_glVertexAttrib4fvNV +GLAD_API_CALL PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +GLAD_API_CALL PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv; +#define glVertexAttrib4iv glad_debug_glVertexAttrib4iv +GLAD_API_CALL PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4IVARBPROC glad_debug_glVertexAttrib4ivARB; +#define glVertexAttrib4ivARB glad_debug_glVertexAttrib4ivARB +GLAD_API_CALL PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +GLAD_API_CALL PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s; +#define glVertexAttrib4s glad_debug_glVertexAttrib4s +GLAD_API_CALL PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4SARBPROC glad_debug_glVertexAttrib4sARB; +#define glVertexAttrib4sARB glad_debug_glVertexAttrib4sARB +GLAD_API_CALL PFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4SNVPROC glad_debug_glVertexAttrib4sNV; +#define glVertexAttrib4sNV glad_debug_glVertexAttrib4sNV +GLAD_API_CALL PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +GLAD_API_CALL PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv; +#define glVertexAttrib4sv glad_debug_glVertexAttrib4sv +GLAD_API_CALL PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4SVARBPROC glad_debug_glVertexAttrib4svARB; +#define glVertexAttrib4svARB glad_debug_glVertexAttrib4svARB +GLAD_API_CALL PFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4SVNVPROC glad_debug_glVertexAttrib4svNV; +#define glVertexAttrib4svNV glad_debug_glVertexAttrib4svNV +GLAD_API_CALL PFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4UBNVPROC glad_debug_glVertexAttrib4ubNV; +#define glVertexAttrib4ubNV glad_debug_glVertexAttrib4ubNV +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv; +#define glVertexAttrib4ubv glad_debug_glVertexAttrib4ubv +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVARBPROC glad_debug_glVertexAttrib4ubvARB; +#define glVertexAttrib4ubvARB glad_debug_glVertexAttrib4ubvARB +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV; +GLAD_API_CALL PFNGLVERTEXATTRIB4UBVNVPROC glad_debug_glVertexAttrib4ubvNV; +#define glVertexAttrib4ubvNV glad_debug_glVertexAttrib4ubvNV +GLAD_API_CALL PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +GLAD_API_CALL PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv; +#define glVertexAttrib4uiv glad_debug_glVertexAttrib4uiv +GLAD_API_CALL PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4UIVARBPROC glad_debug_glVertexAttrib4uivARB; +#define glVertexAttrib4uivARB glad_debug_glVertexAttrib4uivARB +GLAD_API_CALL PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +GLAD_API_CALL PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv; +#define glVertexAttrib4usv glad_debug_glVertexAttrib4usv +GLAD_API_CALL PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB; +GLAD_API_CALL PFNGLVERTEXATTRIB4USVARBPROC glad_debug_glVertexAttrib4usvARB; +#define glVertexAttrib4usvARB glad_debug_glVertexAttrib4usvARB +GLAD_API_CALL PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding; +GLAD_API_CALL PFNGLVERTEXATTRIBBINDINGPROC glad_debug_glVertexAttribBinding; +#define glVertexAttribBinding glad_debug_glVertexAttribBinding +GLAD_API_CALL PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +GLAD_API_CALL PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor; +#define glVertexAttribDivisor glad_debug_glVertexAttribDivisor +GLAD_API_CALL PFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB; +GLAD_API_CALL PFNGLVERTEXATTRIBDIVISORARBPROC glad_debug_glVertexAttribDivisorARB; +#define glVertexAttribDivisorARB glad_debug_glVertexAttribDivisorARB +GLAD_API_CALL PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat; +GLAD_API_CALL PFNGLVERTEXATTRIBFORMATPROC glad_debug_glVertexAttribFormat; +#define glVertexAttribFormat glad_debug_glVertexAttribFormat +GLAD_API_CALL PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +GLAD_API_CALL PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i; +#define glVertexAttribI1i glad_debug_glVertexAttribI1i +GLAD_API_CALL PFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI1IEXTPROC glad_debug_glVertexAttribI1iEXT; +#define glVertexAttribI1iEXT glad_debug_glVertexAttribI1iEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +GLAD_API_CALL PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv; +#define glVertexAttribI1iv glad_debug_glVertexAttribI1iv +GLAD_API_CALL PFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI1IVEXTPROC glad_debug_glVertexAttribI1ivEXT; +#define glVertexAttribI1ivEXT glad_debug_glVertexAttribI1ivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui; +#define glVertexAttribI1ui glad_debug_glVertexAttribI1ui +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIEXTPROC glad_debug_glVertexAttribI1uiEXT; +#define glVertexAttribI1uiEXT glad_debug_glVertexAttribI1uiEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv; +#define glVertexAttribI1uiv glad_debug_glVertexAttribI1uiv +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI1UIVEXTPROC glad_debug_glVertexAttribI1uivEXT; +#define glVertexAttribI1uivEXT glad_debug_glVertexAttribI1uivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +GLAD_API_CALL PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i; +#define glVertexAttribI2i glad_debug_glVertexAttribI2i +GLAD_API_CALL PFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI2IEXTPROC glad_debug_glVertexAttribI2iEXT; +#define glVertexAttribI2iEXT glad_debug_glVertexAttribI2iEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +GLAD_API_CALL PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv; +#define glVertexAttribI2iv glad_debug_glVertexAttribI2iv +GLAD_API_CALL PFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI2IVEXTPROC glad_debug_glVertexAttribI2ivEXT; +#define glVertexAttribI2ivEXT glad_debug_glVertexAttribI2ivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui; +#define glVertexAttribI2ui glad_debug_glVertexAttribI2ui +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIEXTPROC glad_debug_glVertexAttribI2uiEXT; +#define glVertexAttribI2uiEXT glad_debug_glVertexAttribI2uiEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv; +#define glVertexAttribI2uiv glad_debug_glVertexAttribI2uiv +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI2UIVEXTPROC glad_debug_glVertexAttribI2uivEXT; +#define glVertexAttribI2uivEXT glad_debug_glVertexAttribI2uivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +GLAD_API_CALL PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i; +#define glVertexAttribI3i glad_debug_glVertexAttribI3i +GLAD_API_CALL PFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI3IEXTPROC glad_debug_glVertexAttribI3iEXT; +#define glVertexAttribI3iEXT glad_debug_glVertexAttribI3iEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +GLAD_API_CALL PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv; +#define glVertexAttribI3iv glad_debug_glVertexAttribI3iv +GLAD_API_CALL PFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI3IVEXTPROC glad_debug_glVertexAttribI3ivEXT; +#define glVertexAttribI3ivEXT glad_debug_glVertexAttribI3ivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui; +#define glVertexAttribI3ui glad_debug_glVertexAttribI3ui +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIEXTPROC glad_debug_glVertexAttribI3uiEXT; +#define glVertexAttribI3uiEXT glad_debug_glVertexAttribI3uiEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv; +#define glVertexAttribI3uiv glad_debug_glVertexAttribI3uiv +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI3UIVEXTPROC glad_debug_glVertexAttribI3uivEXT; +#define glVertexAttribI3uivEXT glad_debug_glVertexAttribI3uivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv; +#define glVertexAttribI4bv glad_debug_glVertexAttribI4bv +GLAD_API_CALL PFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4BVEXTPROC glad_debug_glVertexAttribI4bvEXT; +#define glVertexAttribI4bvEXT glad_debug_glVertexAttribI4bvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +GLAD_API_CALL PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i; +#define glVertexAttribI4i glad_debug_glVertexAttribI4i +GLAD_API_CALL PFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4IEXTPROC glad_debug_glVertexAttribI4iEXT; +#define glVertexAttribI4iEXT glad_debug_glVertexAttribI4iEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv; +#define glVertexAttribI4iv glad_debug_glVertexAttribI4iv +GLAD_API_CALL PFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4IVEXTPROC glad_debug_glVertexAttribI4ivEXT; +#define glVertexAttribI4ivEXT glad_debug_glVertexAttribI4ivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv; +#define glVertexAttribI4sv glad_debug_glVertexAttribI4sv +GLAD_API_CALL PFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4SVEXTPROC glad_debug_glVertexAttribI4svEXT; +#define glVertexAttribI4svEXT glad_debug_glVertexAttribI4svEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv; +#define glVertexAttribI4ubv glad_debug_glVertexAttribI4ubv +GLAD_API_CALL PFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UBVEXTPROC glad_debug_glVertexAttribI4ubvEXT; +#define glVertexAttribI4ubvEXT glad_debug_glVertexAttribI4ubvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui; +#define glVertexAttribI4ui glad_debug_glVertexAttribI4ui +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIEXTPROC glad_debug_glVertexAttribI4uiEXT; +#define glVertexAttribI4uiEXT glad_debug_glVertexAttribI4uiEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv; +#define glVertexAttribI4uiv glad_debug_glVertexAttribI4uiv +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4UIVEXTPROC glad_debug_glVertexAttribI4uivEXT; +#define glVertexAttribI4uivEXT glad_debug_glVertexAttribI4uivEXT +GLAD_API_CALL PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +GLAD_API_CALL PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv; +#define glVertexAttribI4usv glad_debug_glVertexAttribI4usv +GLAD_API_CALL PFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBI4USVEXTPROC glad_debug_glVertexAttribI4usvEXT; +#define glVertexAttribI4usvEXT glad_debug_glVertexAttribI4usvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat; +GLAD_API_CALL PFNGLVERTEXATTRIBIFORMATPROC glad_debug_glVertexAttribIFormat; +#define glVertexAttribIFormat glad_debug_glVertexAttribIFormat +GLAD_API_CALL PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +GLAD_API_CALL PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer; +#define glVertexAttribIPointer glad_debug_glVertexAttribIPointer +GLAD_API_CALL PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_debug_glVertexAttribIPointerEXT; +#define glVertexAttribIPointerEXT glad_debug_glVertexAttribIPointerEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d; +GLAD_API_CALL PFNGLVERTEXATTRIBL1DPROC glad_debug_glVertexAttribL1d; +#define glVertexAttribL1d glad_debug_glVertexAttribL1d +GLAD_API_CALL PFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL1DEXTPROC glad_debug_glVertexAttribL1dEXT; +#define glVertexAttribL1dEXT glad_debug_glVertexAttribL1dEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv; +GLAD_API_CALL PFNGLVERTEXATTRIBL1DVPROC glad_debug_glVertexAttribL1dv; +#define glVertexAttribL1dv glad_debug_glVertexAttribL1dv +GLAD_API_CALL PFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL1DVEXTPROC glad_debug_glVertexAttribL1dvEXT; +#define glVertexAttribL1dvEXT glad_debug_glVertexAttribL1dvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB; +GLAD_API_CALL PFNGLVERTEXATTRIBL1UI64ARBPROC glad_debug_glVertexAttribL1ui64ARB; +#define glVertexAttribL1ui64ARB glad_debug_glVertexAttribL1ui64ARB +GLAD_API_CALL PFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB; +GLAD_API_CALL PFNGLVERTEXATTRIBL1UI64VARBPROC glad_debug_glVertexAttribL1ui64vARB; +#define glVertexAttribL1ui64vARB glad_debug_glVertexAttribL1ui64vARB +GLAD_API_CALL PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d; +GLAD_API_CALL PFNGLVERTEXATTRIBL2DPROC glad_debug_glVertexAttribL2d; +#define glVertexAttribL2d glad_debug_glVertexAttribL2d +GLAD_API_CALL PFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL2DEXTPROC glad_debug_glVertexAttribL2dEXT; +#define glVertexAttribL2dEXT glad_debug_glVertexAttribL2dEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv; +GLAD_API_CALL PFNGLVERTEXATTRIBL2DVPROC glad_debug_glVertexAttribL2dv; +#define glVertexAttribL2dv glad_debug_glVertexAttribL2dv +GLAD_API_CALL PFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL2DVEXTPROC glad_debug_glVertexAttribL2dvEXT; +#define glVertexAttribL2dvEXT glad_debug_glVertexAttribL2dvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d; +GLAD_API_CALL PFNGLVERTEXATTRIBL3DPROC glad_debug_glVertexAttribL3d; +#define glVertexAttribL3d glad_debug_glVertexAttribL3d +GLAD_API_CALL PFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL3DEXTPROC glad_debug_glVertexAttribL3dEXT; +#define glVertexAttribL3dEXT glad_debug_glVertexAttribL3dEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv; +GLAD_API_CALL PFNGLVERTEXATTRIBL3DVPROC glad_debug_glVertexAttribL3dv; +#define glVertexAttribL3dv glad_debug_glVertexAttribL3dv +GLAD_API_CALL PFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL3DVEXTPROC glad_debug_glVertexAttribL3dvEXT; +#define glVertexAttribL3dvEXT glad_debug_glVertexAttribL3dvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d; +GLAD_API_CALL PFNGLVERTEXATTRIBL4DPROC glad_debug_glVertexAttribL4d; +#define glVertexAttribL4d glad_debug_glVertexAttribL4d +GLAD_API_CALL PFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL4DEXTPROC glad_debug_glVertexAttribL4dEXT; +#define glVertexAttribL4dEXT glad_debug_glVertexAttribL4dEXT +GLAD_API_CALL PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv; +GLAD_API_CALL PFNGLVERTEXATTRIBL4DVPROC glad_debug_glVertexAttribL4dv; +#define glVertexAttribL4dv glad_debug_glVertexAttribL4dv +GLAD_API_CALL PFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBL4DVEXTPROC glad_debug_glVertexAttribL4dvEXT; +#define glVertexAttribL4dvEXT glad_debug_glVertexAttribL4dvEXT +GLAD_API_CALL PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat; +GLAD_API_CALL PFNGLVERTEXATTRIBLFORMATPROC glad_debug_glVertexAttribLFormat; +#define glVertexAttribLFormat glad_debug_glVertexAttribLFormat +GLAD_API_CALL PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer; +GLAD_API_CALL PFNGLVERTEXATTRIBLPOINTERPROC glad_debug_glVertexAttribLPointer; +#define glVertexAttribLPointer glad_debug_glVertexAttribLPointer +GLAD_API_CALL PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT; +GLAD_API_CALL PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_debug_glVertexAttribLPointerEXT; +#define glVertexAttribLPointerEXT glad_debug_glVertexAttribLPointerEXT +GLAD_API_CALL PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +GLAD_API_CALL PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui; +#define glVertexAttribP1ui glad_debug_glVertexAttribP1ui +GLAD_API_CALL PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv; +#define glVertexAttribP1uiv glad_debug_glVertexAttribP1uiv +GLAD_API_CALL PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +GLAD_API_CALL PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui; +#define glVertexAttribP2ui glad_debug_glVertexAttribP2ui +GLAD_API_CALL PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv; +#define glVertexAttribP2uiv glad_debug_glVertexAttribP2uiv +GLAD_API_CALL PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +GLAD_API_CALL PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui; +#define glVertexAttribP3ui glad_debug_glVertexAttribP3ui +GLAD_API_CALL PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv; +#define glVertexAttribP3uiv glad_debug_glVertexAttribP3uiv +GLAD_API_CALL PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +GLAD_API_CALL PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui; +#define glVertexAttribP4ui glad_debug_glVertexAttribP4ui +GLAD_API_CALL PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +GLAD_API_CALL PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv; +#define glVertexAttribP4uiv glad_debug_glVertexAttribP4uiv +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer; +#define glVertexAttribPointer glad_debug_glVertexAttribPointer +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB; +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERARBPROC glad_debug_glVertexAttribPointerARB; +#define glVertexAttribPointerARB glad_debug_glVertexAttribPointerARB +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV; +GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERNVPROC glad_debug_glVertexAttribPointerNV; +#define glVertexAttribPointerNV glad_debug_glVertexAttribPointerNV +GLAD_API_CALL PFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS1DVNVPROC glad_debug_glVertexAttribs1dvNV; +#define glVertexAttribs1dvNV glad_debug_glVertexAttribs1dvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS1FVNVPROC glad_debug_glVertexAttribs1fvNV; +#define glVertexAttribs1fvNV glad_debug_glVertexAttribs1fvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS1SVNVPROC glad_debug_glVertexAttribs1svNV; +#define glVertexAttribs1svNV glad_debug_glVertexAttribs1svNV +GLAD_API_CALL PFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS2DVNVPROC glad_debug_glVertexAttribs2dvNV; +#define glVertexAttribs2dvNV glad_debug_glVertexAttribs2dvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS2FVNVPROC glad_debug_glVertexAttribs2fvNV; +#define glVertexAttribs2fvNV glad_debug_glVertexAttribs2fvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS2SVNVPROC glad_debug_glVertexAttribs2svNV; +#define glVertexAttribs2svNV glad_debug_glVertexAttribs2svNV +GLAD_API_CALL PFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS3DVNVPROC glad_debug_glVertexAttribs3dvNV; +#define glVertexAttribs3dvNV glad_debug_glVertexAttribs3dvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS3FVNVPROC glad_debug_glVertexAttribs3fvNV; +#define glVertexAttribs3fvNV glad_debug_glVertexAttribs3fvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS3SVNVPROC glad_debug_glVertexAttribs3svNV; +#define glVertexAttribs3svNV glad_debug_glVertexAttribs3svNV +GLAD_API_CALL PFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS4DVNVPROC glad_debug_glVertexAttribs4dvNV; +#define glVertexAttribs4dvNV glad_debug_glVertexAttribs4dvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS4FVNVPROC glad_debug_glVertexAttribs4fvNV; +#define glVertexAttribs4fvNV glad_debug_glVertexAttribs4fvNV +GLAD_API_CALL PFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS4SVNVPROC glad_debug_glVertexAttribs4svNV; +#define glVertexAttribs4svNV glad_debug_glVertexAttribs4svNV +GLAD_API_CALL PFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV; +GLAD_API_CALL PFNGLVERTEXATTRIBS4UBVNVPROC glad_debug_glVertexAttribs4ubvNV; +#define glVertexAttribs4ubvNV glad_debug_glVertexAttribs4ubvNV +GLAD_API_CALL PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor; +GLAD_API_CALL PFNGLVERTEXBINDINGDIVISORPROC glad_debug_glVertexBindingDivisor; +#define glVertexBindingDivisor glad_debug_glVertexBindingDivisor +GLAD_API_CALL PFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT; +GLAD_API_CALL PFNGLVERTEXPOINTEREXTPROC glad_debug_glVertexPointerEXT; +#define glVertexPointerEXT glad_debug_glVertexPointerEXT +GLAD_API_CALL PFNGLVIEWPORTPROC glad_glViewport; +GLAD_API_CALL PFNGLVIEWPORTPROC glad_debug_glViewport; +#define glViewport glad_debug_glViewport +GLAD_API_CALL PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv; +GLAD_API_CALL PFNGLVIEWPORTARRAYVPROC glad_debug_glViewportArrayv; +#define glViewportArrayv glad_debug_glViewportArrayv +GLAD_API_CALL PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf; +GLAD_API_CALL PFNGLVIEWPORTINDEXEDFPROC glad_debug_glViewportIndexedf; +#define glViewportIndexedf glad_debug_glViewportIndexedf +GLAD_API_CALL PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv; +GLAD_API_CALL PFNGLVIEWPORTINDEXEDFVPROC glad_debug_glViewportIndexedfv; +#define glViewportIndexedfv glad_debug_glViewportIndexedfv +GLAD_API_CALL PFNGLWAITSYNCPROC glad_glWaitSync; +GLAD_API_CALL PFNGLWAITSYNCPROC glad_debug_glWaitSync; +#define glWaitSync glad_debug_glWaitSync + + + + +GLAD_API_CALL void gladSetGLPreCallback(GLADprecallback cb); +GLAD_API_CALL void gladSetGLPostCallback(GLADpostcallback cb); + +GLAD_API_CALL void gladInstallGLDebug(void); +GLAD_API_CALL void gladUninstallGLDebug(void); + +GLAD_API_CALL int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr); +GLAD_API_CALL int gladLoadGL( GLADloadfunc load); + + +#ifdef GLAD_GL + +GLAD_API_CALL int gladLoaderLoadGL(void); +GLAD_API_CALL void gladLoaderUnloadGL(void); + +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/external/glad/include/glad/vulkan.h b/external/glad/include/glad/vulkan.h new file mode 100644 index 0000000..86f36d8 --- /dev/null +++ b/external/glad/include/glad/vulkan.h @@ -0,0 +1,7841 @@ +/** + * Loader generated by glad 2.0.8 on Sat Jul 5 07:10:00 2025 + * + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + * + * Generator: C/C++ + * Specification: vk + * Extensions: 37 + * + * APIs: + * - vulkan=1.4 + * + * Options: + * - ALIAS = True + * - DEBUG = True + * - HEADER_ONLY = False + * - LOADER = True + * - MX = False + * - ON_DEMAND = False + * + * Commandline: + * --api='vulkan=1.4' --extensions='VK_AMD_draw_indirect_count,VK_EXT_buffer_device_address,VK_EXT_extended_dynamic_state,VK_EXT_extended_dynamic_state2,VK_EXT_host_image_copy,VK_EXT_host_query_reset,VK_EXT_image_compression_control,VK_EXT_line_rasterization,VK_EXT_private_data,VK_EXT_shader_object,VK_EXT_tooling_info,VK_KHR_bind_memory2,VK_KHR_buffer_device_address,VK_KHR_copy_commands2,VK_KHR_create_renderpass2,VK_KHR_descriptor_update_template,VK_KHR_device_group,VK_KHR_device_group_creation,VK_KHR_draw_indirect_count,VK_KHR_dynamic_rendering,VK_KHR_dynamic_rendering_local_read,VK_KHR_external_fence_capabilities,VK_KHR_external_memory_capabilities,VK_KHR_external_semaphore_capabilities,VK_KHR_get_memory_requirements2,VK_KHR_get_physical_device_properties2,VK_KHR_line_rasterization,VK_KHR_maintenance1,VK_KHR_maintenance3,VK_KHR_maintenance4,VK_KHR_maintenance5,VK_KHR_maintenance6,VK_KHR_map_memory2,VK_KHR_push_descriptor,VK_KHR_sampler_ycbcr_conversion,VK_KHR_synchronization2,VK_KHR_timeline_semaphore' c --alias --debug --loader + * + * Online: + * http://glad.sh/#api=vulkan%3D1.4&extensions=VK_AMD_draw_indirect_count%2CVK_EXT_buffer_device_address%2CVK_EXT_extended_dynamic_state%2CVK_EXT_extended_dynamic_state2%2CVK_EXT_host_image_copy%2CVK_EXT_host_query_reset%2CVK_EXT_image_compression_control%2CVK_EXT_line_rasterization%2CVK_EXT_private_data%2CVK_EXT_shader_object%2CVK_EXT_tooling_info%2CVK_KHR_bind_memory2%2CVK_KHR_buffer_device_address%2CVK_KHR_copy_commands2%2CVK_KHR_create_renderpass2%2CVK_KHR_descriptor_update_template%2CVK_KHR_device_group%2CVK_KHR_device_group_creation%2CVK_KHR_draw_indirect_count%2CVK_KHR_dynamic_rendering%2CVK_KHR_dynamic_rendering_local_read%2CVK_KHR_external_fence_capabilities%2CVK_KHR_external_memory_capabilities%2CVK_KHR_external_semaphore_capabilities%2CVK_KHR_get_memory_requirements2%2CVK_KHR_get_physical_device_properties2%2CVK_KHR_line_rasterization%2CVK_KHR_maintenance1%2CVK_KHR_maintenance3%2CVK_KHR_maintenance4%2CVK_KHR_maintenance5%2CVK_KHR_maintenance6%2CVK_KHR_map_memory2%2CVK_KHR_push_descriptor%2CVK_KHR_sampler_ycbcr_conversion%2CVK_KHR_synchronization2%2CVK_KHR_timeline_semaphore&generator=c&options=ALIAS%2CDEBUG%2CLOADER + * + */ + +#ifndef GLAD_VULKAN_H_ +#define GLAD_VULKAN_H_ + +#ifdef VULKAN_H_ + #error header already included (API: vulkan), remove previous include! +#endif +#define VULKAN_H_ 1 + +#ifdef VULKAN_CORE_H_ + #error header already included (API: vulkan), remove previous include! +#endif +#define VULKAN_CORE_H_ 1 + + +#define GLAD_VULKAN +#define GLAD_OPTION_VULKAN_ALIAS +#define GLAD_OPTION_VULKAN_DEBUG +#define GLAD_OPTION_VULKAN_LOADER + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef GLAD_PLATFORM_H_ +#define GLAD_PLATFORM_H_ + +#ifndef GLAD_PLATFORM_WIN32 + #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__) + #define GLAD_PLATFORM_WIN32 1 + #else + #define GLAD_PLATFORM_WIN32 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_APPLE + #ifdef __APPLE__ + #define GLAD_PLATFORM_APPLE 1 + #else + #define GLAD_PLATFORM_APPLE 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_EMSCRIPTEN + #ifdef __EMSCRIPTEN__ + #define GLAD_PLATFORM_EMSCRIPTEN 1 + #else + #define GLAD_PLATFORM_EMSCRIPTEN 0 + #endif +#endif + +#ifndef GLAD_PLATFORM_UWP + #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY) + #ifdef __has_include + #if __has_include() + #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 + #endif + #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ + #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 + #endif + #endif + + #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY + #include + #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + #define GLAD_PLATFORM_UWP 1 + #endif + #endif + + #ifndef GLAD_PLATFORM_UWP + #define GLAD_PLATFORM_UWP 0 + #endif +#endif + +#ifdef __GNUC__ + #define GLAD_GNUC_EXTENSION __extension__ +#else + #define GLAD_GNUC_EXTENSION +#endif + +#define GLAD_UNUSED(x) (void)(x) + +#ifndef GLAD_API_CALL + #if defined(GLAD_API_CALL_EXPORT) + #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__) + #if defined(GLAD_API_CALL_EXPORT_BUILD) + #if defined(__GNUC__) + #define GLAD_API_CALL __attribute__ ((dllexport)) extern + #else + #define GLAD_API_CALL __declspec(dllexport) extern + #endif + #else + #if defined(__GNUC__) + #define GLAD_API_CALL __attribute__ ((dllimport)) extern + #else + #define GLAD_API_CALL __declspec(dllimport) extern + #endif + #endif + #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD) + #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern + #else + #define GLAD_API_CALL extern + #endif + #else + #define GLAD_API_CALL extern + #endif +#endif + +#ifdef APIENTRY + #define GLAD_API_PTR APIENTRY +#elif GLAD_PLATFORM_WIN32 + #define GLAD_API_PTR __stdcall +#else + #define GLAD_API_PTR +#endif + +#ifndef GLAPI +#define GLAPI GLAD_API_CALL +#endif + +#ifndef GLAPIENTRY +#define GLAPIENTRY GLAD_API_PTR +#endif + +#define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor) +#define GLAD_VERSION_MAJOR(version) (version / 10000) +#define GLAD_VERSION_MINOR(version) (version % 10000) + +#define GLAD_GENERATOR_VERSION "2.0.8" + +typedef void (*GLADapiproc)(void); + +typedef GLADapiproc (*GLADloadfunc)(const char *name); +typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name); + +typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...); +typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...); + +#endif /* GLAD_PLATFORM_H_ */ + +#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" +#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 +#define VK_ATTACHMENT_UNUSED (~0U) +#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" +#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 +#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" +#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 +#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" +#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 +#define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" +#define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 +#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" +#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 +#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" +#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 +#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" +#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 +#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" +#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 +#define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" +#define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 +#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" +#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 +#define VK_FALSE 0 +#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" +#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 +#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" +#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 +#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" +#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 +#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" +#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 +#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" +#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 +#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" +#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 +#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" +#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 +#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" +#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 +#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" +#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read" +#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1 +#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 +#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" +#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 +#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" +#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 +#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" +#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 +#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" +#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 +#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" +#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 +#define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization" +#define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" +#define VK_KHR_MAINTENANCE1_SPEC_VERSION 2 +#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3" +#define VK_KHR_MAINTENANCE3_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" +#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 +#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" +#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" +#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 +#define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" +#define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" +#define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 +#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" +#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 +#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" +#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 +#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" +#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 +#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" +#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 +#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" +#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 +#define VK_LOD_CLAMP_NONE 1000.0F +#define VK_LUID_SIZE 8 +#define VK_LUID_SIZE_KHR 8 +#define VK_MAX_DESCRIPTION_SIZE 256 +#define VK_MAX_DEVICE_GROUP_SIZE 32 +#define VK_MAX_DEVICE_GROUP_SIZE_KHR 32 +#define VK_MAX_DRIVER_INFO_SIZE 256 +#define VK_MAX_DRIVER_NAME_SIZE 256 +#define VK_MAX_EXTENSION_NAME_SIZE 256 +#define VK_MAX_GLOBAL_PRIORITY_SIZE 16 +#define VK_MAX_MEMORY_HEAPS 16 +#define VK_MAX_MEMORY_TYPES 32 +#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 +#define VK_QUEUE_FAMILY_EXTERNAL (~1U) +#define VK_QUEUE_FAMILY_IGNORED (~0U) +#define VK_REMAINING_ARRAY_LAYERS (~0U) +#define VK_REMAINING_MIP_LEVELS (~0U) +#define VK_SUBPASS_EXTERNAL (~0U) +#define VK_TRUE 1 +#define VK_UUID_SIZE 16 +#define VK_WHOLE_SIZE (~0ULL) + + +#include "vk_platform.h" +#define VK_MAKE_VERSION(major, minor, patch) \ + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) +#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) +#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) +#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) +#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) +/*#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 */ +/* Vulkan 1.0 version number */ +#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)/* Patch version should always be set to 0 */ +/* Vulkan 1.1 version number */ +#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)/* Patch version should always be set to 0 */ +/* Vulkan 1.2 version number */ +#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)/* Patch version should always be set to 0 */ +/* Vulkan 1.3 version number */ +#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)/* Patch version should always be set to 0 */ +/* Vulkan 1.4 version number */ +#define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0)/* Patch version should always be set to 0 */ +/* Version of this file */ +#define VK_HEADER_VERSION 321 +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; +#ifndef VK_USE_64_BIT_PTR_DEFINES + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) + #define VK_USE_64_BIT_PTR_DEFINES 1 + #else + #define VK_USE_64_BIT_PTR_DEFINES 0 + #endif +#endif +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) + #define VK_NULL_HANDLE nullptr + #else + #define VK_NULL_HANDLE ((void*)0) + #endif + #else + #define VK_NULL_HANDLE 0ULL + #endif +#endif +#ifndef VK_NULL_HANDLE + #define VK_NULL_HANDLE 0 +#endif +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #else + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #endif +#endif + + + + + + + + + +VK_DEFINE_HANDLE(VkInstance) +VK_DEFINE_HANDLE(VkPhysicalDevice) +VK_DEFINE_HANDLE(VkDevice) +VK_DEFINE_HANDLE(VkQueue) +VK_DEFINE_HANDLE(VkCommandBuffer) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) +#define VkDescriptorUpdateTemplateKHR VkDescriptorUpdateTemplate +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) +#define VkSamplerYcbcrConversionKHR VkSamplerYcbcrConversion +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) +#define VkPrivateDataSlotEXT VkPrivateDataSlot +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) +typedef enum VkAttachmentLoadOp { + VK_ATTACHMENT_LOAD_OP_LOAD = 0, + VK_ATTACHMENT_LOAD_OP_CLEAR = 1, + VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, + VK_ATTACHMENT_LOAD_OP_NONE = 1000400000, + VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF +} VkAttachmentLoadOp; +typedef enum VkAttachmentStoreOp { + VK_ATTACHMENT_STORE_OP_STORE = 0, + VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, + VK_ATTACHMENT_STORE_OP_NONE = 1000301000, + VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, + VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF +} VkAttachmentStoreOp; +typedef enum VkBlendFactor { + VK_BLEND_FACTOR_ZERO = 0, + VK_BLEND_FACTOR_ONE = 1, + VK_BLEND_FACTOR_SRC_COLOR = 2, + VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, + VK_BLEND_FACTOR_DST_COLOR = 4, + VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, + VK_BLEND_FACTOR_SRC_ALPHA = 6, + VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, + VK_BLEND_FACTOR_DST_ALPHA = 8, + VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, + VK_BLEND_FACTOR_CONSTANT_COLOR = 10, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, + VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, + VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, + VK_BLEND_FACTOR_SRC1_COLOR = 15, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, + VK_BLEND_FACTOR_SRC1_ALPHA = 17, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, + VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF +} VkBlendFactor; +typedef enum VkBlendOp { + VK_BLEND_OP_ADD = 0, + VK_BLEND_OP_SUBTRACT = 1, + VK_BLEND_OP_REVERSE_SUBTRACT = 2, + VK_BLEND_OP_MIN = 3, + VK_BLEND_OP_MAX = 4, + VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF +} VkBlendOp; +typedef enum VkBorderColor { + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, + VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, + VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, + VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, + VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, + VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, + VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF +} VkBorderColor; +typedef enum VkFramebufferCreateFlagBits { + VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 1, + VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkFramebufferCreateFlagBits; +typedef enum VkPipelineCacheHeaderVersion { + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF +} VkPipelineCacheHeaderVersion; +typedef enum VkPipelineCacheCreateFlagBits { + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1, + VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineCacheCreateFlagBits; +typedef enum VkPipelineShaderStageCreateFlagBits { + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1, + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2, + VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineShaderStageCreateFlagBits; +typedef enum VkDescriptorSetLayoutCreateFlagBits { + VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 2, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 1, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkDescriptorSetLayoutCreateFlagBits; +typedef enum VkDeviceQueueCreateFlagBits { + VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1, + VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkDeviceQueueCreateFlagBits; +typedef enum VkBufferCreateFlagBits { + VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1, + VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2, + VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4, + VK_BUFFER_CREATE_PROTECTED_BIT = 8, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 16, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkBufferCreateFlagBits; +typedef enum VkBufferUsageFlagBits { + VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1, + VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2, + VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4, + VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8, + VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16, + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32, + VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64, + VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128, + VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 131072, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkBufferUsageFlagBits; +typedef enum VkColorComponentFlagBits { + VK_COLOR_COMPONENT_R_BIT = 1, + VK_COLOR_COMPONENT_G_BIT = 2, + VK_COLOR_COMPONENT_B_BIT = 4, + VK_COLOR_COMPONENT_A_BIT = 8, + VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkColorComponentFlagBits; +typedef enum VkComponentSwizzle { + VK_COMPONENT_SWIZZLE_IDENTITY = 0, + VK_COMPONENT_SWIZZLE_ZERO = 1, + VK_COMPONENT_SWIZZLE_ONE = 2, + VK_COMPONENT_SWIZZLE_R = 3, + VK_COMPONENT_SWIZZLE_G = 4, + VK_COMPONENT_SWIZZLE_B = 5, + VK_COMPONENT_SWIZZLE_A = 6, + VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF +} VkComponentSwizzle; +typedef enum VkCommandPoolCreateFlagBits { + VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1, + VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2, + VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4, + VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkCommandPoolCreateFlagBits; +typedef enum VkCommandPoolResetFlagBits { + VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1, + VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkCommandPoolResetFlagBits; +typedef enum VkCommandBufferResetFlagBits { + VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1, + VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkCommandBufferResetFlagBits; +typedef enum VkCommandBufferLevel { + VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, + VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, + VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF +} VkCommandBufferLevel; +typedef enum VkCommandBufferUsageFlagBits { + VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1, + VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2, + VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4, + VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkCommandBufferUsageFlagBits; +typedef enum VkCompareOp { + VK_COMPARE_OP_NEVER = 0, + VK_COMPARE_OP_LESS = 1, + VK_COMPARE_OP_EQUAL = 2, + VK_COMPARE_OP_LESS_OR_EQUAL = 3, + VK_COMPARE_OP_GREATER = 4, + VK_COMPARE_OP_NOT_EQUAL = 5, + VK_COMPARE_OP_GREATER_OR_EQUAL = 6, + VK_COMPARE_OP_ALWAYS = 7, + VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF +} VkCompareOp; +typedef enum VkCullModeFlagBits { + VK_CULL_MODE_NONE = 0, + VK_CULL_MODE_FRONT_BIT = 1, + VK_CULL_MODE_BACK_BIT = 2, + VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, + VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkCullModeFlagBits; +typedef enum VkDescriptorType { + VK_DESCRIPTOR_TYPE_SAMPLER = 0, + VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, + VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, + VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, + VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, + VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, + VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, + VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, + VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkDescriptorType; +typedef enum VkDynamicState { + VK_DYNAMIC_STATE_VIEWPORT = 0, + VK_DYNAMIC_STATE_SCISSOR = 1, + VK_DYNAMIC_STATE_LINE_WIDTH = 2, + VK_DYNAMIC_STATE_DEPTH_BIAS = 3, + VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, + VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, + VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, + VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, + VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, + VK_DYNAMIC_STATE_CULL_MODE = 1000267000, + VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, + VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, + VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, + VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, + VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, + VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, + VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, + VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, + VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, + VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, + VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, + VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, + VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, + VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, + VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000, + VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE, + VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, + VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, + VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, + VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, + VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, + VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, + VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, + VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, + VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, + VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, + VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, + VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, + VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, + VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, + VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, + VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE, + VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF +} VkDynamicState; +typedef enum VkFenceCreateFlagBits { + VK_FENCE_CREATE_SIGNALED_BIT = 1, + VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkFenceCreateFlagBits; +typedef enum VkPolygonMode { + VK_POLYGON_MODE_FILL = 0, + VK_POLYGON_MODE_LINE = 1, + VK_POLYGON_MODE_POINT = 2, + VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF +} VkPolygonMode; +typedef enum VkFormat { + VK_FORMAT_UNDEFINED = 0, + VK_FORMAT_R4G4_UNORM_PACK8 = 1, + VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, + VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, + VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, + VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, + VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, + VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, + VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, + VK_FORMAT_R8_UNORM = 9, + VK_FORMAT_R8_SNORM = 10, + VK_FORMAT_R8_USCALED = 11, + VK_FORMAT_R8_SSCALED = 12, + VK_FORMAT_R8_UINT = 13, + VK_FORMAT_R8_SINT = 14, + VK_FORMAT_R8_SRGB = 15, + VK_FORMAT_R8G8_UNORM = 16, + VK_FORMAT_R8G8_SNORM = 17, + VK_FORMAT_R8G8_USCALED = 18, + VK_FORMAT_R8G8_SSCALED = 19, + VK_FORMAT_R8G8_UINT = 20, + VK_FORMAT_R8G8_SINT = 21, + VK_FORMAT_R8G8_SRGB = 22, + VK_FORMAT_R8G8B8_UNORM = 23, + VK_FORMAT_R8G8B8_SNORM = 24, + VK_FORMAT_R8G8B8_USCALED = 25, + VK_FORMAT_R8G8B8_SSCALED = 26, + VK_FORMAT_R8G8B8_UINT = 27, + VK_FORMAT_R8G8B8_SINT = 28, + VK_FORMAT_R8G8B8_SRGB = 29, + VK_FORMAT_B8G8R8_UNORM = 30, + VK_FORMAT_B8G8R8_SNORM = 31, + VK_FORMAT_B8G8R8_USCALED = 32, + VK_FORMAT_B8G8R8_SSCALED = 33, + VK_FORMAT_B8G8R8_UINT = 34, + VK_FORMAT_B8G8R8_SINT = 35, + VK_FORMAT_B8G8R8_SRGB = 36, + VK_FORMAT_R8G8B8A8_UNORM = 37, + VK_FORMAT_R8G8B8A8_SNORM = 38, + VK_FORMAT_R8G8B8A8_USCALED = 39, + VK_FORMAT_R8G8B8A8_SSCALED = 40, + VK_FORMAT_R8G8B8A8_UINT = 41, + VK_FORMAT_R8G8B8A8_SINT = 42, + VK_FORMAT_R8G8B8A8_SRGB = 43, + VK_FORMAT_B8G8R8A8_UNORM = 44, + VK_FORMAT_B8G8R8A8_SNORM = 45, + VK_FORMAT_B8G8R8A8_USCALED = 46, + VK_FORMAT_B8G8R8A8_SSCALED = 47, + VK_FORMAT_B8G8R8A8_UINT = 48, + VK_FORMAT_B8G8R8A8_SINT = 49, + VK_FORMAT_B8G8R8A8_SRGB = 50, + VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, + VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, + VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, + VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, + VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, + VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, + VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, + VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, + VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, + VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, + VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, + VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, + VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, + VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, + VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, + VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, + VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, + VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, + VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, + VK_FORMAT_R16_UNORM = 70, + VK_FORMAT_R16_SNORM = 71, + VK_FORMAT_R16_USCALED = 72, + VK_FORMAT_R16_SSCALED = 73, + VK_FORMAT_R16_UINT = 74, + VK_FORMAT_R16_SINT = 75, + VK_FORMAT_R16_SFLOAT = 76, + VK_FORMAT_R16G16_UNORM = 77, + VK_FORMAT_R16G16_SNORM = 78, + VK_FORMAT_R16G16_USCALED = 79, + VK_FORMAT_R16G16_SSCALED = 80, + VK_FORMAT_R16G16_UINT = 81, + VK_FORMAT_R16G16_SINT = 82, + VK_FORMAT_R16G16_SFLOAT = 83, + VK_FORMAT_R16G16B16_UNORM = 84, + VK_FORMAT_R16G16B16_SNORM = 85, + VK_FORMAT_R16G16B16_USCALED = 86, + VK_FORMAT_R16G16B16_SSCALED = 87, + VK_FORMAT_R16G16B16_UINT = 88, + VK_FORMAT_R16G16B16_SINT = 89, + VK_FORMAT_R16G16B16_SFLOAT = 90, + VK_FORMAT_R16G16B16A16_UNORM = 91, + VK_FORMAT_R16G16B16A16_SNORM = 92, + VK_FORMAT_R16G16B16A16_USCALED = 93, + VK_FORMAT_R16G16B16A16_SSCALED = 94, + VK_FORMAT_R16G16B16A16_UINT = 95, + VK_FORMAT_R16G16B16A16_SINT = 96, + VK_FORMAT_R16G16B16A16_SFLOAT = 97, + VK_FORMAT_R32_UINT = 98, + VK_FORMAT_R32_SINT = 99, + VK_FORMAT_R32_SFLOAT = 100, + VK_FORMAT_R32G32_UINT = 101, + VK_FORMAT_R32G32_SINT = 102, + VK_FORMAT_R32G32_SFLOAT = 103, + VK_FORMAT_R32G32B32_UINT = 104, + VK_FORMAT_R32G32B32_SINT = 105, + VK_FORMAT_R32G32B32_SFLOAT = 106, + VK_FORMAT_R32G32B32A32_UINT = 107, + VK_FORMAT_R32G32B32A32_SINT = 108, + VK_FORMAT_R32G32B32A32_SFLOAT = 109, + VK_FORMAT_R64_UINT = 110, + VK_FORMAT_R64_SINT = 111, + VK_FORMAT_R64_SFLOAT = 112, + VK_FORMAT_R64G64_UINT = 113, + VK_FORMAT_R64G64_SINT = 114, + VK_FORMAT_R64G64_SFLOAT = 115, + VK_FORMAT_R64G64B64_UINT = 116, + VK_FORMAT_R64G64B64_SINT = 117, + VK_FORMAT_R64G64B64_SFLOAT = 118, + VK_FORMAT_R64G64B64A64_UINT = 119, + VK_FORMAT_R64G64B64A64_SINT = 120, + VK_FORMAT_R64G64B64A64_SFLOAT = 121, + VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, + VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, + VK_FORMAT_D16_UNORM = 124, + VK_FORMAT_X8_D24_UNORM_PACK32 = 125, + VK_FORMAT_D32_SFLOAT = 126, + VK_FORMAT_S8_UINT = 127, + VK_FORMAT_D16_UNORM_S8_UINT = 128, + VK_FORMAT_D24_UNORM_S8_UINT = 129, + VK_FORMAT_D32_SFLOAT_S8_UINT = 130, + VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, + VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, + VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, + VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, + VK_FORMAT_BC2_UNORM_BLOCK = 135, + VK_FORMAT_BC2_SRGB_BLOCK = 136, + VK_FORMAT_BC3_UNORM_BLOCK = 137, + VK_FORMAT_BC3_SRGB_BLOCK = 138, + VK_FORMAT_BC4_UNORM_BLOCK = 139, + VK_FORMAT_BC4_SNORM_BLOCK = 140, + VK_FORMAT_BC5_UNORM_BLOCK = 141, + VK_FORMAT_BC5_SNORM_BLOCK = 142, + VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, + VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, + VK_FORMAT_BC7_UNORM_BLOCK = 145, + VK_FORMAT_BC7_SRGB_BLOCK = 146, + VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, + VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, + VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, + VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, + VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, + VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, + VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, + VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, + VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, + VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, + VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, + VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, + VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, + VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, + VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, + VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, + VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, + VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, + VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, + VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, + VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, + VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, + VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, + VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, + VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, + VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, + VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, + VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, + VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, + VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, + VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, + VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, + VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, + VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, + VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, + VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, + VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, + VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, + VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, + VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, + VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, + VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, + VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, + VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, + VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, + VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, + VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, + VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, + VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, + VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, + VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, + VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, + VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, + VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, + VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, + VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, + VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, + VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, + VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, + VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, + VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, + VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, + VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000, + VK_FORMAT_A8_UNORM = 1000470001, + VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, + VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, + VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, + VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, + VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16, + VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM, + VK_FORMAT_MAX_ENUM = 0x7FFFFFFF +} VkFormat; +typedef enum VkFormatFeatureFlagBits { + VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1, + VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2, + VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4, + VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32, + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512, + VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024, + VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096, + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152, + VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536, + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, + VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkFormatFeatureFlagBits; +typedef enum VkFrontFace { + VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, + VK_FRONT_FACE_CLOCKWISE = 1, + VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF +} VkFrontFace; +typedef enum VkImageAspectFlagBits { + VK_IMAGE_ASPECT_COLOR_BIT = 1, + VK_IMAGE_ASPECT_DEPTH_BIT = 2, + VK_IMAGE_ASPECT_STENCIL_BIT = 4, + VK_IMAGE_ASPECT_METADATA_BIT = 8, + VK_IMAGE_ASPECT_PLANE_0_BIT = 16, + VK_IMAGE_ASPECT_PLANE_1_BIT = 32, + VK_IMAGE_ASPECT_PLANE_2_BIT = 64, + VK_IMAGE_ASPECT_NONE = 0, + VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, + VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, + VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, + VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, + VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkImageAspectFlagBits; +typedef enum VkImageCreateFlagBits { + VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1, + VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2, + VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4, + VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8, + VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16, + VK_IMAGE_CREATE_ALIAS_BIT = 1024, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128, + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256, + VK_IMAGE_CREATE_PROTECTED_BIT = 2048, + VK_IMAGE_CREATE_DISJOINT_BIT = 512, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, + VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, + VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, + VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkImageCreateFlagBits; +typedef enum VkImageLayout { + VK_IMAGE_LAYOUT_UNDEFINED = 0, + VK_IMAGE_LAYOUT_GENERAL = 1, + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, + VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, + VK_IMAGE_LAYOUT_PREINITIALIZED = 8, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, + VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, + VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, + VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000, + VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ, + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF +} VkImageLayout; +typedef enum VkImageTiling { + VK_IMAGE_TILING_OPTIMAL = 0, + VK_IMAGE_TILING_LINEAR = 1, + VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF +} VkImageTiling; +typedef enum VkImageType { + VK_IMAGE_TYPE_1D = 0, + VK_IMAGE_TYPE_2D = 1, + VK_IMAGE_TYPE_3D = 2, + VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkImageType; +typedef enum VkImageUsageFlagBits { + VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1, + VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2, + VK_IMAGE_USAGE_SAMPLED_BIT = 4, + VK_IMAGE_USAGE_STORAGE_BIT = 8, + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16, + VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32, + VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64, + VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128, + VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 4194304, + VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT, + VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkImageUsageFlagBits; +typedef enum VkImageViewType { + VK_IMAGE_VIEW_TYPE_1D = 0, + VK_IMAGE_VIEW_TYPE_2D = 1, + VK_IMAGE_VIEW_TYPE_3D = 2, + VK_IMAGE_VIEW_TYPE_CUBE = 3, + VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, + VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, + VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, + VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkImageViewType; +typedef enum VkSharingMode { + VK_SHARING_MODE_EXCLUSIVE = 0, + VK_SHARING_MODE_CONCURRENT = 1, + VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF +} VkSharingMode; +typedef enum VkIndexType { + VK_INDEX_TYPE_UINT16 = 0, + VK_INDEX_TYPE_UINT32 = 1, + VK_INDEX_TYPE_UINT8 = 1000265000, + VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkIndexType; +typedef enum VkLogicOp { + VK_LOGIC_OP_CLEAR = 0, + VK_LOGIC_OP_AND = 1, + VK_LOGIC_OP_AND_REVERSE = 2, + VK_LOGIC_OP_COPY = 3, + VK_LOGIC_OP_AND_INVERTED = 4, + VK_LOGIC_OP_NO_OP = 5, + VK_LOGIC_OP_XOR = 6, + VK_LOGIC_OP_OR = 7, + VK_LOGIC_OP_NOR = 8, + VK_LOGIC_OP_EQUIVALENT = 9, + VK_LOGIC_OP_INVERT = 10, + VK_LOGIC_OP_OR_REVERSE = 11, + VK_LOGIC_OP_COPY_INVERTED = 12, + VK_LOGIC_OP_OR_INVERTED = 13, + VK_LOGIC_OP_NAND = 14, + VK_LOGIC_OP_SET = 15, + VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF +} VkLogicOp; +typedef enum VkMemoryHeapFlagBits { + VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, + VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkMemoryHeapFlagBits; +typedef enum VkAccessFlagBits { + VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1, + VK_ACCESS_INDEX_READ_BIT = 2, + VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4, + VK_ACCESS_UNIFORM_READ_BIT = 8, + VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16, + VK_ACCESS_SHADER_READ_BIT = 32, + VK_ACCESS_SHADER_WRITE_BIT = 64, + VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128, + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024, + VK_ACCESS_TRANSFER_READ_BIT = 2048, + VK_ACCESS_TRANSFER_WRITE_BIT = 4096, + VK_ACCESS_HOST_READ_BIT = 8192, + VK_ACCESS_HOST_WRITE_BIT = 16384, + VK_ACCESS_MEMORY_READ_BIT = 32768, + VK_ACCESS_MEMORY_WRITE_BIT = 65536, + VK_ACCESS_NONE = 0, + VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, + VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkAccessFlagBits; +typedef enum VkMemoryPropertyFlagBits { + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2, + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4, + VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8, + VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16, + VK_MEMORY_PROPERTY_PROTECTED_BIT = 32, + VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkMemoryPropertyFlagBits; +typedef enum VkPhysicalDeviceType { + VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, + VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, + VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, + VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, + VK_PHYSICAL_DEVICE_TYPE_CPU = 4, + VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkPhysicalDeviceType; +typedef enum VkPipelineBindPoint { + VK_PIPELINE_BIND_POINT_GRAPHICS = 0, + VK_PIPELINE_BIND_POINT_COMPUTE = 1, + VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF +} VkPipelineBindPoint; +typedef enum VkPipelineCreateFlagBits { + VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1, + VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2, + VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8, + VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16, + VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256, + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512, + VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 134217728, + VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 1073741824, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, + VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineCreateFlagBits; +typedef enum VkPrimitiveTopology { + VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, + VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, + VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF +} VkPrimitiveTopology; +typedef enum VkQueryControlFlagBits { + VK_QUERY_CONTROL_PRECISE_BIT = 1, + VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkQueryControlFlagBits; +typedef enum VkQueryPipelineStatisticFlagBits { + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1, + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2, + VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64, + VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512, + VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024, + VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkQueryPipelineStatisticFlagBits; +typedef enum VkQueryResultFlagBits { + VK_QUERY_RESULT_64_BIT = 1, + VK_QUERY_RESULT_WAIT_BIT = 2, + VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4, + VK_QUERY_RESULT_PARTIAL_BIT = 8, + VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkQueryResultFlagBits; +typedef enum VkQueryType { + VK_QUERY_TYPE_OCCLUSION = 0, + VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, + VK_QUERY_TYPE_TIMESTAMP = 2, + VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkQueryType; +typedef enum VkQueueFlagBits { + VK_QUEUE_GRAPHICS_BIT = 1, + VK_QUEUE_COMPUTE_BIT = 2, + VK_QUEUE_TRANSFER_BIT = 4, + VK_QUEUE_SPARSE_BINDING_BIT = 8, + VK_QUEUE_PROTECTED_BIT = 16, + VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkQueueFlagBits; +typedef enum VkSubpassContents { + VK_SUBPASS_CONTENTS_INLINE = 0, + VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, + VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF +} VkSubpassContents; +typedef enum VkResult { + VK_SUCCESS = 0, + VK_NOT_READY = 1, + VK_TIMEOUT = 2, + VK_EVENT_SET = 3, + VK_EVENT_RESET = 4, + VK_INCOMPLETE = 5, + VK_ERROR_OUT_OF_HOST_MEMORY = -1, + VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, + VK_ERROR_INITIALIZATION_FAILED = -3, + VK_ERROR_DEVICE_LOST = -4, + VK_ERROR_MEMORY_MAP_FAILED = -5, + VK_ERROR_LAYER_NOT_PRESENT = -6, + VK_ERROR_EXTENSION_NOT_PRESENT = -7, + VK_ERROR_FEATURE_NOT_PRESENT = -8, + VK_ERROR_INCOMPATIBLE_DRIVER = -9, + VK_ERROR_TOO_MANY_OBJECTS = -10, + VK_ERROR_FORMAT_NOT_SUPPORTED = -11, + VK_ERROR_FRAGMENTED_POOL = -12, + VK_ERROR_UNKNOWN = -13, + VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, + VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, + VK_ERROR_FRAGMENTATION = -1000161000, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, + VK_PIPELINE_COMPILE_REQUIRED = 1000297000, + VK_ERROR_NOT_PERMITTED = -1000174001, + VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, + VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, + VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, + VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT, + VK_RESULT_MAX_ENUM = 0x7FFFFFFF +} VkResult; +typedef enum VkShaderStageFlagBits { + VK_SHADER_STAGE_VERTEX_BIT = 1, + VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2, + VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4, + VK_SHADER_STAGE_GEOMETRY_BIT = 8, + VK_SHADER_STAGE_FRAGMENT_BIT = 16, + VK_SHADER_STAGE_COMPUTE_BIT = 32, + VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, + VK_SHADER_STAGE_ALL = 0x7FFFFFFF, + VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkShaderStageFlagBits; +typedef enum VkSparseMemoryBindFlagBits { + VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1, + VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSparseMemoryBindFlagBits; +typedef enum VkStencilFaceFlagBits { + VK_STENCIL_FACE_FRONT_BIT = 1, + VK_STENCIL_FACE_BACK_BIT = 2, + VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, + VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, + VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkStencilFaceFlagBits; +typedef enum VkStencilOp { + VK_STENCIL_OP_KEEP = 0, + VK_STENCIL_OP_ZERO = 1, + VK_STENCIL_OP_REPLACE = 2, + VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, + VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, + VK_STENCIL_OP_INVERT = 5, + VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, + VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, + VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF +} VkStencilOp; +typedef enum VkStructureType { + VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, + VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, + VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, + VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, + VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, + VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, + VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, + VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, + VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, + VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, + VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, + VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, + VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, + VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, + VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, + VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, + VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, + VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, + VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, + VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, + VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, + VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, + VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, + VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, + VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, + VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, + VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, + VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, + VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, + VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, + VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, + VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, + VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, + VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, + VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, + VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, + VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, + VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, + VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, + VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, + VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, + VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, + VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, + VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, + VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, + VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, + VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, + VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES = 55, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES = 56, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO = 1000174000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES = 1000388000, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES = 1000388001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES = 1000416000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES = 1000528000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES = 1000544000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES = 1000259000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO = 1000259001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES = 1000259002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES = 1000525000, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO = 1000190001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES = 1000190002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES = 1000265000, + VK_STRUCTURE_TYPE_MEMORY_MAP_INFO = 1000271000, + VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO = 1000271001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES = 1000470000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES = 1000470001, + VK_STRUCTURE_TYPE_RENDERING_AREA_INFO = 1000470003, + VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO = 1000470004, + VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 = 1000338002, + VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 = 1000338003, + VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO = 1000470005, + VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO = 1000470006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES = 1000080000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES = 1000232000, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO = 1000232001, + VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO = 1000232002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES = 1000545000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES = 1000545001, + VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS = 1000545002, + VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO = 1000545003, + VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO = 1000545004, + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO = 1000545005, + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO = 1000545006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES = 1000466000, + VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO = 1000068000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES = 1000068001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES = 1000068002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES = 1000270000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES = 1000270001, + VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY = 1000270002, + VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY = 1000270003, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO = 1000270004, + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO = 1000270005, + VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO = 1000270006, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO = 1000270007, + VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE = 1000270008, + VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY = 1000270009, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, + VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, + VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, + VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, + VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES, + VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO, + VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES, + VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY, + VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO, + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO, + VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO, + VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE, + VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY, + VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO, + VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, + VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, + VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, + VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, + VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, + VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, + VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, + VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, + VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, + VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, + VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, + VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, + VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, + VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, + VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, + VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, + VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, + VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, + VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, + VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, + VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, + VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, + VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, + VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, + VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES, + VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO, + VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO, + VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2, + VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2, + VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO, + VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, + VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, + VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES, + VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS, + VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO, + VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO, + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO, + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO, + VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, + VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, + VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkStructureType; +typedef enum VkSystemAllocationScope { + VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, + VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, + VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, + VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, + VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, + VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF +} VkSystemAllocationScope; +typedef enum VkInternalAllocationType { + VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, + VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkInternalAllocationType; +typedef enum VkSamplerAddressMode { + VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, + VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, + VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, + VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF +} VkSamplerAddressMode; +typedef enum VkFilter { + VK_FILTER_NEAREST = 0, + VK_FILTER_LINEAR = 1, + VK_FILTER_MAX_ENUM = 0x7FFFFFFF +} VkFilter; +typedef enum VkSamplerMipmapMode { + VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, + VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, + VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF +} VkSamplerMipmapMode; +typedef enum VkVertexInputRate { + VK_VERTEX_INPUT_RATE_VERTEX = 0, + VK_VERTEX_INPUT_RATE_INSTANCE = 1, + VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF +} VkVertexInputRate; +typedef enum VkPipelineStageFlagBits { + VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1, + VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2, + VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4, + VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8, + VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16, + VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32, + VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128, + VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256, + VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512, + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024, + VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048, + VK_PIPELINE_STAGE_TRANSFER_BIT = 4096, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192, + VK_PIPELINE_STAGE_HOST_BIT = 16384, + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768, + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536, + VK_PIPELINE_STAGE_NONE = 0, + VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, + VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineStageFlagBits; +typedef enum VkSparseImageFormatFlagBits { + VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1, + VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2, + VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4, + VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSparseImageFormatFlagBits; +typedef enum VkSampleCountFlagBits { + VK_SAMPLE_COUNT_1_BIT = 1, + VK_SAMPLE_COUNT_2_BIT = 2, + VK_SAMPLE_COUNT_4_BIT = 4, + VK_SAMPLE_COUNT_8_BIT = 8, + VK_SAMPLE_COUNT_16_BIT = 16, + VK_SAMPLE_COUNT_32_BIT = 32, + VK_SAMPLE_COUNT_64_BIT = 64, + VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSampleCountFlagBits; +typedef enum VkAttachmentDescriptionFlagBits { + VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1, + VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkAttachmentDescriptionFlagBits; +typedef enum VkDescriptorPoolCreateFlagBits { + VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1, + VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 2, + VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkDescriptorPoolCreateFlagBits; +typedef enum VkDependencyFlagBits { + VK_DEPENDENCY_BY_REGION_BIT = 1, + VK_DEPENDENCY_DEVICE_GROUP_BIT = 4, + VK_DEPENDENCY_VIEW_LOCAL_BIT = 2, + VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, + VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkDependencyFlagBits; +typedef enum VkObjectType { + VK_OBJECT_TYPE_UNKNOWN = 0, + VK_OBJECT_TYPE_INSTANCE = 1, + VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, + VK_OBJECT_TYPE_DEVICE = 3, + VK_OBJECT_TYPE_QUEUE = 4, + VK_OBJECT_TYPE_SEMAPHORE = 5, + VK_OBJECT_TYPE_COMMAND_BUFFER = 6, + VK_OBJECT_TYPE_FENCE = 7, + VK_OBJECT_TYPE_DEVICE_MEMORY = 8, + VK_OBJECT_TYPE_BUFFER = 9, + VK_OBJECT_TYPE_IMAGE = 10, + VK_OBJECT_TYPE_EVENT = 11, + VK_OBJECT_TYPE_QUERY_POOL = 12, + VK_OBJECT_TYPE_BUFFER_VIEW = 13, + VK_OBJECT_TYPE_IMAGE_VIEW = 14, + VK_OBJECT_TYPE_SHADER_MODULE = 15, + VK_OBJECT_TYPE_PIPELINE_CACHE = 16, + VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, + VK_OBJECT_TYPE_RENDER_PASS = 18, + VK_OBJECT_TYPE_PIPELINE = 19, + VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, + VK_OBJECT_TYPE_SAMPLER = 21, + VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, + VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, + VK_OBJECT_TYPE_FRAMEBUFFER = 24, + VK_OBJECT_TYPE_COMMAND_POOL = 25, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, + VK_OBJECT_TYPE_SHADER_EXT = 1000482000, + VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkObjectType; +typedef enum VkEventCreateFlagBits { + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1, + VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, + VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkEventCreateFlagBits; +typedef enum VkDescriptorUpdateTemplateType { + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS = 1, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkDescriptorUpdateTemplateType; +typedef enum VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; + +typedef enum VkViewportCoordinateSwizzleNV { + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, + VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF +} VkViewportCoordinateSwizzleNV; +typedef enum VkPointClippingBehavior { + VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, + VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF +} VkPointClippingBehavior; +typedef enum VkCoverageModulationModeNV { + VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, + VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, + VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, + VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, + VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF +} VkCoverageModulationModeNV; +typedef enum VkCoverageReductionModeNV { + VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, + VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, + VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF +} VkCoverageReductionModeNV; +typedef enum VkQueueGlobalPriority { + VK_QUEUE_GLOBAL_PRIORITY_LOW = 128, + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM = 256, + VK_QUEUE_GLOBAL_PRIORITY_HIGH = 512, + VK_QUEUE_GLOBAL_PRIORITY_REALTIME = 1024, + VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM = 0x7FFFFFFF +} VkQueueGlobalPriority; +typedef enum VkConservativeRasterizationModeEXT { + VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, + VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, + VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, + VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkConservativeRasterizationModeEXT; +typedef enum VkResolveModeFlagBits { + VK_RESOLVE_MODE_NONE = 0, + VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 1, + VK_RESOLVE_MODE_AVERAGE_BIT = 2, + VK_RESOLVE_MODE_MIN_BIT = 4, + VK_RESOLVE_MODE_MAX_BIT = 8, + VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkResolveModeFlagBits; +typedef enum VkDescriptorBindingFlagBits { + VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 1, + VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 2, + VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 4, + VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 8, + VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkDescriptorBindingFlagBits; +typedef enum VkSemaphoreType { + VK_SEMAPHORE_TYPE_BINARY = 0, + VK_SEMAPHORE_TYPE_TIMELINE = 1, + VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, + VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, + VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF +} VkSemaphoreType; +typedef enum VkSemaphoreType VkSemaphoreTypeKHR; + +typedef enum VkPipelineCreationFeedbackFlagBits { + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1, + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2, + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4, + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineCreationFeedbackFlagBits; +typedef enum VkSemaphoreWaitFlagBits { + VK_SEMAPHORE_WAIT_ANY_BIT = 1, + VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, + VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSemaphoreWaitFlagBits; +typedef enum VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; + +typedef enum VkLineRasterizationMode { + VK_LINE_RASTERIZATION_MODE_DEFAULT = 0, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR = 1, + VK_LINE_RASTERIZATION_MODE_BRESENHAM = 2, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH = 3, + VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, + VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, + VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = VK_LINE_RASTERIZATION_MODE_DEFAULT, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR, + VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, + VK_LINE_RASTERIZATION_MODE_MAX_ENUM = 0x7FFFFFFF +} VkLineRasterizationMode; +typedef enum VkLineRasterizationMode VkLineRasterizationModeKHR; + +typedef enum VkLineRasterizationMode VkLineRasterizationModeEXT; + +typedef enum VkToolPurposeFlagBits { + VK_TOOL_PURPOSE_VALIDATION_BIT = 1, + VK_TOOL_PURPOSE_PROFILING_BIT = 2, + VK_TOOL_PURPOSE_TRACING_BIT = 4, + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8, + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16, + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, + VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32, + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64, + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkToolPurposeFlagBits; +typedef enum VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; + +typedef uint64_t VkAccessFlagBits2; +static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0; +static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 1; +static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 2; +static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 4; +static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 8; +static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 16; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 32; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 64; +static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 128; +static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 256; +static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512; +static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 2048; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 4096; +static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 8192; +static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 16384; +static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 32768; +static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 65536; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 4294967296; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 8589934592; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 17179869184; +static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0; +static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 1; +static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 2; +static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 4; +static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 8; +static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 16; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 32; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 64; +static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 128; +static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 256; +static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 512; +static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 1024; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 2048; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 4096; +static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 8192; +static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 16384; +static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 32768; +static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 65536; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 4294967296; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 8589934592; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 17179869184; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864; +static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728; +static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 1048576; +static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 131072; +static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144; +static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT = 131072; +static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT = 262144; +static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608; +static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608; +static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152; +static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304; +static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152; +static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304; +static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216; +static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288; + +typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; + +typedef uint64_t VkPipelineStageFlagBits2; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 1; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 2; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 4; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 8; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 16; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 32; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 64; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 128; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 256; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 512; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 1024; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 2048; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 4096; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 4096; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 8192; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 16384; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 32768; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 65536; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 4294967296; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 8589934592; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 17179869184; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 34359738368; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 68719476736; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 137438953472; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 274877906944; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 1; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 2; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 4; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 8; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 16; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 32; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 64; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 128; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 256; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 512; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 1024; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 2048; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 4096; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 4096; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 8192; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 16384; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 32768; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 65536; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 4294967296; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 8589934592; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 17179869184; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 34359738368; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 68719476736; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 137438953472; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 274877906944; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 16777216; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 262144; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 131072; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT = 131072; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 4194304; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 2097152; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 2097152; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 524288; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 1048576; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 524288; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 1048576; + +typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; + +typedef enum VkProvokingVertexModeEXT { + VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, + VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, + VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkProvokingVertexModeEXT; +typedef enum VkHostImageCopyFlagBits { + VK_HOST_IMAGE_COPY_MEMCPY_BIT = 1, + VK_HOST_IMAGE_COPY_MEMCPY = VK_HOST_IMAGE_COPY_MEMCPY_BIT, + VK_HOST_IMAGE_COPY_MEMCPY_BIT_EXT = VK_HOST_IMAGE_COPY_MEMCPY_BIT, + VK_HOST_IMAGE_COPY_MEMCPY_EXT = VK_HOST_IMAGE_COPY_MEMCPY_BIT, + VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkHostImageCopyFlagBits; +typedef enum VkHostImageCopyFlagBits VkHostImageCopyFlagBitsEXT; + +typedef uint64_t VkFormatFeatureFlagBits2; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 1; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 2; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 4; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 8; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 16; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 64; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 128; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 256; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 512; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 1024; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 2048; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 16384; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 32768; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 131072; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 4194304; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 8388608; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 2147483648; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 4294967296; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 8589934592; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 8192; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = 70368744177664; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 70368744177664; + +typedef enum VkRenderingFlagBits { + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1, + VK_RENDERING_SUSPENDING_BIT = 2, + VK_RENDERING_RESUMING_BIT = 4, + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, + VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, + VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, + VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkRenderingFlagBits; +typedef enum VkRenderingFlagBits VkRenderingFlagBitsKHR; + +typedef enum VkImageCompressionFlagBitsEXT { + VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, + VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 1, + VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 2, + VK_IMAGE_COMPRESSION_DISABLED_EXT = 4, + VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkImageCompressionFlagBitsEXT; +typedef enum VkImageCompressionFixedRateFlagBitsEXT { + VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, + VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 1, + VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 2, + VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 4, + VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 8, + VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 16, + VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 32, + VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 64, + VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 128, + VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 256, + VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 512, + VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 1024, + VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 2048, + VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 4096, + VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 8192, + VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 16384, + VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 32768, + VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 65536, + VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 131072, + VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 262144, + VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 524288, + VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 1048576, + VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 2097152, + VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 4194304, + VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 8388608, + VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkImageCompressionFixedRateFlagBitsEXT; +typedef enum VkPipelineRobustnessBufferBehavior { + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT = 0, + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED = 1, + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS = 2, + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 = 3, + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF +} VkPipelineRobustnessBufferBehavior; +typedef enum VkPipelineRobustnessImageBehavior { + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT = 0, + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED = 1, + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS = 2, + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2 = 3, + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF +} VkPipelineRobustnessImageBehavior; +typedef uint64_t VkPipelineCreateFlagBits2; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT = 1; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT = 2; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT = 4; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT = 16; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT = 512; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT = 134217728; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT = 1073741824; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 1; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 2; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 4; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 16; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 32; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 64; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 256; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 512; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 1024; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 8388608; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 2048; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 4096; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 8192; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 131072; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 524288; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 262144; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 16777216; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 33554432; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 67108864; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 134217728; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 1073741824; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 268435456; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 536870912; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM = 137438953472; + +typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR; + +typedef uint64_t VkBufferUsageFlagBits2; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT = 1; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT = 2; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT = 4; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT = 8; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT = 16; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT = 32; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT = 64; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT = 128; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT = 256; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT = 131072; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 1; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 2; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 4; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 8; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 16; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 32; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 64; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 128; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 256; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 512; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 1024; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 1024; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 2048; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 4096; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 8192; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 16384; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 32768; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 65536; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 131072; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 524288; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 1048576; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 2097152; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 4194304; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 67108864; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 8388608; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 16777216; + +typedef VkBufferUsageFlagBits2 VkBufferUsageFlagBits2KHR; + +typedef enum VkShaderCreateFlagBitsEXT { + VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 1, + VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 2, + VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 4, + VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 8, + VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 16, + VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 32, + VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 64, + VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkShaderCreateFlagBitsEXT; +typedef enum VkShaderCodeTypeEXT { + VK_SHADER_CODE_TYPE_BINARY_EXT = 0, + VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, + VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkShaderCodeTypeEXT; +typedef enum VkDepthClampModeEXT { + VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT = 0, + VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT = 1, + VK_DEPTH_CLAMP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkDepthClampModeEXT; +typedef enum VkExternalMemoryHandleTypeFlagBits { + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalMemoryHandleTypeFlagBits; +typedef enum VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; + +typedef enum VkExternalMemoryFeatureFlagBits { + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4, + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalMemoryFeatureFlagBits; +typedef enum VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; + +typedef enum VkExternalSemaphoreHandleTypeFlagBits { + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalSemaphoreHandleTypeFlagBits; +typedef enum VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; + +typedef enum VkExternalSemaphoreFeatureFlagBits { + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2, + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalSemaphoreFeatureFlagBits; +typedef enum VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; + +typedef enum VkSemaphoreImportFlagBits { + VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1, + VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSemaphoreImportFlagBits; +typedef enum VkExternalFenceHandleTypeFlagBits { + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalFenceHandleTypeFlagBits; +typedef enum VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; + +typedef enum VkExternalFenceFeatureFlagBits { + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2, + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkExternalFenceFeatureFlagBits; +typedef enum VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; + +typedef enum VkFenceImportFlagBits { + VK_FENCE_IMPORT_TEMPORARY_BIT = 1, + VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkFenceImportFlagBits; +typedef enum VkPeerMemoryFeatureFlagBits { + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8, + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, + VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPeerMemoryFeatureFlagBits; +typedef enum VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; + +typedef enum VkMemoryAllocateFlagBits { + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 2, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 4, + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkMemoryAllocateFlagBits; +typedef enum VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; + +typedef enum VkDeviceGroupPresentModeFlagBitsKHR { + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1, + VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2, + VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4, + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8, + VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkDeviceGroupPresentModeFlagBitsKHR; +typedef enum VkSubgroupFeatureFlagBits { + VK_SUBGROUP_FEATURE_BASIC_BIT = 1, + VK_SUBGROUP_FEATURE_VOTE_BIT = 2, + VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4, + VK_SUBGROUP_FEATURE_BALLOT_BIT = 8, + VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16, + VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32, + VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64, + VK_SUBGROUP_FEATURE_QUAD_BIT = 128, + VK_SUBGROUP_FEATURE_ROTATE_BIT = 512, + VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 1024, + VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSubgroupFeatureFlagBits; +typedef enum VkTessellationDomainOrigin { + VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, + VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, + VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF +} VkTessellationDomainOrigin; +typedef enum VkSamplerYcbcrModelConversion { + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF +} VkSamplerYcbcrModelConversion; +typedef enum VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; + +typedef enum VkSamplerYcbcrRange { + VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, + VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, + VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF +} VkSamplerYcbcrRange; +typedef enum VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; + +typedef enum VkChromaLocation { + VK_CHROMA_LOCATION_COSITED_EVEN = 0, + VK_CHROMA_LOCATION_MIDPOINT = 1, + VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, + VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, + VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF +} VkChromaLocation; +typedef enum VkChromaLocation VkChromaLocationKHR; + +typedef enum VkSamplerReductionMode { + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, + VK_SAMPLER_REDUCTION_MODE_MIN = 1, + VK_SAMPLER_REDUCTION_MODE_MAX = 2, + VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF +} VkSamplerReductionMode; +typedef enum VkBlendOverlapEXT { + VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, + VK_BLEND_OVERLAP_DISJOINT_EXT = 1, + VK_BLEND_OVERLAP_CONJOINT_EXT = 2, + VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF +} VkBlendOverlapEXT; +typedef enum VkShaderFloatControlsIndependence { + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF +} VkShaderFloatControlsIndependence; +typedef enum VkSubmitFlagBits { + VK_SUBMIT_PROTECTED_BIT = 1, + VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkSubmitFlagBits; +typedef enum VkSubmitFlagBits VkSubmitFlagBitsKHR; + +typedef enum VkVendorId { + VK_VENDOR_ID_KHRONOS = 0x10000, + VK_VENDOR_ID_VIV = 0x10001, + VK_VENDOR_ID_VSI = 0x10002, + VK_VENDOR_ID_KAZAN = 0x10003, + VK_VENDOR_ID_CODEPLAY = 0x10004, + VK_VENDOR_ID_MESA = 0x10005, + VK_VENDOR_ID_POCL = 0x10006, + VK_VENDOR_ID_MOBILEYE = 0x10007, + VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF +} VkVendorId; +typedef enum VkDriverId { + VK_DRIVER_ID_AMD_PROPRIETARY = 1, + VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, + VK_DRIVER_ID_MESA_RADV = 3, + VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, + VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, + VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, + VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, + VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, + VK_DRIVER_ID_ARM_PROPRIETARY = 9, + VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, + VK_DRIVER_ID_GGP_PROPRIETARY = 11, + VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, + VK_DRIVER_ID_MESA_LLVMPIPE = 13, + VK_DRIVER_ID_MOLTENVK = 14, + VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, + VK_DRIVER_ID_JUICE_PROPRIETARY = 16, + VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, + VK_DRIVER_ID_MESA_TURNIP = 18, + VK_DRIVER_ID_MESA_V3DV = 19, + VK_DRIVER_ID_MESA_PANVK = 20, + VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, + VK_DRIVER_ID_MESA_VENUS = 22, + VK_DRIVER_ID_MESA_DOZEN = 23, + VK_DRIVER_ID_MESA_NVK = 24, + VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, + VK_DRIVER_ID_MESA_HONEYKRISP = 26, + VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27, + VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF +} VkDriverId; +typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( + void* pUserData, + size_t size, + VkInternalAllocationType allocationType, + VkSystemAllocationScope allocationScope); +typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( + void* pUserData, + size_t size, + VkInternalAllocationType allocationType, + VkSystemAllocationScope allocationScope); +typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( + void* pUserData, + void* pOriginal, + size_t size, + size_t alignment, + VkSystemAllocationScope allocationScope); +typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( + void* pUserData, + size_t size, + size_t alignment, + VkSystemAllocationScope allocationScope); +typedef void (VKAPI_PTR *PFN_vkFreeFunction)( + void* pUserData, + void* pMemory); +typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); +typedef struct VkBaseOutStructure { + VkStructureType sType; + struct VkBaseOutStructure * pNext; +} VkBaseOutStructure; + +typedef struct VkBaseInStructure { + VkStructureType sType; + const struct VkBaseInStructure * pNext; +} VkBaseInStructure; + +typedef struct VkOffset2D { + int32_t x; + int32_t y; +} VkOffset2D; + +typedef struct VkOffset3D { + int32_t x; + int32_t y; + int32_t z; +} VkOffset3D; + +typedef struct VkExtent2D { + uint32_t width; + uint32_t height; +} VkExtent2D; + +typedef struct VkExtent3D { + uint32_t width; + uint32_t height; + uint32_t depth; +} VkExtent3D; + +typedef struct VkViewport { + float x; + float y; + float width; + float height; + float minDepth; + float maxDepth; +} VkViewport; + +typedef struct VkRect2D { + VkOffset2D offset; + VkExtent2D extent; +} VkRect2D; + +typedef struct VkClearRect { + VkRect2D rect; + uint32_t baseArrayLayer; + uint32_t layerCount; +} VkClearRect; + +typedef struct VkComponentMapping { + VkComponentSwizzle r; + VkComponentSwizzle g; + VkComponentSwizzle b; + VkComponentSwizzle a; +} VkComponentMapping; + +typedef struct VkExtensionProperties { + char extensionName [ VK_MAX_EXTENSION_NAME_SIZE ]; + uint32_t specVersion; +} VkExtensionProperties; + +typedef struct VkLayerProperties { + char layerName [ VK_MAX_EXTENSION_NAME_SIZE ]; + uint32_t specVersion; + uint32_t implementationVersion; + char description [ VK_MAX_DESCRIPTION_SIZE ]; +} VkLayerProperties; + +typedef struct VkApplicationInfo { + VkStructureType sType; + const void * pNext; + const char * pApplicationName; + uint32_t applicationVersion; + const char * pEngineName; + uint32_t engineVersion; + uint32_t apiVersion; +} VkApplicationInfo; + +typedef struct VkAllocationCallbacks { + void * pUserData; + PFN_vkAllocationFunction pfnAllocation; + PFN_vkReallocationFunction pfnReallocation; + PFN_vkFreeFunction pfnFree; + PFN_vkInternalAllocationNotification pfnInternalAllocation; + PFN_vkInternalFreeNotification pfnInternalFree; +} VkAllocationCallbacks; + +typedef struct VkDescriptorImageInfo { + VkSampler sampler; + VkImageView imageView; + VkImageLayout imageLayout; +} VkDescriptorImageInfo; + +typedef struct VkCopyDescriptorSet { + VkStructureType sType; + const void * pNext; + VkDescriptorSet srcSet; + uint32_t srcBinding; + uint32_t srcArrayElement; + VkDescriptorSet dstSet; + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; +} VkCopyDescriptorSet; + +typedef struct VkDescriptorPoolSize { + VkDescriptorType type; + uint32_t descriptorCount; +} VkDescriptorPoolSize; + +typedef struct VkDescriptorSetAllocateInfo { + VkStructureType sType; + const void * pNext; + VkDescriptorPool descriptorPool; + uint32_t descriptorSetCount; + const VkDescriptorSetLayout * pSetLayouts; +} VkDescriptorSetAllocateInfo; + +typedef struct VkSpecializationMapEntry { + uint32_t constantID; + uint32_t offset; + size_t size; +} VkSpecializationMapEntry; + +typedef struct VkSpecializationInfo { + uint32_t mapEntryCount; + const VkSpecializationMapEntry * pMapEntries; + size_t dataSize; + const void * pData; +} VkSpecializationInfo; + +typedef struct VkVertexInputBindingDescription { + uint32_t binding; + uint32_t stride; + VkVertexInputRate inputRate; +} VkVertexInputBindingDescription; + +typedef struct VkVertexInputAttributeDescription { + uint32_t location; + uint32_t binding; + VkFormat format; + uint32_t offset; +} VkVertexInputAttributeDescription; + +typedef struct VkStencilOpState { + VkStencilOp failOp; + VkStencilOp passOp; + VkStencilOp depthFailOp; + VkCompareOp compareOp; + uint32_t compareMask; + uint32_t writeMask; + uint32_t reference; +} VkStencilOpState; + +typedef struct VkPipelineCacheHeaderVersionOne { + uint32_t headerSize; + VkPipelineCacheHeaderVersion headerVersion; + uint32_t vendorID; + uint32_t deviceID; + uint8_t pipelineCacheUUID [ VK_UUID_SIZE ]; +} VkPipelineCacheHeaderVersionOne; + +typedef struct VkCommandBufferAllocateInfo { + VkStructureType sType; + const void * pNext; + VkCommandPool commandPool; + VkCommandBufferLevel level; + uint32_t commandBufferCount; +} VkCommandBufferAllocateInfo; + +typedef union VkClearColorValue { + float float32 [4]; + int32_t int32 [4]; + uint32_t uint32 [4]; +} VkClearColorValue; + +typedef struct VkClearDepthStencilValue { + float depth; + uint32_t stencil; +} VkClearDepthStencilValue; + +typedef union VkClearValue { + VkClearColorValue color; + VkClearDepthStencilValue depthStencil; +} VkClearValue; + +typedef struct VkAttachmentReference { + uint32_t attachment; + VkImageLayout layout; +} VkAttachmentReference; + +typedef struct VkDrawIndirectCommand { + uint32_t vertexCount; + uint32_t instanceCount; + uint32_t firstVertex; + uint32_t firstInstance; +} VkDrawIndirectCommand; + +typedef struct VkDrawIndexedIndirectCommand { + uint32_t indexCount; + uint32_t instanceCount; + uint32_t firstIndex; + int32_t vertexOffset; + uint32_t firstInstance; +} VkDrawIndexedIndirectCommand; + +typedef struct VkDispatchIndirectCommand { + uint32_t x; + uint32_t y; + uint32_t z; +} VkDispatchIndirectCommand; + +typedef struct VkDevicePrivateDataCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t privateDataSlotRequestCount; +} VkDevicePrivateDataCreateInfo; + +typedef struct VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; + +typedef struct VkPhysicalDevicePushDescriptorProperties { + VkStructureType sType; + void * pNext; + uint32_t maxPushDescriptors; +} VkPhysicalDevicePushDescriptorProperties; + +typedef struct VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR; + +typedef struct VkConformanceVersion { + uint8_t major; + uint8_t minor; + uint8_t subminor; + uint8_t patch; +} VkConformanceVersion; + +typedef struct VkPhysicalDeviceDriverProperties { + VkStructureType sType; + void * pNext; + VkDriverId driverID; + char driverName [ VK_MAX_DRIVER_NAME_SIZE ]; + char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ]; + VkConformanceVersion conformanceVersion; +} VkPhysicalDeviceDriverProperties; + +typedef struct VkPhysicalDeviceExternalImageFormatInfo { + VkStructureType sType; + const void * pNext; + VkExternalMemoryHandleTypeFlagBits handleType; +} VkPhysicalDeviceExternalImageFormatInfo; + +typedef struct VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; + +typedef struct VkPhysicalDeviceExternalSemaphoreInfo { + VkStructureType sType; + const void * pNext; + VkExternalSemaphoreHandleTypeFlagBits handleType; +} VkPhysicalDeviceExternalSemaphoreInfo; + +typedef struct VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; + +typedef struct VkPhysicalDeviceExternalFenceInfo { + VkStructureType sType; + const void * pNext; + VkExternalFenceHandleTypeFlagBits handleType; +} VkPhysicalDeviceExternalFenceInfo; + +typedef struct VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; + +typedef struct VkPhysicalDeviceMultiviewProperties { + VkStructureType sType; + void * pNext; + uint32_t maxMultiviewViewCount; + uint32_t maxMultiviewInstanceIndex; +} VkPhysicalDeviceMultiviewProperties; + +typedef struct VkRenderPassMultiviewCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t subpassCount; + const uint32_t * pViewMasks; + uint32_t dependencyCount; + const int32_t * pViewOffsets; + uint32_t correlationMaskCount; + const uint32_t * pCorrelationMasks; +} VkRenderPassMultiviewCreateInfo; + +typedef struct VkBindBufferMemoryDeviceGroupInfo { + VkStructureType sType; + const void * pNext; + uint32_t deviceIndexCount; + const uint32_t * pDeviceIndices; +} VkBindBufferMemoryDeviceGroupInfo; + +typedef struct VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; + +typedef struct VkBindImageMemoryDeviceGroupInfo { + VkStructureType sType; + const void * pNext; + uint32_t deviceIndexCount; + const uint32_t * pDeviceIndices; + uint32_t splitInstanceBindRegionCount; + const VkRect2D * pSplitInstanceBindRegions; +} VkBindImageMemoryDeviceGroupInfo; + +typedef struct VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; + +typedef struct VkDeviceGroupRenderPassBeginInfo { + VkStructureType sType; + const void * pNext; + uint32_t deviceMask; + uint32_t deviceRenderAreaCount; + const VkRect2D * pDeviceRenderAreas; +} VkDeviceGroupRenderPassBeginInfo; + +typedef struct VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; + +typedef struct VkDeviceGroupCommandBufferBeginInfo { + VkStructureType sType; + const void * pNext; + uint32_t deviceMask; +} VkDeviceGroupCommandBufferBeginInfo; + +typedef struct VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; + +typedef struct VkDeviceGroupSubmitInfo { + VkStructureType sType; + const void * pNext; + uint32_t waitSemaphoreCount; + const uint32_t * pWaitSemaphoreDeviceIndices; + uint32_t commandBufferCount; + const uint32_t * pCommandBufferDeviceMasks; + uint32_t signalSemaphoreCount; + const uint32_t * pSignalSemaphoreDeviceIndices; +} VkDeviceGroupSubmitInfo; + +typedef struct VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; + +typedef struct VkDeviceGroupBindSparseInfo { + VkStructureType sType; + const void * pNext; + uint32_t resourceDeviceIndex; + uint32_t memoryDeviceIndex; +} VkDeviceGroupBindSparseInfo; + +typedef struct VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; + +typedef struct VkImageSwapchainCreateInfoKHR { + VkStructureType sType; + const void * pNext; + VkSwapchainKHR swapchain; +} VkImageSwapchainCreateInfoKHR; + +typedef struct VkBindImageMemorySwapchainInfoKHR { + VkStructureType sType; + const void * pNext; + VkSwapchainKHR swapchain; + uint32_t imageIndex; +} VkBindImageMemorySwapchainInfoKHR; + +typedef struct VkAcquireNextImageInfoKHR { + VkStructureType sType; + const void * pNext; + VkSwapchainKHR swapchain; + uint64_t timeout; + VkSemaphore semaphore; + VkFence fence; + uint32_t deviceMask; +} VkAcquireNextImageInfoKHR; + +typedef struct VkDeviceGroupPresentInfoKHR { + VkStructureType sType; + const void * pNext; + uint32_t swapchainCount; + const uint32_t * pDeviceMasks; + VkDeviceGroupPresentModeFlagBitsKHR mode; +} VkDeviceGroupPresentInfoKHR; + +typedef struct VkDeviceGroupDeviceCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t physicalDeviceCount; + const VkPhysicalDevice * pPhysicalDevices; +} VkDeviceGroupDeviceCreateInfo; + +typedef struct VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; + +typedef struct VkDescriptorUpdateTemplateEntry { + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; + VkDescriptorType descriptorType; + size_t offset; + size_t stride; +} VkDescriptorUpdateTemplateEntry; + +typedef struct VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; + +typedef struct VkViewportSwizzleNV { + VkViewportCoordinateSwizzleNV x; + VkViewportCoordinateSwizzleNV y; + VkViewportCoordinateSwizzleNV z; + VkViewportCoordinateSwizzleNV w; +} VkViewportSwizzleNV; + +typedef struct VkBufferMemoryRequirementsInfo2 { + VkStructureType sType; + const void * pNext; + VkBuffer buffer; +} VkBufferMemoryRequirementsInfo2; + +typedef struct VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; + +typedef struct VkImageMemoryRequirementsInfo2 { + VkStructureType sType; + const void * pNext; + VkImage image; +} VkImageMemoryRequirementsInfo2; + +typedef struct VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; + +typedef struct VkImageSparseMemoryRequirementsInfo2 { + VkStructureType sType; + const void * pNext; + VkImage image; +} VkImageSparseMemoryRequirementsInfo2; + +typedef struct VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; + +typedef struct VkPhysicalDevicePointClippingProperties { + VkStructureType sType; + void * pNext; + VkPointClippingBehavior pointClippingBehavior; +} VkPhysicalDevicePointClippingProperties; + +typedef struct VkMemoryDedicatedAllocateInfo { + VkStructureType sType; + const void * pNext; + VkImage image; + VkBuffer buffer; +} VkMemoryDedicatedAllocateInfo; + +typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkTessellationDomainOrigin domainOrigin; +} VkPipelineTessellationDomainOriginStateCreateInfo; + +typedef struct VkSamplerYcbcrConversionInfo { + VkStructureType sType; + const void * pNext; + VkSamplerYcbcrConversion conversion; +} VkSamplerYcbcrConversionInfo; + +typedef struct VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; + +typedef struct VkBindImagePlaneMemoryInfo { + VkStructureType sType; + const void * pNext; + VkImageAspectFlagBits planeAspect; +} VkBindImagePlaneMemoryInfo; + +typedef struct VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; + +typedef struct VkImagePlaneMemoryRequirementsInfo { + VkStructureType sType; + const void * pNext; + VkImageAspectFlagBits planeAspect; +} VkImagePlaneMemoryRequirementsInfo; + +typedef struct VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; + +typedef struct VkSamplerYcbcrConversionImageFormatProperties { + VkStructureType sType; + void * pNext; + uint32_t combinedImageSamplerDescriptorCount; +} VkSamplerYcbcrConversionImageFormatProperties; + +typedef struct VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; + +typedef struct VkSamplerReductionModeCreateInfo { + VkStructureType sType; + const void * pNext; + VkSamplerReductionMode reductionMode; +} VkSamplerReductionModeCreateInfo; + +typedef struct VkPhysicalDeviceInlineUniformBlockProperties { + VkStructureType sType; + void * pNext; + uint32_t maxInlineUniformBlockSize; + uint32_t maxPerStageDescriptorInlineUniformBlocks; + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; + uint32_t maxDescriptorSetInlineUniformBlocks; + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; +} VkPhysicalDeviceInlineUniformBlockProperties; + +typedef struct VkWriteDescriptorSetInlineUniformBlock { + VkStructureType sType; + const void * pNext; + uint32_t dataSize; + const void * pData; +} VkWriteDescriptorSetInlineUniformBlock; + +typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t maxInlineUniformBlockBindings; +} VkDescriptorPoolInlineUniformBlockCreateInfo; + +typedef struct VkImageFormatListCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t viewFormatCount; + const VkFormat * pViewFormats; +} VkImageFormatListCreateInfo; + +typedef struct VkRenderingAreaInfo { + VkStructureType sType; + const void * pNext; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat * pColorAttachmentFormats; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; +} VkRenderingAreaInfo; + +typedef struct VkRenderingAreaInfo VkRenderingAreaInfoKHR; + +typedef struct VkDeviceQueueGlobalPriorityCreateInfo { + VkStructureType sType; + const void * pNext; + VkQueueGlobalPriority globalPriority; +} VkDeviceQueueGlobalPriorityCreateInfo; + +typedef struct VkQueueFamilyGlobalPriorityProperties { + VkStructureType sType; + void * pNext; + uint32_t priorityCount; + VkQueueGlobalPriority priorities [ VK_MAX_GLOBAL_PRIORITY_SIZE ]; +} VkQueueFamilyGlobalPriorityProperties; + +typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { + VkStructureType sType; + const void * pNext; + uint32_t descriptorSetCount; + const uint32_t * pDescriptorCounts; +} VkDescriptorSetVariableDescriptorCountAllocateInfo; + +typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { + VkStructureType sType; + void * pNext; + uint32_t maxVariableDescriptorCount; +} VkDescriptorSetVariableDescriptorCountLayoutSupport; + +typedef struct VkSubpassBeginInfo { + VkStructureType sType; + const void * pNext; + VkSubpassContents contents; +} VkSubpassBeginInfo; + +typedef struct VkSubpassBeginInfo VkSubpassBeginInfoKHR; + +typedef struct VkSubpassEndInfo { + VkStructureType sType; + const void * pNext; +} VkSubpassEndInfo; + +typedef struct VkSubpassEndInfo VkSubpassEndInfoKHR; + +typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { + VkStructureType sType; + void * pNext; + uint64_t maxTimelineSemaphoreValueDifference; +} VkPhysicalDeviceTimelineSemaphoreProperties; + +typedef struct VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; + +typedef struct VkSemaphoreTypeCreateInfo { + VkStructureType sType; + const void * pNext; + VkSemaphoreType semaphoreType; + uint64_t initialValue; +} VkSemaphoreTypeCreateInfo; + +typedef struct VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; + +typedef struct VkTimelineSemaphoreSubmitInfo { + VkStructureType sType; + const void * pNext; + uint32_t waitSemaphoreValueCount; + const uint64_t * pWaitSemaphoreValues; + uint32_t signalSemaphoreValueCount; + const uint64_t * pSignalSemaphoreValues; +} VkTimelineSemaphoreSubmitInfo; + +typedef struct VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; + +typedef struct VkSemaphoreSignalInfo { + VkStructureType sType; + const void * pNext; + VkSemaphore semaphore; + uint64_t value; +} VkSemaphoreSignalInfo; + +typedef struct VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; + +typedef struct VkVertexInputBindingDivisorDescription { + uint32_t binding; + uint32_t divisor; +} VkVertexInputBindingDivisorDescription; + +typedef struct VkPipelineVertexInputDivisorStateCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t vertexBindingDivisorCount; + const VkVertexInputBindingDivisorDescription * pVertexBindingDivisors; +} VkPipelineVertexInputDivisorStateCreateInfo; + +typedef struct VkBufferDeviceAddressInfo { + VkStructureType sType; + const void * pNext; + VkBuffer buffer; +} VkBufferDeviceAddressInfo; + +typedef struct VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; + +typedef struct VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; + +typedef struct VkBufferOpaqueCaptureAddressCreateInfo { + VkStructureType sType; + const void * pNext; + uint64_t opaqueCaptureAddress; +} VkBufferOpaqueCaptureAddressCreateInfo; + +typedef struct VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; + +typedef struct VkRenderPassAttachmentBeginInfo { + VkStructureType sType; + const void * pNext; + uint32_t attachmentCount; + const VkImageView * pAttachments; +} VkRenderPassAttachmentBeginInfo; + +typedef struct VkAttachmentReferenceStencilLayout { + VkStructureType sType; + void * pNext; + VkImageLayout stencilLayout; +} VkAttachmentReferenceStencilLayout; + +typedef struct VkAttachmentDescriptionStencilLayout { + VkStructureType sType; + void * pNext; + VkImageLayout stencilInitialLayout; + VkImageLayout stencilFinalLayout; +} VkAttachmentDescriptionStencilLayout; + +typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { + VkStructureType sType; + void * pNext; + uint32_t requiredSubgroupSize; +} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; + +typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; + +typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { + VkStructureType sType; + const void * pNext; + uint64_t opaqueCaptureAddress; +} VkMemoryOpaqueCaptureAddressAllocateInfo; + +typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; + +typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { + VkStructureType sType; + const void * pNext; + VkDeviceMemory memory; +} VkDeviceMemoryOpaqueCaptureAddressInfo; + +typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; + +typedef struct VkPhysicalDeviceLineRasterizationProperties { + VkStructureType sType; + void * pNext; + uint32_t lineSubPixelPrecisionBits; +} VkPhysicalDeviceLineRasterizationProperties; + +typedef struct VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR; + +typedef struct VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesEXT; + +typedef struct VkColorBlendEquationEXT { + VkBlendFactor srcColorBlendFactor; + VkBlendFactor dstColorBlendFactor; + VkBlendOp colorBlendOp; + VkBlendFactor srcAlphaBlendFactor; + VkBlendFactor dstAlphaBlendFactor; + VkBlendOp alphaBlendOp; +} VkColorBlendEquationEXT; + +typedef struct VkVertexInputBindingDescription2EXT { + VkStructureType sType; + void * pNext; + uint32_t binding; + uint32_t stride; + VkVertexInputRate inputRate; + uint32_t divisor; +} VkVertexInputBindingDescription2EXT; + +typedef struct VkVertexInputAttributeDescription2EXT { + VkStructureType sType; + void * pNext; + uint32_t location; + uint32_t binding; + VkFormat format; + uint32_t offset; +} VkVertexInputAttributeDescription2EXT; + +typedef struct VkCommandBufferSubmitInfo { + VkStructureType sType; + const void * pNext; + VkCommandBuffer commandBuffer; + uint32_t deviceMask; +} VkCommandBufferSubmitInfo; + +typedef struct VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; + +typedef struct VkPipelineRenderingCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat * pColorAttachmentFormats; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; +} VkPipelineRenderingCreateInfo; + +typedef struct VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; + +typedef struct VkRenderingAttachmentInfo { + VkStructureType sType; + const void * pNext; + VkImageView imageView; + VkImageLayout imageLayout; + VkResolveModeFlagBits resolveMode; + VkImageView resolveImageView; + VkImageLayout resolveImageLayout; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkClearValue clearValue; +} VkRenderingAttachmentInfo; + +typedef struct VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; + +typedef struct VkPipelineRobustnessCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineRobustnessBufferBehavior storageBuffers; + VkPipelineRobustnessBufferBehavior uniformBuffers; + VkPipelineRobustnessBufferBehavior vertexInputs; + VkPipelineRobustnessImageBehavior images; +} VkPipelineRobustnessCreateInfo; + +typedef struct VkPhysicalDevicePipelineRobustnessProperties { + VkStructureType sType; + void * pNext; + VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; + VkPipelineRobustnessImageBehavior defaultRobustnessImages; +} VkPhysicalDevicePipelineRobustnessProperties; + +typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { + VkStructureType sType; + void * pNext; + uint8_t shaderBinaryUUID [ VK_UUID_SIZE ]; + uint32_t shaderBinaryVersion; +} VkPhysicalDeviceShaderObjectPropertiesEXT; + +typedef struct VkBindMemoryStatus { + VkStructureType sType; + const void * pNext; + VkResult * pResult; +} VkBindMemoryStatus; + +typedef struct VkBindMemoryStatus VkBindMemoryStatusKHR; + +typedef struct VkPushDescriptorSetWithTemplateInfo { + VkStructureType sType; + const void * pNext; + VkDescriptorUpdateTemplate descriptorUpdateTemplate; + VkPipelineLayout layout; + uint32_t set; + const void * pData; +} VkPushDescriptorSetWithTemplateInfo; + +typedef struct VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR; + +typedef struct VkRenderingAttachmentLocationInfo { + VkStructureType sType; + const void * pNext; + uint32_t colorAttachmentCount; + const uint32_t * pColorAttachmentLocations; +} VkRenderingAttachmentLocationInfo; + +typedef struct VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR; + +typedef struct VkRenderingInputAttachmentIndexInfo { + VkStructureType sType; + const void * pNext; + uint32_t colorAttachmentCount; + const uint32_t * pColorAttachmentInputIndices; + const uint32_t * pDepthInputAttachmentIndex; + const uint32_t * pStencilInputAttachmentIndex; +} VkRenderingInputAttachmentIndexInfo; + +typedef struct VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR; + +typedef struct VkDepthClampRangeEXT { + float minDepthClamp; + float maxDepthClamp; +} VkDepthClampRangeEXT; + +/* Complete version of this file */ +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) +typedef uint32_t VkSampleMask; +typedef uint32_t VkBool32; +typedef uint32_t VkFlags; +typedef uint64_t VkFlags64; +typedef uint64_t VkDeviceSize; +typedef uint64_t VkDeviceAddress; +typedef VkFlags VkFramebufferCreateFlags; +typedef VkFlags VkQueryPoolCreateFlags; +typedef VkFlags VkRenderPassCreateFlags; +typedef VkFlags VkSamplerCreateFlags; +typedef VkFlags VkPipelineLayoutCreateFlags; +typedef VkFlags VkPipelineCacheCreateFlags; +typedef VkFlags VkPipelineDepthStencilStateCreateFlags; +typedef VkFlags VkPipelineDynamicStateCreateFlags; +typedef VkFlags VkPipelineColorBlendStateCreateFlags; +typedef VkFlags VkPipelineMultisampleStateCreateFlags; +typedef VkFlags VkPipelineRasterizationStateCreateFlags; +typedef VkFlags VkPipelineViewportStateCreateFlags; +typedef VkFlags VkPipelineTessellationStateCreateFlags; +typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; +typedef VkFlags VkPipelineVertexInputStateCreateFlags; +typedef VkFlags VkPipelineShaderStageCreateFlags; +typedef VkFlags VkDescriptorSetLayoutCreateFlags; +typedef VkFlags VkBufferViewCreateFlags; +typedef VkFlags VkInstanceCreateFlags; +typedef VkFlags VkDeviceCreateFlags; +typedef VkFlags VkDeviceQueueCreateFlags; +typedef VkFlags VkQueueFlags; +typedef VkFlags VkMemoryPropertyFlags; +typedef VkFlags VkMemoryHeapFlags; +typedef VkFlags VkAccessFlags; +typedef VkFlags VkBufferUsageFlags; +typedef VkFlags VkBufferCreateFlags; +typedef VkFlags VkShaderStageFlags; +typedef VkFlags VkImageUsageFlags; +typedef VkFlags VkImageCreateFlags; +typedef VkFlags VkImageViewCreateFlags; +typedef VkFlags VkPipelineCreateFlags; +typedef VkFlags VkColorComponentFlags; +typedef VkFlags VkFenceCreateFlags; +typedef VkFlags VkSemaphoreCreateFlags; +typedef VkFlags VkFormatFeatureFlags; +typedef VkFlags VkQueryControlFlags; +typedef VkFlags VkQueryResultFlags; +typedef VkFlags VkShaderModuleCreateFlags; +typedef VkFlags VkEventCreateFlags; +typedef VkFlags VkCommandPoolCreateFlags; +typedef VkFlags VkCommandPoolResetFlags; +typedef VkFlags VkCommandBufferResetFlags; +typedef VkFlags VkCommandBufferUsageFlags; +typedef VkFlags VkQueryPipelineStatisticFlags; +typedef VkFlags VkMemoryMapFlags; +typedef VkFlags VkMemoryUnmapFlags; +#define VkMemoryUnmapFlagsKHR VkMemoryUnmapFlags +typedef VkFlags VkImageAspectFlags; +typedef VkFlags VkSparseMemoryBindFlags; +typedef VkFlags VkSparseImageFormatFlags; +typedef VkFlags VkSubpassDescriptionFlags; +typedef VkFlags VkPipelineStageFlags; +typedef VkFlags VkSampleCountFlags; +typedef VkFlags VkAttachmentDescriptionFlags; +typedef VkFlags VkStencilFaceFlags; +typedef VkFlags VkCullModeFlags; +typedef VkFlags VkDescriptorPoolCreateFlags; +typedef VkFlags VkDescriptorPoolResetFlags; +typedef VkFlags VkDependencyFlags; +typedef VkFlags VkSubgroupFeatureFlags; +typedef VkFlags VkPrivateDataSlotCreateFlags; +#define VkPrivateDataSlotCreateFlagsEXT VkPrivateDataSlotCreateFlags +typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; +#define VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlags +typedef VkFlags VkPipelineCreationFeedbackFlags; +typedef VkFlags VkSemaphoreWaitFlags; +#define VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlags +typedef VkFlags64 VkAccessFlags2; +#define VkAccessFlags2KHR VkAccessFlags2 +typedef VkFlags64 VkPipelineStageFlags2; +#define VkPipelineStageFlags2KHR VkPipelineStageFlags2 +typedef VkFlags64 VkFormatFeatureFlags2; +typedef VkFlags VkRenderingFlags; +#define VkRenderingFlagsKHR VkRenderingFlags +typedef VkFlags64 VkPipelineCreateFlags2; +#define VkPipelineCreateFlags2KHR VkPipelineCreateFlags2 +typedef VkFlags64 VkBufferUsageFlags2; +#define VkBufferUsageFlags2KHR VkBufferUsageFlags2 +typedef VkFlags VkPeerMemoryFeatureFlags; +#define VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlags +typedef VkFlags VkMemoryAllocateFlags; +#define VkMemoryAllocateFlagsKHR VkMemoryAllocateFlags +typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; +typedef VkFlags VkCommandPoolTrimFlags; +#define VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlags +typedef VkFlags VkExternalMemoryHandleTypeFlags; +#define VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlags +typedef VkFlags VkExternalMemoryFeatureFlags; +#define VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlags +typedef VkFlags VkExternalSemaphoreHandleTypeFlags; +#define VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlags +typedef VkFlags VkExternalSemaphoreFeatureFlags; +#define VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlags +typedef VkFlags VkSemaphoreImportFlags; +typedef VkFlags VkExternalFenceHandleTypeFlags; +#define VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlags +typedef VkFlags VkExternalFenceFeatureFlags; +#define VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlags +typedef VkFlags VkFenceImportFlags; +typedef VkFlags VkDescriptorBindingFlags; +typedef VkFlags VkResolveModeFlags; +typedef VkFlags VkToolPurposeFlags; +#define VkToolPurposeFlagsEXT VkToolPurposeFlags +typedef VkFlags VkSubmitFlags; +#define VkSubmitFlagsKHR VkSubmitFlags +typedef VkFlags VkHostImageCopyFlags; +#define VkHostImageCopyFlagsEXT VkHostImageCopyFlags +typedef VkFlags VkImageCompressionFlagsEXT; +typedef VkFlags VkImageCompressionFixedRateFlagsEXT; +typedef VkFlags VkShaderCreateFlagsEXT; +typedef struct VkDeviceQueueCreateInfo { + VkStructureType sType; + const void * pNext; + VkDeviceQueueCreateFlags flags; + uint32_t queueFamilyIndex; + uint32_t queueCount; + const float * pQueuePriorities; +} VkDeviceQueueCreateInfo; + +typedef struct VkInstanceCreateInfo { + VkStructureType sType; + const void * pNext; + VkInstanceCreateFlags flags; + const VkApplicationInfo * pApplicationInfo; + uint32_t enabledLayerCount; + const char * const* ppEnabledLayerNames; + uint32_t enabledExtensionCount; + const char * const* ppEnabledExtensionNames; +} VkInstanceCreateInfo; + +typedef struct VkQueueFamilyProperties { + VkQueueFlags queueFlags; + uint32_t queueCount; + uint32_t timestampValidBits; + VkExtent3D minImageTransferGranularity; +} VkQueueFamilyProperties; + +typedef struct VkMemoryAllocateInfo { + VkStructureType sType; + const void * pNext; + VkDeviceSize allocationSize; + uint32_t memoryTypeIndex; +} VkMemoryAllocateInfo; + +typedef struct VkMemoryRequirements { + VkDeviceSize size; + VkDeviceSize alignment; + uint32_t memoryTypeBits; +} VkMemoryRequirements; + +typedef struct VkSparseImageFormatProperties { + VkImageAspectFlags aspectMask; + VkExtent3D imageGranularity; + VkSparseImageFormatFlags flags; +} VkSparseImageFormatProperties; + +typedef struct VkSparseImageMemoryRequirements { + VkSparseImageFormatProperties formatProperties; + uint32_t imageMipTailFirstLod; + VkDeviceSize imageMipTailSize; + VkDeviceSize imageMipTailOffset; + VkDeviceSize imageMipTailStride; +} VkSparseImageMemoryRequirements; + +typedef struct VkMemoryType { + VkMemoryPropertyFlags propertyFlags; + uint32_t heapIndex; +} VkMemoryType; + +typedef struct VkMemoryHeap { + VkDeviceSize size; + VkMemoryHeapFlags flags; +} VkMemoryHeap; + +typedef struct VkMappedMemoryRange { + VkStructureType sType; + const void * pNext; + VkDeviceMemory memory; + VkDeviceSize offset; + VkDeviceSize size; +} VkMappedMemoryRange; + +typedef struct VkFormatProperties { + VkFormatFeatureFlags linearTilingFeatures; + VkFormatFeatureFlags optimalTilingFeatures; + VkFormatFeatureFlags bufferFeatures; +} VkFormatProperties; + +typedef struct VkImageFormatProperties { + VkExtent3D maxExtent; + uint32_t maxMipLevels; + uint32_t maxArrayLayers; + VkSampleCountFlags sampleCounts; + VkDeviceSize maxResourceSize; +} VkImageFormatProperties; + +typedef struct VkDescriptorBufferInfo { + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize range; +} VkDescriptorBufferInfo; + +typedef struct VkWriteDescriptorSet { + VkStructureType sType; + const void * pNext; + VkDescriptorSet dstSet; + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; + VkDescriptorType descriptorType; + const VkDescriptorImageInfo * pImageInfo; + const VkDescriptorBufferInfo * pBufferInfo; + const VkBufferView * pTexelBufferView; +} VkWriteDescriptorSet; + +typedef struct VkBufferUsageFlags2CreateInfo { + VkStructureType sType; + const void * pNext; + VkBufferUsageFlags2 usage; +} VkBufferUsageFlags2CreateInfo; + +typedef struct VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR; + +typedef struct VkBufferCreateInfo { + VkStructureType sType; + const void * pNext; + VkBufferCreateFlags flags; + VkDeviceSize size; + VkBufferUsageFlags usage; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t * pQueueFamilyIndices; +} VkBufferCreateInfo; + +typedef struct VkBufferViewCreateInfo { + VkStructureType sType; + const void * pNext; + VkBufferViewCreateFlags flags; + VkBuffer buffer; + VkFormat format; + VkDeviceSize offset; + VkDeviceSize range; +} VkBufferViewCreateInfo; + +typedef struct VkImageSubresource { + VkImageAspectFlags aspectMask; + uint32_t mipLevel; + uint32_t arrayLayer; +} VkImageSubresource; + +typedef struct VkImageSubresourceLayers { + VkImageAspectFlags aspectMask; + uint32_t mipLevel; + uint32_t baseArrayLayer; + uint32_t layerCount; +} VkImageSubresourceLayers; + +typedef struct VkImageSubresourceRange { + VkImageAspectFlags aspectMask; + uint32_t baseMipLevel; + uint32_t levelCount; + uint32_t baseArrayLayer; + uint32_t layerCount; +} VkImageSubresourceRange; + +typedef struct VkMemoryBarrier { + VkStructureType sType; + const void * pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; +} VkMemoryBarrier; + +typedef struct VkBufferMemoryBarrier { + VkStructureType sType; + const void * pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; +} VkBufferMemoryBarrier; + +typedef struct VkImageMemoryBarrier { + VkStructureType sType; + const void * pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkImageLayout oldLayout; + VkImageLayout newLayout; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkImage image; + VkImageSubresourceRange subresourceRange; +} VkImageMemoryBarrier; + +typedef struct VkImageCreateInfo { + VkStructureType sType; + const void * pNext; + VkImageCreateFlags flags; + VkImageType imageType; + VkFormat format; + VkExtent3D extent; + uint32_t mipLevels; + uint32_t arrayLayers; + VkSampleCountFlagBits samples; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t * pQueueFamilyIndices; + VkImageLayout initialLayout; +} VkImageCreateInfo; + +typedef struct VkSubresourceLayout { + VkDeviceSize offset; + VkDeviceSize size; + VkDeviceSize rowPitch; + VkDeviceSize arrayPitch; + VkDeviceSize depthPitch; +} VkSubresourceLayout; + +typedef struct VkImageViewCreateInfo { + VkStructureType sType; + const void * pNext; + VkImageViewCreateFlags flags; + VkImage image; + VkImageViewType viewType; + VkFormat format; + VkComponentMapping components; + VkImageSubresourceRange subresourceRange; +} VkImageViewCreateInfo; + +typedef struct VkBufferCopy { + VkDeviceSize srcOffset; + VkDeviceSize dstOffset; + VkDeviceSize size; +} VkBufferCopy; + +typedef struct VkSparseMemoryBind { + VkDeviceSize resourceOffset; + VkDeviceSize size; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; +} VkSparseMemoryBind; + +typedef struct VkSparseImageMemoryBind { + VkImageSubresource subresource; + VkOffset3D offset; + VkExtent3D extent; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; +} VkSparseImageMemoryBind; + +typedef struct VkSparseBufferMemoryBindInfo { + VkBuffer buffer; + uint32_t bindCount; + const VkSparseMemoryBind * pBinds; +} VkSparseBufferMemoryBindInfo; + +typedef struct VkSparseImageOpaqueMemoryBindInfo { + VkImage image; + uint32_t bindCount; + const VkSparseMemoryBind * pBinds; +} VkSparseImageOpaqueMemoryBindInfo; + +typedef struct VkSparseImageMemoryBindInfo { + VkImage image; + uint32_t bindCount; + const VkSparseImageMemoryBind * pBinds; +} VkSparseImageMemoryBindInfo; + +typedef struct VkBindSparseInfo { + VkStructureType sType; + const void * pNext; + uint32_t waitSemaphoreCount; + const VkSemaphore * pWaitSemaphores; + uint32_t bufferBindCount; + const VkSparseBufferMemoryBindInfo * pBufferBinds; + uint32_t imageOpaqueBindCount; + const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds; + uint32_t imageBindCount; + const VkSparseImageMemoryBindInfo * pImageBinds; + uint32_t signalSemaphoreCount; + const VkSemaphore * pSignalSemaphores; +} VkBindSparseInfo; + +typedef struct VkImageCopy { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; +} VkImageCopy; + +typedef struct VkImageBlit { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffsets [2]; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffsets [2]; +} VkImageBlit; + +typedef struct VkBufferImageCopy { + VkDeviceSize bufferOffset; + uint32_t bufferRowLength; + uint32_t bufferImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; +} VkBufferImageCopy; + +typedef struct VkImageResolve { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; +} VkImageResolve; + +typedef struct VkShaderModuleCreateInfo { + VkStructureType sType; + const void * pNext; + VkShaderModuleCreateFlags flags; + size_t codeSize; + const uint32_t * pCode; +} VkShaderModuleCreateInfo; + +typedef struct VkDescriptorSetLayoutBinding { + uint32_t binding; + VkDescriptorType descriptorType; + uint32_t descriptorCount; + VkShaderStageFlags stageFlags; + const VkSampler * pImmutableSamplers; +} VkDescriptorSetLayoutBinding; + +typedef struct VkDescriptorSetLayoutCreateInfo { + VkStructureType sType; + const void * pNext; + VkDescriptorSetLayoutCreateFlags flags; + uint32_t bindingCount; + const VkDescriptorSetLayoutBinding * pBindings; +} VkDescriptorSetLayoutCreateInfo; + +typedef struct VkDescriptorPoolCreateInfo { + VkStructureType sType; + const void * pNext; + VkDescriptorPoolCreateFlags flags; + uint32_t maxSets; + uint32_t poolSizeCount; + const VkDescriptorPoolSize * pPoolSizes; +} VkDescriptorPoolCreateInfo; + +typedef struct VkPipelineShaderStageCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineShaderStageCreateFlags flags; + VkShaderStageFlagBits stage; + VkShaderModule module; + const char * pName; + const VkSpecializationInfo * pSpecializationInfo; +} VkPipelineShaderStageCreateInfo; + +typedef struct VkComputePipelineCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineCreateFlags flags; + VkPipelineShaderStageCreateInfo stage; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; +} VkComputePipelineCreateInfo; + +typedef struct VkPipelineCreateFlags2CreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineCreateFlags2 flags; +} VkPipelineCreateFlags2CreateInfo; + +typedef struct VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR; + +typedef struct VkPipelineVertexInputStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineVertexInputStateCreateFlags flags; + uint32_t vertexBindingDescriptionCount; + const VkVertexInputBindingDescription * pVertexBindingDescriptions; + uint32_t vertexAttributeDescriptionCount; + const VkVertexInputAttributeDescription * pVertexAttributeDescriptions; +} VkPipelineVertexInputStateCreateInfo; + +typedef struct VkPipelineInputAssemblyStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineInputAssemblyStateCreateFlags flags; + VkPrimitiveTopology topology; + VkBool32 primitiveRestartEnable; +} VkPipelineInputAssemblyStateCreateInfo; + +typedef struct VkPipelineTessellationStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineTessellationStateCreateFlags flags; + uint32_t patchControlPoints; +} VkPipelineTessellationStateCreateInfo; + +typedef struct VkPipelineViewportStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineViewportStateCreateFlags flags; + uint32_t viewportCount; + const VkViewport * pViewports; + uint32_t scissorCount; + const VkRect2D * pScissors; +} VkPipelineViewportStateCreateInfo; + +typedef struct VkPipelineRasterizationStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineRasterizationStateCreateFlags flags; + VkBool32 depthClampEnable; + VkBool32 rasterizerDiscardEnable; + VkPolygonMode polygonMode; + VkCullModeFlags cullMode; + VkFrontFace frontFace; + VkBool32 depthBiasEnable; + float depthBiasConstantFactor; + float depthBiasClamp; + float depthBiasSlopeFactor; + float lineWidth; +} VkPipelineRasterizationStateCreateInfo; + +typedef struct VkPipelineMultisampleStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineMultisampleStateCreateFlags flags; + VkSampleCountFlagBits rasterizationSamples; + VkBool32 sampleShadingEnable; + float minSampleShading; + const VkSampleMask * pSampleMask; + VkBool32 alphaToCoverageEnable; + VkBool32 alphaToOneEnable; +} VkPipelineMultisampleStateCreateInfo; + +typedef struct VkPipelineColorBlendAttachmentState { + VkBool32 blendEnable; + VkBlendFactor srcColorBlendFactor; + VkBlendFactor dstColorBlendFactor; + VkBlendOp colorBlendOp; + VkBlendFactor srcAlphaBlendFactor; + VkBlendFactor dstAlphaBlendFactor; + VkBlendOp alphaBlendOp; + VkColorComponentFlags colorWriteMask; +} VkPipelineColorBlendAttachmentState; + +typedef struct VkPipelineColorBlendStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineColorBlendStateCreateFlags flags; + VkBool32 logicOpEnable; + VkLogicOp logicOp; + uint32_t attachmentCount; + const VkPipelineColorBlendAttachmentState * pAttachments; + float blendConstants [4]; +} VkPipelineColorBlendStateCreateInfo; + +typedef struct VkPipelineDynamicStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineDynamicStateCreateFlags flags; + uint32_t dynamicStateCount; + const VkDynamicState * pDynamicStates; +} VkPipelineDynamicStateCreateInfo; + +typedef struct VkPipelineDepthStencilStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineDepthStencilStateCreateFlags flags; + VkBool32 depthTestEnable; + VkBool32 depthWriteEnable; + VkCompareOp depthCompareOp; + VkBool32 depthBoundsTestEnable; + VkBool32 stencilTestEnable; + VkStencilOpState front; + VkStencilOpState back; + float minDepthBounds; + float maxDepthBounds; +} VkPipelineDepthStencilStateCreateInfo; + +typedef struct VkGraphicsPipelineCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineCreateFlags flags; + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo * pStages; + const VkPipelineVertexInputStateCreateInfo * pVertexInputState; + const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState; + const VkPipelineTessellationStateCreateInfo * pTessellationState; + const VkPipelineViewportStateCreateInfo * pViewportState; + const VkPipelineRasterizationStateCreateInfo * pRasterizationState; + const VkPipelineMultisampleStateCreateInfo * pMultisampleState; + const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState; + const VkPipelineColorBlendStateCreateInfo * pColorBlendState; + const VkPipelineDynamicStateCreateInfo * pDynamicState; + VkPipelineLayout layout; + VkRenderPass renderPass; + uint32_t subpass; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; +} VkGraphicsPipelineCreateInfo; + +typedef struct VkPipelineCacheCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineCacheCreateFlags flags; + size_t initialDataSize; + const void * pInitialData; +} VkPipelineCacheCreateInfo; + +typedef struct VkPushConstantRange { + VkShaderStageFlags stageFlags; + uint32_t offset; + uint32_t size; +} VkPushConstantRange; + +typedef struct VkPipelineLayoutCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineLayoutCreateFlags flags; + uint32_t setLayoutCount; + const VkDescriptorSetLayout * pSetLayouts; + uint32_t pushConstantRangeCount; + const VkPushConstantRange * pPushConstantRanges; +} VkPipelineLayoutCreateInfo; + +typedef struct VkSamplerCreateInfo { + VkStructureType sType; + const void * pNext; + VkSamplerCreateFlags flags; + VkFilter magFilter; + VkFilter minFilter; + VkSamplerMipmapMode mipmapMode; + VkSamplerAddressMode addressModeU; + VkSamplerAddressMode addressModeV; + VkSamplerAddressMode addressModeW; + float mipLodBias; + VkBool32 anisotropyEnable; + float maxAnisotropy; + VkBool32 compareEnable; + VkCompareOp compareOp; + float minLod; + float maxLod; + VkBorderColor borderColor; + VkBool32 unnormalizedCoordinates; +} VkSamplerCreateInfo; + +typedef struct VkCommandPoolCreateInfo { + VkStructureType sType; + const void * pNext; + VkCommandPoolCreateFlags flags; + uint32_t queueFamilyIndex; +} VkCommandPoolCreateInfo; + +typedef struct VkCommandBufferInheritanceInfo { + VkStructureType sType; + const void * pNext; + VkRenderPass renderPass; + uint32_t subpass; + VkFramebuffer framebuffer; + VkBool32 occlusionQueryEnable; + VkQueryControlFlags queryFlags; + VkQueryPipelineStatisticFlags pipelineStatistics; +} VkCommandBufferInheritanceInfo; + +typedef struct VkCommandBufferBeginInfo { + VkStructureType sType; + const void * pNext; + VkCommandBufferUsageFlags flags; + const VkCommandBufferInheritanceInfo * pInheritanceInfo; +} VkCommandBufferBeginInfo; + +typedef struct VkRenderPassBeginInfo { + VkStructureType sType; + const void * pNext; + VkRenderPass renderPass; + VkFramebuffer framebuffer; + VkRect2D renderArea; + uint32_t clearValueCount; + const VkClearValue * pClearValues; +} VkRenderPassBeginInfo; + +typedef struct VkClearAttachment { + VkImageAspectFlags aspectMask; + uint32_t colorAttachment; + VkClearValue clearValue; +} VkClearAttachment; + +typedef struct VkAttachmentDescription { + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; +} VkAttachmentDescription; + +typedef struct VkSubpassDescription { + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t inputAttachmentCount; + const VkAttachmentReference * pInputAttachments; + uint32_t colorAttachmentCount; + const VkAttachmentReference * pColorAttachments; + const VkAttachmentReference * pResolveAttachments; + const VkAttachmentReference * pDepthStencilAttachment; + uint32_t preserveAttachmentCount; + const uint32_t * pPreserveAttachments; +} VkSubpassDescription; + +typedef struct VkSubpassDependency { + uint32_t srcSubpass; + uint32_t dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; +} VkSubpassDependency; + +typedef struct VkRenderPassCreateInfo { + VkStructureType sType; + const void * pNext; + VkRenderPassCreateFlags flags; + uint32_t attachmentCount; + const VkAttachmentDescription * pAttachments; + uint32_t subpassCount; + const VkSubpassDescription * pSubpasses; + uint32_t dependencyCount; + const VkSubpassDependency * pDependencies; +} VkRenderPassCreateInfo; + +typedef struct VkEventCreateInfo { + VkStructureType sType; + const void * pNext; + VkEventCreateFlags flags; +} VkEventCreateInfo; + +typedef struct VkFenceCreateInfo { + VkStructureType sType; + const void * pNext; + VkFenceCreateFlags flags; +} VkFenceCreateInfo; + +typedef struct VkPhysicalDeviceFeatures { + VkBool32 robustBufferAccess; + VkBool32 fullDrawIndexUint32; + VkBool32 imageCubeArray; + VkBool32 independentBlend; + VkBool32 geometryShader; + VkBool32 tessellationShader; + VkBool32 sampleRateShading; + VkBool32 dualSrcBlend; + VkBool32 logicOp; + VkBool32 multiDrawIndirect; + VkBool32 drawIndirectFirstInstance; + VkBool32 depthClamp; + VkBool32 depthBiasClamp; + VkBool32 fillModeNonSolid; + VkBool32 depthBounds; + VkBool32 wideLines; + VkBool32 largePoints; + VkBool32 alphaToOne; + VkBool32 multiViewport; + VkBool32 samplerAnisotropy; + VkBool32 textureCompressionETC2; + VkBool32 textureCompressionASTC_LDR; + VkBool32 textureCompressionBC; + VkBool32 occlusionQueryPrecise; + VkBool32 pipelineStatisticsQuery; + VkBool32 vertexPipelineStoresAndAtomics; + VkBool32 fragmentStoresAndAtomics; + VkBool32 shaderTessellationAndGeometryPointSize; + VkBool32 shaderImageGatherExtended; + VkBool32 shaderStorageImageExtendedFormats; + VkBool32 shaderStorageImageMultisample; + VkBool32 shaderStorageImageReadWithoutFormat; + VkBool32 shaderStorageImageWriteWithoutFormat; + VkBool32 shaderUniformBufferArrayDynamicIndexing; + VkBool32 shaderSampledImageArrayDynamicIndexing; + VkBool32 shaderStorageBufferArrayDynamicIndexing; + VkBool32 shaderStorageImageArrayDynamicIndexing; + VkBool32 shaderClipDistance; + VkBool32 shaderCullDistance; + VkBool32 shaderFloat64; + VkBool32 shaderInt64; + VkBool32 shaderInt16; + VkBool32 shaderResourceResidency; + VkBool32 shaderResourceMinLod; + VkBool32 sparseBinding; + VkBool32 sparseResidencyBuffer; + VkBool32 sparseResidencyImage2D; + VkBool32 sparseResidencyImage3D; + VkBool32 sparseResidency2Samples; + VkBool32 sparseResidency4Samples; + VkBool32 sparseResidency8Samples; + VkBool32 sparseResidency16Samples; + VkBool32 sparseResidencyAliased; + VkBool32 variableMultisampleRate; + VkBool32 inheritedQueries; +} VkPhysicalDeviceFeatures; + +typedef struct VkPhysicalDeviceSparseProperties { + VkBool32 residencyStandard2DBlockShape; + VkBool32 residencyStandard2DMultisampleBlockShape; + VkBool32 residencyStandard3DBlockShape; + VkBool32 residencyAlignedMipSize; + VkBool32 residencyNonResidentStrict; +} VkPhysicalDeviceSparseProperties; + +typedef struct VkPhysicalDeviceLimits { + uint32_t maxImageDimension1D; + uint32_t maxImageDimension2D; + uint32_t maxImageDimension3D; + uint32_t maxImageDimensionCube; + uint32_t maxImageArrayLayers; + uint32_t maxTexelBufferElements; + uint32_t maxUniformBufferRange; + uint32_t maxStorageBufferRange; + uint32_t maxPushConstantsSize; + uint32_t maxMemoryAllocationCount; + uint32_t maxSamplerAllocationCount; + VkDeviceSize bufferImageGranularity; + VkDeviceSize sparseAddressSpaceSize; + uint32_t maxBoundDescriptorSets; + uint32_t maxPerStageDescriptorSamplers; + uint32_t maxPerStageDescriptorUniformBuffers; + uint32_t maxPerStageDescriptorStorageBuffers; + uint32_t maxPerStageDescriptorSampledImages; + uint32_t maxPerStageDescriptorStorageImages; + uint32_t maxPerStageDescriptorInputAttachments; + uint32_t maxPerStageResources; + uint32_t maxDescriptorSetSamplers; + uint32_t maxDescriptorSetUniformBuffers; + uint32_t maxDescriptorSetUniformBuffersDynamic; + uint32_t maxDescriptorSetStorageBuffers; + uint32_t maxDescriptorSetStorageBuffersDynamic; + uint32_t maxDescriptorSetSampledImages; + uint32_t maxDescriptorSetStorageImages; + uint32_t maxDescriptorSetInputAttachments; + uint32_t maxVertexInputAttributes; + uint32_t maxVertexInputBindings; + uint32_t maxVertexInputAttributeOffset; + uint32_t maxVertexInputBindingStride; + uint32_t maxVertexOutputComponents; + uint32_t maxTessellationGenerationLevel; + uint32_t maxTessellationPatchSize; + uint32_t maxTessellationControlPerVertexInputComponents; + uint32_t maxTessellationControlPerVertexOutputComponents; + uint32_t maxTessellationControlPerPatchOutputComponents; + uint32_t maxTessellationControlTotalOutputComponents; + uint32_t maxTessellationEvaluationInputComponents; + uint32_t maxTessellationEvaluationOutputComponents; + uint32_t maxGeometryShaderInvocations; + uint32_t maxGeometryInputComponents; + uint32_t maxGeometryOutputComponents; + uint32_t maxGeometryOutputVertices; + uint32_t maxGeometryTotalOutputComponents; + uint32_t maxFragmentInputComponents; + uint32_t maxFragmentOutputAttachments; + uint32_t maxFragmentDualSrcAttachments; + uint32_t maxFragmentCombinedOutputResources; + uint32_t maxComputeSharedMemorySize; + uint32_t maxComputeWorkGroupCount [3]; + uint32_t maxComputeWorkGroupInvocations; + uint32_t maxComputeWorkGroupSize [3]; + uint32_t subPixelPrecisionBits; + uint32_t subTexelPrecisionBits; + uint32_t mipmapPrecisionBits; + uint32_t maxDrawIndexedIndexValue; + uint32_t maxDrawIndirectCount; + float maxSamplerLodBias; + float maxSamplerAnisotropy; + uint32_t maxViewports; + uint32_t maxViewportDimensions [2]; + float viewportBoundsRange [2]; + uint32_t viewportSubPixelBits; + size_t minMemoryMapAlignment; + VkDeviceSize minTexelBufferOffsetAlignment; + VkDeviceSize minUniformBufferOffsetAlignment; + VkDeviceSize minStorageBufferOffsetAlignment; + int32_t minTexelOffset; + uint32_t maxTexelOffset; + int32_t minTexelGatherOffset; + uint32_t maxTexelGatherOffset; + float minInterpolationOffset; + float maxInterpolationOffset; + uint32_t subPixelInterpolationOffsetBits; + uint32_t maxFramebufferWidth; + uint32_t maxFramebufferHeight; + uint32_t maxFramebufferLayers; + VkSampleCountFlags framebufferColorSampleCounts; + VkSampleCountFlags framebufferDepthSampleCounts; + VkSampleCountFlags framebufferStencilSampleCounts; + VkSampleCountFlags framebufferNoAttachmentsSampleCounts; + uint32_t maxColorAttachments; + VkSampleCountFlags sampledImageColorSampleCounts; + VkSampleCountFlags sampledImageIntegerSampleCounts; + VkSampleCountFlags sampledImageDepthSampleCounts; + VkSampleCountFlags sampledImageStencilSampleCounts; + VkSampleCountFlags storageImageSampleCounts; + uint32_t maxSampleMaskWords; + VkBool32 timestampComputeAndGraphics; + float timestampPeriod; + uint32_t maxClipDistances; + uint32_t maxCullDistances; + uint32_t maxCombinedClipAndCullDistances; + uint32_t discreteQueuePriorities; + float pointSizeRange [2]; + float lineWidthRange [2]; + float pointSizeGranularity; + float lineWidthGranularity; + VkBool32 strictLines; + VkBool32 standardSampleLocations; + VkDeviceSize optimalBufferCopyOffsetAlignment; + VkDeviceSize optimalBufferCopyRowPitchAlignment; + VkDeviceSize nonCoherentAtomSize; +} VkPhysicalDeviceLimits; + +typedef struct VkSemaphoreCreateInfo { + VkStructureType sType; + const void * pNext; + VkSemaphoreCreateFlags flags; +} VkSemaphoreCreateInfo; + +typedef struct VkQueryPoolCreateInfo { + VkStructureType sType; + const void * pNext; + VkQueryPoolCreateFlags flags; + VkQueryType queryType; + uint32_t queryCount; + VkQueryPipelineStatisticFlags pipelineStatistics; +} VkQueryPoolCreateInfo; + +typedef struct VkFramebufferCreateInfo { + VkStructureType sType; + const void * pNext; + VkFramebufferCreateFlags flags; + VkRenderPass renderPass; + uint32_t attachmentCount; + const VkImageView * pAttachments; + uint32_t width; + uint32_t height; + uint32_t layers; +} VkFramebufferCreateInfo; + +typedef struct VkSubmitInfo { + VkStructureType sType; + const void * pNext; + uint32_t waitSemaphoreCount; + const VkSemaphore * pWaitSemaphores; + const VkPipelineStageFlags * pWaitDstStageMask; + uint32_t commandBufferCount; + const VkCommandBuffer * pCommandBuffers; + uint32_t signalSemaphoreCount; + const VkSemaphore * pSignalSemaphores; +} VkSubmitInfo; + +typedef struct VkPrivateDataSlotCreateInfo { + VkStructureType sType; + const void * pNext; + VkPrivateDataSlotCreateFlags flags; +} VkPrivateDataSlotCreateInfo; + +typedef struct VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; + +typedef struct VkPhysicalDevicePrivateDataFeatures { + VkStructureType sType; + void * pNext; + VkBool32 privateData; +} VkPhysicalDevicePrivateDataFeatures; + +typedef struct VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; + +typedef struct VkPhysicalDeviceFeatures2 { + VkStructureType sType; + void * pNext; + VkPhysicalDeviceFeatures features; +} VkPhysicalDeviceFeatures2; + +typedef struct VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; + +typedef struct VkFormatProperties2 { + VkStructureType sType; + void * pNext; + VkFormatProperties formatProperties; +} VkFormatProperties2; + +typedef struct VkFormatProperties2 VkFormatProperties2KHR; + +typedef struct VkImageFormatProperties2 { + VkStructureType sType; + void * pNext; + VkImageFormatProperties imageFormatProperties; +} VkImageFormatProperties2; + +typedef struct VkImageFormatProperties2 VkImageFormatProperties2KHR; + +typedef struct VkPhysicalDeviceImageFormatInfo2 { + VkStructureType sType; + const void * pNext; + VkFormat format; + VkImageType type; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkImageCreateFlags flags; +} VkPhysicalDeviceImageFormatInfo2; + +typedef struct VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; + +typedef struct VkQueueFamilyProperties2 { + VkStructureType sType; + void * pNext; + VkQueueFamilyProperties queueFamilyProperties; +} VkQueueFamilyProperties2; + +typedef struct VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; + +typedef struct VkSparseImageFormatProperties2 { + VkStructureType sType; + void * pNext; + VkSparseImageFormatProperties properties; +} VkSparseImageFormatProperties2; + +typedef struct VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; + +typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { + VkStructureType sType; + const void * pNext; + VkFormat format; + VkImageType type; + VkSampleCountFlagBits samples; + VkImageUsageFlags usage; + VkImageTiling tiling; +} VkPhysicalDeviceSparseImageFormatInfo2; + +typedef struct VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; + +typedef struct VkPhysicalDeviceVariablePointersFeatures { + VkStructureType sType; + void * pNext; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; +} VkPhysicalDeviceVariablePointersFeatures; + +typedef struct VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; + +typedef struct VkExternalMemoryProperties { + VkExternalMemoryFeatureFlags externalMemoryFeatures; + VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; + VkExternalMemoryHandleTypeFlags compatibleHandleTypes; +} VkExternalMemoryProperties; + +typedef struct VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; + +typedef struct VkExternalImageFormatProperties { + VkStructureType sType; + void * pNext; + VkExternalMemoryProperties externalMemoryProperties; +} VkExternalImageFormatProperties; + +typedef struct VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; + +typedef struct VkPhysicalDeviceExternalBufferInfo { + VkStructureType sType; + const void * pNext; + VkBufferCreateFlags flags; + VkBufferUsageFlags usage; + VkExternalMemoryHandleTypeFlagBits handleType; +} VkPhysicalDeviceExternalBufferInfo; + +typedef struct VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; + +typedef struct VkExternalBufferProperties { + VkStructureType sType; + void * pNext; + VkExternalMemoryProperties externalMemoryProperties; +} VkExternalBufferProperties; + +typedef struct VkExternalBufferProperties VkExternalBufferPropertiesKHR; + +typedef struct VkPhysicalDeviceIDProperties { + VkStructureType sType; + void * pNext; + uint8_t deviceUUID [ VK_UUID_SIZE ]; + uint8_t driverUUID [ VK_UUID_SIZE ]; + uint8_t deviceLUID [ VK_LUID_SIZE ]; + uint32_t deviceNodeMask; + VkBool32 deviceLUIDValid; +} VkPhysicalDeviceIDProperties; + +typedef struct VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; + +typedef struct VkExternalMemoryImageCreateInfo { + VkStructureType sType; + const void * pNext; + VkExternalMemoryHandleTypeFlags handleTypes; +} VkExternalMemoryImageCreateInfo; + +typedef struct VkExternalMemoryBufferCreateInfo { + VkStructureType sType; + const void * pNext; + VkExternalMemoryHandleTypeFlags handleTypes; +} VkExternalMemoryBufferCreateInfo; + +typedef struct VkExportMemoryAllocateInfo { + VkStructureType sType; + const void * pNext; + VkExternalMemoryHandleTypeFlags handleTypes; +} VkExportMemoryAllocateInfo; + +typedef struct VkExternalSemaphoreProperties { + VkStructureType sType; + void * pNext; + VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; + VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; + VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; +} VkExternalSemaphoreProperties; + +typedef struct VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; + +typedef struct VkExportSemaphoreCreateInfo { + VkStructureType sType; + const void * pNext; + VkExternalSemaphoreHandleTypeFlags handleTypes; +} VkExportSemaphoreCreateInfo; + +typedef struct VkExternalFenceProperties { + VkStructureType sType; + void * pNext; + VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; + VkExternalFenceHandleTypeFlags compatibleHandleTypes; + VkExternalFenceFeatureFlags externalFenceFeatures; +} VkExternalFenceProperties; + +typedef struct VkExternalFenceProperties VkExternalFencePropertiesKHR; + +typedef struct VkExportFenceCreateInfo { + VkStructureType sType; + const void * pNext; + VkExternalFenceHandleTypeFlags handleTypes; +} VkExportFenceCreateInfo; + +typedef struct VkPhysicalDeviceMultiviewFeatures { + VkStructureType sType; + void * pNext; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; +} VkPhysicalDeviceMultiviewFeatures; + +typedef struct VkPhysicalDeviceGroupProperties { + VkStructureType sType; + void * pNext; + uint32_t physicalDeviceCount; + VkPhysicalDevice physicalDevices [ VK_MAX_DEVICE_GROUP_SIZE ]; + VkBool32 subsetAllocation; +} VkPhysicalDeviceGroupProperties; + +typedef struct VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; + +typedef struct VkMemoryAllocateFlagsInfo { + VkStructureType sType; + const void * pNext; + VkMemoryAllocateFlags flags; + uint32_t deviceMask; +} VkMemoryAllocateFlagsInfo; + +typedef struct VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; + +typedef struct VkBindBufferMemoryInfo { + VkStructureType sType; + const void * pNext; + VkBuffer buffer; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; +} VkBindBufferMemoryInfo; + +typedef struct VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; + +typedef struct VkBindImageMemoryInfo { + VkStructureType sType; + const void * pNext; + VkImage image; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; +} VkBindImageMemoryInfo; + +typedef struct VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; + +typedef struct VkDeviceGroupPresentCapabilitiesKHR { + VkStructureType sType; + void * pNext; + uint32_t presentMask [ VK_MAX_DEVICE_GROUP_SIZE ]; + VkDeviceGroupPresentModeFlagsKHR modes; +} VkDeviceGroupPresentCapabilitiesKHR; + +typedef struct VkDeviceGroupSwapchainCreateInfoKHR { + VkStructureType sType; + const void * pNext; + VkDeviceGroupPresentModeFlagsKHR modes; +} VkDeviceGroupSwapchainCreateInfoKHR; + +typedef struct VkDescriptorUpdateTemplateCreateInfo { + VkStructureType sType; + const void * pNext; + VkDescriptorUpdateTemplateCreateFlags flags; + uint32_t descriptorUpdateEntryCount; + const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries; + VkDescriptorUpdateTemplateType templateType; + VkDescriptorSetLayout descriptorSetLayout; + VkPipelineBindPoint pipelineBindPoint; + VkPipelineLayout pipelineLayout; + uint32_t set; +} VkDescriptorUpdateTemplateCreateInfo; + +typedef struct VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; + +typedef struct VkInputAttachmentAspectReference { + uint32_t subpass; + uint32_t inputAttachmentIndex; + VkImageAspectFlags aspectMask; +} VkInputAttachmentAspectReference; + +typedef struct VkRenderPassInputAttachmentAspectCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t aspectReferenceCount; + const VkInputAttachmentAspectReference * pAspectReferences; +} VkRenderPassInputAttachmentAspectCreateInfo; + +typedef struct VkPhysicalDevice16BitStorageFeatures { + VkStructureType sType; + void * pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; +} VkPhysicalDevice16BitStorageFeatures; + +typedef struct VkPhysicalDeviceSubgroupProperties { + VkStructureType sType; + void * pNext; + uint32_t subgroupSize; + VkShaderStageFlags supportedStages; + VkSubgroupFeatureFlags supportedOperations; + VkBool32 quadOperationsInAllStages; +} VkPhysicalDeviceSubgroupProperties; + +typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderSubgroupExtendedTypes; +} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; + +typedef struct VkDeviceBufferMemoryRequirements { + VkStructureType sType; + const void * pNext; + const VkBufferCreateInfo * pCreateInfo; +} VkDeviceBufferMemoryRequirements; + +typedef struct VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; + +typedef struct VkDeviceImageMemoryRequirements { + VkStructureType sType; + const void * pNext; + const VkImageCreateInfo * pCreateInfo; + VkImageAspectFlagBits planeAspect; +} VkDeviceImageMemoryRequirements; + +typedef struct VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; + +typedef struct VkMemoryRequirements2 { + VkStructureType sType; + void * pNext; + VkMemoryRequirements memoryRequirements; +} VkMemoryRequirements2; + +typedef struct VkMemoryRequirements2 VkMemoryRequirements2KHR; + +typedef struct VkSparseImageMemoryRequirements2 { + VkStructureType sType; + void * pNext; + VkSparseImageMemoryRequirements memoryRequirements; +} VkSparseImageMemoryRequirements2; + +typedef struct VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; + +typedef struct VkMemoryDedicatedRequirements { + VkStructureType sType; + void * pNext; + VkBool32 prefersDedicatedAllocation; + VkBool32 requiresDedicatedAllocation; +} VkMemoryDedicatedRequirements; + +typedef struct VkImageViewUsageCreateInfo { + VkStructureType sType; + const void * pNext; + VkImageUsageFlags usage; +} VkImageViewUsageCreateInfo; + +typedef struct VkSamplerYcbcrConversionCreateInfo { + VkStructureType sType; + const void * pNext; + VkFormat format; + VkSamplerYcbcrModelConversion ycbcrModel; + VkSamplerYcbcrRange ycbcrRange; + VkComponentMapping components; + VkChromaLocation xChromaOffset; + VkChromaLocation yChromaOffset; + VkFilter chromaFilter; + VkBool32 forceExplicitReconstruction; +} VkSamplerYcbcrConversionCreateInfo; + +typedef struct VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; + +typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { + VkStructureType sType; + void * pNext; + VkBool32 samplerYcbcrConversion; +} VkPhysicalDeviceSamplerYcbcrConversionFeatures; + +typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; + +typedef struct VkProtectedSubmitInfo { + VkStructureType sType; + const void * pNext; + VkBool32 protectedSubmit; +} VkProtectedSubmitInfo; + +typedef struct VkPhysicalDeviceProtectedMemoryFeatures { + VkStructureType sType; + void * pNext; + VkBool32 protectedMemory; +} VkPhysicalDeviceProtectedMemoryFeatures; + +typedef struct VkPhysicalDeviceProtectedMemoryProperties { + VkStructureType sType; + void * pNext; + VkBool32 protectedNoFault; +} VkPhysicalDeviceProtectedMemoryProperties; + +typedef struct VkDeviceQueueInfo2 { + VkStructureType sType; + const void * pNext; + VkDeviceQueueCreateFlags flags; + uint32_t queueFamilyIndex; + uint32_t queueIndex; +} VkDeviceQueueInfo2; + +typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { + VkStructureType sType; + void * pNext; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; +} VkPhysicalDeviceSamplerFilterMinmaxProperties; + +typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { + VkStructureType sType; + void * pNext; + VkBool32 inlineUniformBlock; + VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; +} VkPhysicalDeviceInlineUniformBlockFeatures; + +typedef struct VkPhysicalDeviceMaintenance3Properties { + VkStructureType sType; + void * pNext; + uint32_t maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; +} VkPhysicalDeviceMaintenance3Properties; + +typedef struct VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; + +typedef struct VkPhysicalDeviceMaintenance4Features { + VkStructureType sType; + void * pNext; + VkBool32 maintenance4; +} VkPhysicalDeviceMaintenance4Features; + +typedef struct VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; + +typedef struct VkPhysicalDeviceMaintenance4Properties { + VkStructureType sType; + void * pNext; + VkDeviceSize maxBufferSize; +} VkPhysicalDeviceMaintenance4Properties; + +typedef struct VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; + +typedef struct VkPhysicalDeviceMaintenance5Features { + VkStructureType sType; + void * pNext; + VkBool32 maintenance5; +} VkPhysicalDeviceMaintenance5Features; + +typedef struct VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR; + +typedef struct VkPhysicalDeviceMaintenance5Properties { + VkStructureType sType; + void * pNext; + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; + VkBool32 depthStencilSwizzleOneSupport; + VkBool32 polygonModePointSize; + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; + VkBool32 nonStrictWideLinesUseParallelogram; +} VkPhysicalDeviceMaintenance5Properties; + +typedef struct VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR; + +typedef struct VkPhysicalDeviceMaintenance6Features { + VkStructureType sType; + void * pNext; + VkBool32 maintenance6; +} VkPhysicalDeviceMaintenance6Features; + +typedef struct VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR; + +typedef struct VkPhysicalDeviceMaintenance6Properties { + VkStructureType sType; + void * pNext; + VkBool32 blockTexelViewCompatibleMultipleLayers; + uint32_t maxCombinedImageSamplerDescriptorCount; + VkBool32 fragmentShadingRateClampCombinerInputs; +} VkPhysicalDeviceMaintenance6Properties; + +typedef struct VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR; + +typedef struct VkDescriptorSetLayoutSupport { + VkStructureType sType; + void * pNext; + VkBool32 supported; +} VkDescriptorSetLayoutSupport; + +typedef struct VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; + +typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderDrawParameters; +} VkPhysicalDeviceShaderDrawParametersFeatures; + +typedef struct VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; + +typedef struct VkPhysicalDeviceShaderFloat16Int8Features { + VkStructureType sType; + void * pNext; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; +} VkPhysicalDeviceShaderFloat16Int8Features; + +typedef struct VkPhysicalDeviceFloatControlsProperties { + VkStructureType sType; + void * pNext; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; +} VkPhysicalDeviceFloatControlsProperties; + +typedef struct VkPhysicalDeviceHostQueryResetFeatures { + VkStructureType sType; + void * pNext; + VkBool32 hostQueryReset; +} VkPhysicalDeviceHostQueryResetFeatures; + +typedef struct VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; + +typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures { + VkStructureType sType; + void * pNext; + VkBool32 globalPriorityQuery; +} VkPhysicalDeviceGlobalPriorityQueryFeatures; + +typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; +} VkPhysicalDeviceDescriptorIndexingFeatures; + +typedef struct VkPhysicalDeviceDescriptorIndexingProperties { + VkStructureType sType; + void * pNext; + uint32_t maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; + uint32_t maxPerStageUpdateAfterBindResources; + uint32_t maxDescriptorSetUpdateAfterBindSamplers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindSampledImages; + uint32_t maxDescriptorSetUpdateAfterBindStorageImages; + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; +} VkPhysicalDeviceDescriptorIndexingProperties; + +typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t bindingCount; + const VkDescriptorBindingFlags * pBindingFlags; +} VkDescriptorSetLayoutBindingFlagsCreateInfo; + +typedef struct VkAttachmentDescription2 { + VkStructureType sType; + const void * pNext; + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; +} VkAttachmentDescription2; + +typedef struct VkAttachmentDescription2 VkAttachmentDescription2KHR; + +typedef struct VkAttachmentReference2 { + VkStructureType sType; + const void * pNext; + uint32_t attachment; + VkImageLayout layout; + VkImageAspectFlags aspectMask; +} VkAttachmentReference2; + +typedef struct VkAttachmentReference2 VkAttachmentReference2KHR; + +typedef struct VkSubpassDescription2 { + VkStructureType sType; + const void * pNext; + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t viewMask; + uint32_t inputAttachmentCount; + const VkAttachmentReference2 * pInputAttachments; + uint32_t colorAttachmentCount; + const VkAttachmentReference2 * pColorAttachments; + const VkAttachmentReference2 * pResolveAttachments; + const VkAttachmentReference2 * pDepthStencilAttachment; + uint32_t preserveAttachmentCount; + const uint32_t * pPreserveAttachments; +} VkSubpassDescription2; + +typedef struct VkSubpassDescription2 VkSubpassDescription2KHR; + +typedef struct VkSubpassDependency2 { + VkStructureType sType; + const void * pNext; + uint32_t srcSubpass; + uint32_t dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + int32_t viewOffset; +} VkSubpassDependency2; + +typedef struct VkSubpassDependency2 VkSubpassDependency2KHR; + +typedef struct VkRenderPassCreateInfo2 { + VkStructureType sType; + const void * pNext; + VkRenderPassCreateFlags flags; + uint32_t attachmentCount; + const VkAttachmentDescription2 * pAttachments; + uint32_t subpassCount; + const VkSubpassDescription2 * pSubpasses; + uint32_t dependencyCount; + const VkSubpassDependency2 * pDependencies; + uint32_t correlatedViewMaskCount; + const uint32_t * pCorrelatedViewMasks; +} VkRenderPassCreateInfo2; + +typedef struct VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; + +typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { + VkStructureType sType; + void * pNext; + VkBool32 timelineSemaphore; +} VkPhysicalDeviceTimelineSemaphoreFeatures; + +typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; + +typedef struct VkSemaphoreWaitInfo { + VkStructureType sType; + const void * pNext; + VkSemaphoreWaitFlags flags; + uint32_t semaphoreCount; + const VkSemaphore * pSemaphores; + const uint64_t * pValues; +} VkSemaphoreWaitInfo; + +typedef struct VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; + +typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties { + VkStructureType sType; + void * pNext; + uint32_t maxVertexAttribDivisor; + VkBool32 supportsNonZeroFirstInstance; +} VkPhysicalDeviceVertexAttributeDivisorProperties; + +typedef struct VkPhysicalDevice8BitStorageFeatures { + VkStructureType sType; + void * pNext; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; +} VkPhysicalDevice8BitStorageFeatures; + +typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { + VkStructureType sType; + void * pNext; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; +} VkPhysicalDeviceVulkanMemoryModelFeatures; + +typedef struct VkPhysicalDeviceShaderAtomicInt64Features { + VkStructureType sType; + void * pNext; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; +} VkPhysicalDeviceShaderAtomicInt64Features; + +typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures { + VkStructureType sType; + void * pNext; + VkBool32 vertexAttributeInstanceRateDivisor; + VkBool32 vertexAttributeInstanceRateZeroDivisor; +} VkPhysicalDeviceVertexAttributeDivisorFeatures; + +typedef struct VkPhysicalDeviceDepthStencilResolveProperties { + VkStructureType sType; + void * pNext; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; +} VkPhysicalDeviceDepthStencilResolveProperties; + +typedef struct VkSubpassDescriptionDepthStencilResolve { + VkStructureType sType; + const void * pNext; + VkResolveModeFlagBits depthResolveMode; + VkResolveModeFlagBits stencilResolveMode; + const VkAttachmentReference2 * pDepthStencilResolveAttachment; +} VkSubpassDescriptionDepthStencilResolve; + +typedef struct VkImageStencilUsageCreateInfo { + VkStructureType sType; + const void * pNext; + VkImageUsageFlags stencilUsage; +} VkImageStencilUsageCreateInfo; + +typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { + VkStructureType sType; + void * pNext; + VkBool32 scalarBlockLayout; +} VkPhysicalDeviceScalarBlockLayoutFeatures; + +typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { + VkStructureType sType; + void * pNext; + VkBool32 uniformBufferStandardLayout; +} VkPhysicalDeviceUniformBufferStandardLayoutFeatures; + +typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { + VkStructureType sType; + void * pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; +} VkPhysicalDeviceBufferDeviceAddressFeatures; + +typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; + +typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { + VkStructureType sType; + void * pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; +} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; + +typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; + +typedef struct VkBufferDeviceAddressCreateInfoEXT { + VkStructureType sType; + const void * pNext; + VkDeviceAddress deviceAddress; +} VkBufferDeviceAddressCreateInfoEXT; + +typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { + VkStructureType sType; + void * pNext; + VkBool32 imagelessFramebuffer; +} VkPhysicalDeviceImagelessFramebufferFeatures; + +typedef struct VkFramebufferAttachmentImageInfo { + VkStructureType sType; + const void * pNext; + VkImageCreateFlags flags; + VkImageUsageFlags usage; + uint32_t width; + uint32_t height; + uint32_t layerCount; + uint32_t viewFormatCount; + const VkFormat * pViewFormats; +} VkFramebufferAttachmentImageInfo; + +typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { + VkStructureType sType; + void * pNext; + VkBool32 textureCompressionASTC_HDR; +} VkPhysicalDeviceTextureCompressionASTCHDRFeatures; + +typedef struct VkPipelineCreationFeedback { + VkPipelineCreationFeedbackFlags flags; + uint64_t duration; +} VkPipelineCreationFeedback; + +typedef struct VkPipelineCreationFeedbackCreateInfo { + VkStructureType sType; + const void * pNext; + VkPipelineCreationFeedback * pPipelineCreationFeedback; + uint32_t pipelineStageCreationFeedbackCount; + VkPipelineCreationFeedback * pPipelineStageCreationFeedbacks; +} VkPipelineCreationFeedbackCreateInfo; + +typedef struct VkPhysicalDeviceIndexTypeUint8Features { + VkStructureType sType; + void * pNext; + VkBool32 indexTypeUint8; +} VkPhysicalDeviceIndexTypeUint8Features; + +typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { + VkStructureType sType; + void * pNext; + VkBool32 separateDepthStencilLayouts; +} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; + +typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderDemoteToHelperInvocation; +} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; + +typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { + VkStructureType sType; + void * pNext; + VkDeviceSize storageTexelBufferOffsetAlignmentBytes; + VkBool32 storageTexelBufferOffsetSingleTexelAlignment; + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; +} VkPhysicalDeviceTexelBufferAlignmentProperties; + +typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { + VkStructureType sType; + void * pNext; + VkBool32 subgroupSizeControl; + VkBool32 computeFullSubgroups; +} VkPhysicalDeviceSubgroupSizeControlFeatures; + +typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { + VkStructureType sType; + void * pNext; + uint32_t minSubgroupSize; + uint32_t maxSubgroupSize; + uint32_t maxComputeWorkgroupSubgroups; + VkShaderStageFlags requiredSubgroupSizeStages; +} VkPhysicalDeviceSubgroupSizeControlProperties; + +typedef struct VkPhysicalDeviceLineRasterizationFeatures { + VkStructureType sType; + void * pNext; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; +} VkPhysicalDeviceLineRasterizationFeatures; + +typedef struct VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR; + +typedef struct VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesEXT; + +typedef struct VkPipelineRasterizationLineStateCreateInfo { + VkStructureType sType; + const void * pNext; + VkLineRasterizationMode lineRasterizationMode; + VkBool32 stippledLineEnable; + uint32_t lineStippleFactor; + uint16_t lineStipplePattern; +} VkPipelineRasterizationLineStateCreateInfo; + +typedef struct VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR; + +typedef struct VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT; + +typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { + VkStructureType sType; + void * pNext; + VkBool32 pipelineCreationCacheControl; +} VkPhysicalDevicePipelineCreationCacheControlFeatures; + +typedef struct VkPhysicalDeviceVulkan11Features { + VkStructureType sType; + void * pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + VkBool32 protectedMemory; + VkBool32 samplerYcbcrConversion; + VkBool32 shaderDrawParameters; +} VkPhysicalDeviceVulkan11Features; + +typedef struct VkPhysicalDeviceVulkan11Properties { + VkStructureType sType; + void * pNext; + uint8_t deviceUUID [ VK_UUID_SIZE ]; + uint8_t driverUUID [ VK_UUID_SIZE ]; + uint8_t deviceLUID [ VK_LUID_SIZE ]; + uint32_t deviceNodeMask; + VkBool32 deviceLUIDValid; + uint32_t subgroupSize; + VkShaderStageFlags subgroupSupportedStages; + VkSubgroupFeatureFlags subgroupSupportedOperations; + VkBool32 subgroupQuadOperationsInAllStages; + VkPointClippingBehavior pointClippingBehavior; + uint32_t maxMultiviewViewCount; + uint32_t maxMultiviewInstanceIndex; + VkBool32 protectedNoFault; + uint32_t maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; +} VkPhysicalDeviceVulkan11Properties; + +typedef struct VkPhysicalDeviceVulkan12Features { + VkStructureType sType; + void * pNext; + VkBool32 samplerMirrorClampToEdge; + VkBool32 drawIndirectCount; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + VkBool32 descriptorIndexing; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + VkBool32 samplerFilterMinmax; + VkBool32 scalarBlockLayout; + VkBool32 imagelessFramebuffer; + VkBool32 uniformBufferStandardLayout; + VkBool32 shaderSubgroupExtendedTypes; + VkBool32 separateDepthStencilLayouts; + VkBool32 hostQueryReset; + VkBool32 timelineSemaphore; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; + VkBool32 shaderOutputViewportIndex; + VkBool32 shaderOutputLayer; + VkBool32 subgroupBroadcastDynamicId; +} VkPhysicalDeviceVulkan12Features; + +typedef struct VkPhysicalDeviceVulkan12Properties { + VkStructureType sType; + void * pNext; + VkDriverId driverID; + char driverName [ VK_MAX_DRIVER_NAME_SIZE ]; + char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ]; + VkConformanceVersion conformanceVersion; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + uint32_t maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; + uint32_t maxPerStageUpdateAfterBindResources; + uint32_t maxDescriptorSetUpdateAfterBindSamplers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindSampledImages; + uint32_t maxDescriptorSetUpdateAfterBindStorageImages; + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + uint64_t maxTimelineSemaphoreValueDifference; + VkSampleCountFlags framebufferIntegerColorSampleCounts; +} VkPhysicalDeviceVulkan12Properties; + +typedef struct VkPhysicalDeviceVulkan13Features { + VkStructureType sType; + void * pNext; + VkBool32 robustImageAccess; + VkBool32 inlineUniformBlock; + VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; + VkBool32 pipelineCreationCacheControl; + VkBool32 privateData; + VkBool32 shaderDemoteToHelperInvocation; + VkBool32 shaderTerminateInvocation; + VkBool32 subgroupSizeControl; + VkBool32 computeFullSubgroups; + VkBool32 synchronization2; + VkBool32 textureCompressionASTC_HDR; + VkBool32 shaderZeroInitializeWorkgroupMemory; + VkBool32 dynamicRendering; + VkBool32 shaderIntegerDotProduct; + VkBool32 maintenance4; +} VkPhysicalDeviceVulkan13Features; + +typedef struct VkPhysicalDeviceVulkan13Properties { + VkStructureType sType; + void * pNext; + uint32_t minSubgroupSize; + uint32_t maxSubgroupSize; + uint32_t maxComputeWorkgroupSubgroups; + VkShaderStageFlags requiredSubgroupSizeStages; + uint32_t maxInlineUniformBlockSize; + uint32_t maxPerStageDescriptorInlineUniformBlocks; + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; + uint32_t maxDescriptorSetInlineUniformBlocks; + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; + uint32_t maxInlineUniformTotalSize; + VkBool32 integerDotProduct8BitUnsignedAccelerated; + VkBool32 integerDotProduct8BitSignedAccelerated; + VkBool32 integerDotProduct8BitMixedSignednessAccelerated; + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProduct16BitUnsignedAccelerated; + VkBool32 integerDotProduct16BitSignedAccelerated; + VkBool32 integerDotProduct16BitMixedSignednessAccelerated; + VkBool32 integerDotProduct32BitUnsignedAccelerated; + VkBool32 integerDotProduct32BitSignedAccelerated; + VkBool32 integerDotProduct32BitMixedSignednessAccelerated; + VkBool32 integerDotProduct64BitUnsignedAccelerated; + VkBool32 integerDotProduct64BitSignedAccelerated; + VkBool32 integerDotProduct64BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + VkDeviceSize storageTexelBufferOffsetAlignmentBytes; + VkBool32 storageTexelBufferOffsetSingleTexelAlignment; + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; + VkDeviceSize maxBufferSize; +} VkPhysicalDeviceVulkan13Properties; + +typedef struct VkPhysicalDeviceVulkan14Features { + VkStructureType sType; + void * pNext; + VkBool32 globalPriorityQuery; + VkBool32 shaderSubgroupRotate; + VkBool32 shaderSubgroupRotateClustered; + VkBool32 shaderFloatControls2; + VkBool32 shaderExpectAssume; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; + VkBool32 vertexAttributeInstanceRateDivisor; + VkBool32 vertexAttributeInstanceRateZeroDivisor; + VkBool32 indexTypeUint8; + VkBool32 dynamicRenderingLocalRead; + VkBool32 maintenance5; + VkBool32 maintenance6; + VkBool32 pipelineProtectedAccess; + VkBool32 pipelineRobustness; + VkBool32 hostImageCopy; + VkBool32 pushDescriptor; +} VkPhysicalDeviceVulkan14Features; + +typedef struct VkPhysicalDeviceVulkan14Properties { + VkStructureType sType; + void * pNext; + uint32_t lineSubPixelPrecisionBits; + uint32_t maxVertexAttribDivisor; + VkBool32 supportsNonZeroFirstInstance; + uint32_t maxPushDescriptors; + VkBool32 dynamicRenderingLocalReadDepthStencilAttachments; + VkBool32 dynamicRenderingLocalReadMultisampledAttachments; + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; + VkBool32 depthStencilSwizzleOneSupport; + VkBool32 polygonModePointSize; + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; + VkBool32 nonStrictWideLinesUseParallelogram; + VkBool32 blockTexelViewCompatibleMultipleLayers; + uint32_t maxCombinedImageSamplerDescriptorCount; + VkBool32 fragmentShadingRateClampCombinerInputs; + VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; + VkPipelineRobustnessImageBehavior defaultRobustnessImages; + uint32_t copySrcLayoutCount; + VkImageLayout * pCopySrcLayouts; + uint32_t copyDstLayoutCount; + VkImageLayout * pCopyDstLayouts; + uint8_t optimalTilingLayoutUUID [ VK_UUID_SIZE ]; + VkBool32 identicalMemoryTypeRequirements; +} VkPhysicalDeviceVulkan14Properties; + +typedef struct VkPhysicalDeviceToolProperties { + VkStructureType sType; + void * pNext; + char name [ VK_MAX_EXTENSION_NAME_SIZE ]; + char version [ VK_MAX_EXTENSION_NAME_SIZE ]; + VkToolPurposeFlags purposes; + char description [ VK_MAX_DESCRIPTION_SIZE ]; + char layer [ VK_MAX_EXTENSION_NAME_SIZE ]; +} VkPhysicalDeviceToolProperties; + +typedef struct VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; + +typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { + VkStructureType sType; + void * pNext; + VkBool32 extendedDynamicState; +} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; + +typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { + VkStructureType sType; + void * pNext; + VkBool32 extendedDynamicState2; + VkBool32 extendedDynamicState2LogicOp; + VkBool32 extendedDynamicState2PatchControlPoints; +} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; + +typedef struct VkColorBlendAdvancedEXT { + VkBlendOp advancedBlendOp; + VkBool32 srcPremultiplied; + VkBool32 dstPremultiplied; + VkBlendOverlapEXT blendOverlap; + VkBool32 clampResults; +} VkColorBlendAdvancedEXT; + +typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderZeroInitializeWorkgroupMemory; +} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; + +typedef struct VkPhysicalDeviceImageRobustnessFeatures { + VkStructureType sType; + void * pNext; + VkBool32 robustImageAccess; +} VkPhysicalDeviceImageRobustnessFeatures; + +typedef struct VkBufferCopy2 { + VkStructureType sType; + const void * pNext; + VkDeviceSize srcOffset; + VkDeviceSize dstOffset; + VkDeviceSize size; +} VkBufferCopy2; + +typedef struct VkBufferCopy2 VkBufferCopy2KHR; + +typedef struct VkImageCopy2 { + VkStructureType sType; + const void * pNext; + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; +} VkImageCopy2; + +typedef struct VkImageCopy2 VkImageCopy2KHR; + +typedef struct VkImageBlit2 { + VkStructureType sType; + const void * pNext; + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffsets [2]; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffsets [2]; +} VkImageBlit2; + +typedef struct VkImageBlit2 VkImageBlit2KHR; + +typedef struct VkBufferImageCopy2 { + VkStructureType sType; + const void * pNext; + VkDeviceSize bufferOffset; + uint32_t bufferRowLength; + uint32_t bufferImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; +} VkBufferImageCopy2; + +typedef struct VkBufferImageCopy2 VkBufferImageCopy2KHR; + +typedef struct VkImageResolve2 { + VkStructureType sType; + const void * pNext; + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; +} VkImageResolve2; + +typedef struct VkImageResolve2 VkImageResolve2KHR; + +typedef struct VkCopyBufferInfo2 { + VkStructureType sType; + const void * pNext; + VkBuffer srcBuffer; + VkBuffer dstBuffer; + uint32_t regionCount; + const VkBufferCopy2 * pRegions; +} VkCopyBufferInfo2; + +typedef struct VkCopyBufferInfo2 VkCopyBufferInfo2KHR; + +typedef struct VkCopyImageInfo2 { + VkStructureType sType; + const void * pNext; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkImageCopy2 * pRegions; +} VkCopyImageInfo2; + +typedef struct VkCopyImageInfo2 VkCopyImageInfo2KHR; + +typedef struct VkBlitImageInfo2 { + VkStructureType sType; + const void * pNext; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkImageBlit2 * pRegions; + VkFilter filter; +} VkBlitImageInfo2; + +typedef struct VkBlitImageInfo2 VkBlitImageInfo2KHR; + +typedef struct VkCopyBufferToImageInfo2 { + VkStructureType sType; + const void * pNext; + VkBuffer srcBuffer; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkBufferImageCopy2 * pRegions; +} VkCopyBufferToImageInfo2; + +typedef struct VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; + +typedef struct VkCopyImageToBufferInfo2 { + VkStructureType sType; + const void * pNext; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkBuffer dstBuffer; + uint32_t regionCount; + const VkBufferImageCopy2 * pRegions; +} VkCopyImageToBufferInfo2; + +typedef struct VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; + +typedef struct VkResolveImageInfo2 { + VkStructureType sType; + const void * pNext; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkImageResolve2 * pRegions; +} VkResolveImageInfo2; + +typedef struct VkResolveImageInfo2 VkResolveImageInfo2KHR; + +typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderTerminateInvocation; +} VkPhysicalDeviceShaderTerminateInvocationFeatures; + +typedef struct VkMemoryBarrier2 { + VkStructureType sType; + const void * pNext; + VkPipelineStageFlags2 srcStageMask; + VkAccessFlags2 srcAccessMask; + VkPipelineStageFlags2 dstStageMask; + VkAccessFlags2 dstAccessMask; +} VkMemoryBarrier2; + +typedef struct VkMemoryBarrier2 VkMemoryBarrier2KHR; + +typedef struct VkImageMemoryBarrier2 { + VkStructureType sType; + const void * pNext; + VkPipelineStageFlags2 srcStageMask; + VkAccessFlags2 srcAccessMask; + VkPipelineStageFlags2 dstStageMask; + VkAccessFlags2 dstAccessMask; + VkImageLayout oldLayout; + VkImageLayout newLayout; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkImage image; + VkImageSubresourceRange subresourceRange; +} VkImageMemoryBarrier2; + +typedef struct VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; + +typedef struct VkBufferMemoryBarrier2 { + VkStructureType sType; + const void * pNext; + VkPipelineStageFlags2 srcStageMask; + VkAccessFlags2 srcAccessMask; + VkPipelineStageFlags2 dstStageMask; + VkAccessFlags2 dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; +} VkBufferMemoryBarrier2; + +typedef struct VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; + +typedef struct VkDependencyInfo { + VkStructureType sType; + const void * pNext; + VkDependencyFlags dependencyFlags; + uint32_t memoryBarrierCount; + const VkMemoryBarrier2 * pMemoryBarriers; + uint32_t bufferMemoryBarrierCount; + const VkBufferMemoryBarrier2 * pBufferMemoryBarriers; + uint32_t imageMemoryBarrierCount; + const VkImageMemoryBarrier2 * pImageMemoryBarriers; +} VkDependencyInfo; + +typedef struct VkDependencyInfo VkDependencyInfoKHR; + +typedef struct VkSemaphoreSubmitInfo { + VkStructureType sType; + const void * pNext; + VkSemaphore semaphore; + uint64_t value; + VkPipelineStageFlags2 stageMask; + uint32_t deviceIndex; +} VkSemaphoreSubmitInfo; + +typedef struct VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; + +typedef struct VkSubmitInfo2 { + VkStructureType sType; + const void * pNext; + VkSubmitFlags flags; + uint32_t waitSemaphoreInfoCount; + const VkSemaphoreSubmitInfo * pWaitSemaphoreInfos; + uint32_t commandBufferInfoCount; + const VkCommandBufferSubmitInfo * pCommandBufferInfos; + uint32_t signalSemaphoreInfoCount; + const VkSemaphoreSubmitInfo * pSignalSemaphoreInfos; +} VkSubmitInfo2; + +typedef struct VkSubmitInfo2 VkSubmitInfo2KHR; + +typedef struct VkPhysicalDeviceSynchronization2Features { + VkStructureType sType; + void * pNext; + VkBool32 synchronization2; +} VkPhysicalDeviceSynchronization2Features; + +typedef struct VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; + +typedef struct VkPhysicalDeviceHostImageCopyFeatures { + VkStructureType sType; + void * pNext; + VkBool32 hostImageCopy; +} VkPhysicalDeviceHostImageCopyFeatures; + +typedef struct VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT; + +typedef struct VkPhysicalDeviceHostImageCopyProperties { + VkStructureType sType; + void * pNext; + uint32_t copySrcLayoutCount; + VkImageLayout * pCopySrcLayouts; + uint32_t copyDstLayoutCount; + VkImageLayout * pCopyDstLayouts; + uint8_t optimalTilingLayoutUUID [ VK_UUID_SIZE ]; + VkBool32 identicalMemoryTypeRequirements; +} VkPhysicalDeviceHostImageCopyProperties; + +typedef struct VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT; + +typedef struct VkMemoryToImageCopy { + VkStructureType sType; + const void * pNext; + const void * pHostPointer; + uint32_t memoryRowLength; + uint32_t memoryImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; +} VkMemoryToImageCopy; + +typedef struct VkMemoryToImageCopy VkMemoryToImageCopyEXT; + +typedef struct VkImageToMemoryCopy { + VkStructureType sType; + const void * pNext; + void * pHostPointer; + uint32_t memoryRowLength; + uint32_t memoryImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; +} VkImageToMemoryCopy; + +typedef struct VkImageToMemoryCopy VkImageToMemoryCopyEXT; + +typedef struct VkCopyMemoryToImageInfo { + VkStructureType sType; + const void * pNext; + VkHostImageCopyFlags flags; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkMemoryToImageCopy * pRegions; +} VkCopyMemoryToImageInfo; + +typedef struct VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT; + +typedef struct VkCopyImageToMemoryInfo { + VkStructureType sType; + const void * pNext; + VkHostImageCopyFlags flags; + VkImage srcImage; + VkImageLayout srcImageLayout; + uint32_t regionCount; + const VkImageToMemoryCopy * pRegions; +} VkCopyImageToMemoryInfo; + +typedef struct VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT; + +typedef struct VkCopyImageToImageInfo { + VkStructureType sType; + const void * pNext; + VkHostImageCopyFlags flags; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + const VkImageCopy2 * pRegions; +} VkCopyImageToImageInfo; + +typedef struct VkCopyImageToImageInfo VkCopyImageToImageInfoEXT; + +typedef struct VkHostImageLayoutTransitionInfo { + VkStructureType sType; + const void * pNext; + VkImage image; + VkImageLayout oldLayout; + VkImageLayout newLayout; + VkImageSubresourceRange subresourceRange; +} VkHostImageLayoutTransitionInfo; + +typedef struct VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT; + +typedef struct VkSubresourceHostMemcpySize { + VkStructureType sType; + void * pNext; + VkDeviceSize size; +} VkSubresourceHostMemcpySize; + +typedef struct VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT; + +typedef struct VkHostImageCopyDevicePerformanceQuery { + VkStructureType sType; + void * pNext; + VkBool32 optimalDeviceAccess; + VkBool32 identicalMemoryLayout; +} VkHostImageCopyDevicePerformanceQuery; + +typedef struct VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT; + +typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures { + VkStructureType sType; + void * pNext; + VkBool32 pipelineProtectedAccess; +} VkPhysicalDevicePipelineProtectedAccessFeatures; + +typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderIntegerDotProduct; +} VkPhysicalDeviceShaderIntegerDotProductFeatures; + +typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { + VkStructureType sType; + void * pNext; + VkBool32 integerDotProduct8BitUnsignedAccelerated; + VkBool32 integerDotProduct8BitSignedAccelerated; + VkBool32 integerDotProduct8BitMixedSignednessAccelerated; + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProduct16BitUnsignedAccelerated; + VkBool32 integerDotProduct16BitSignedAccelerated; + VkBool32 integerDotProduct16BitMixedSignednessAccelerated; + VkBool32 integerDotProduct32BitUnsignedAccelerated; + VkBool32 integerDotProduct32BitSignedAccelerated; + VkBool32 integerDotProduct32BitMixedSignednessAccelerated; + VkBool32 integerDotProduct64BitUnsignedAccelerated; + VkBool32 integerDotProduct64BitSignedAccelerated; + VkBool32 integerDotProduct64BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; +} VkPhysicalDeviceShaderIntegerDotProductProperties; + +typedef struct VkFormatProperties3 { + VkStructureType sType; + void * pNext; + VkFormatFeatureFlags2 linearTilingFeatures; + VkFormatFeatureFlags2 optimalTilingFeatures; + VkFormatFeatureFlags2 bufferFeatures; +} VkFormatProperties3; + +typedef struct VkRenderingInfo { + VkStructureType sType; + const void * pNext; + VkRenderingFlags flags; + VkRect2D renderArea; + uint32_t layerCount; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkRenderingAttachmentInfo * pColorAttachments; + const VkRenderingAttachmentInfo * pDepthAttachment; + const VkRenderingAttachmentInfo * pStencilAttachment; +} VkRenderingInfo; + +typedef struct VkRenderingInfo VkRenderingInfoKHR; + +typedef struct VkPhysicalDeviceDynamicRenderingFeatures { + VkStructureType sType; + void * pNext; + VkBool32 dynamicRendering; +} VkPhysicalDeviceDynamicRenderingFeatures; + +typedef struct VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; + +typedef struct VkCommandBufferInheritanceRenderingInfo { + VkStructureType sType; + const void * pNext; + VkRenderingFlags flags; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat * pColorAttachmentFormats; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; + VkSampleCountFlagBits rasterizationSamples; +} VkCommandBufferInheritanceRenderingInfo; + +typedef struct VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; + +typedef struct VkImageCompressionControlEXT { + VkStructureType sType; + const void * pNext; + VkImageCompressionFlagsEXT flags; + uint32_t compressionControlPlaneCount; + VkImageCompressionFixedRateFlagsEXT * pFixedRateFlags; +} VkImageCompressionControlEXT; + +typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { + VkStructureType sType; + void * pNext; + VkBool32 imageCompressionControl; +} VkPhysicalDeviceImageCompressionControlFeaturesEXT; + +typedef struct VkImageCompressionPropertiesEXT { + VkStructureType sType; + void * pNext; + VkImageCompressionFlagsEXT imageCompressionFlags; + VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; +} VkImageCompressionPropertiesEXT; + +typedef struct VkImageSubresource2 { + VkStructureType sType; + void * pNext; + VkImageSubresource imageSubresource; +} VkImageSubresource2; + +typedef struct VkImageSubresource2 VkImageSubresource2KHR; + +typedef struct VkImageSubresource2 VkImageSubresource2EXT; + +typedef struct VkSubresourceLayout2 { + VkStructureType sType; + void * pNext; + VkSubresourceLayout subresourceLayout; +} VkSubresourceLayout2; + +typedef struct VkSubresourceLayout2 VkSubresourceLayout2KHR; + +typedef struct VkSubresourceLayout2 VkSubresourceLayout2EXT; + +typedef struct VkPhysicalDevicePipelineRobustnessFeatures { + VkStructureType sType; + void * pNext; + VkBool32 pipelineRobustness; +} VkPhysicalDevicePipelineRobustnessFeatures; + +typedef struct VkDeviceImageSubresourceInfo { + VkStructureType sType; + const void * pNext; + const VkImageCreateInfo * pCreateInfo; + const VkImageSubresource2 * pSubresource; +} VkDeviceImageSubresourceInfo; + +typedef struct VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR; + +typedef struct VkMemoryMapInfo { + VkStructureType sType; + const void * pNext; + VkMemoryMapFlags flags; + VkDeviceMemory memory; + VkDeviceSize offset; + VkDeviceSize size; +} VkMemoryMapInfo; + +typedef struct VkMemoryMapInfo VkMemoryMapInfoKHR; + +typedef struct VkMemoryUnmapInfo { + VkStructureType sType; + const void * pNext; + VkMemoryUnmapFlags flags; + VkDeviceMemory memory; +} VkMemoryUnmapInfo; + +typedef struct VkMemoryUnmapInfo VkMemoryUnmapInfoKHR; + +typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { + VkStructureType sType; + void * pNext; + VkBool32 shaderObject; +} VkPhysicalDeviceShaderObjectFeaturesEXT; + +typedef struct VkShaderCreateInfoEXT { + VkStructureType sType; + const void * pNext; + VkShaderCreateFlagsEXT flags; + VkShaderStageFlagBits stage; + VkShaderStageFlags nextStage; + VkShaderCodeTypeEXT codeType; + size_t codeSize; + const void * pCode; + const char * pName; + uint32_t setLayoutCount; + const VkDescriptorSetLayout * pSetLayouts; + uint32_t pushConstantRangeCount; + const VkPushConstantRange * pPushConstantRanges; + const VkSpecializationInfo * pSpecializationInfo; +} VkShaderCreateInfoEXT; + +typedef struct VkBindDescriptorSetsInfo { + VkStructureType sType; + const void * pNext; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t firstSet; + uint32_t descriptorSetCount; + const VkDescriptorSet * pDescriptorSets; + uint32_t dynamicOffsetCount; + const uint32_t * pDynamicOffsets; +} VkBindDescriptorSetsInfo; + +typedef struct VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR; + +typedef struct VkPushConstantsInfo { + VkStructureType sType; + const void * pNext; + VkPipelineLayout layout; + VkShaderStageFlags stageFlags; + uint32_t offset; + uint32_t size; + const void * pValues; +} VkPushConstantsInfo; + +typedef struct VkPushConstantsInfo VkPushConstantsInfoKHR; + +typedef struct VkPushDescriptorSetInfo { + VkStructureType sType; + const void * pNext; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t set; + uint32_t descriptorWriteCount; + const VkWriteDescriptorSet * pDescriptorWrites; +} VkPushDescriptorSetInfo; + +typedef struct VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR; + +typedef struct VkSetDescriptorBufferOffsetsInfoEXT { + VkStructureType sType; + const void * pNext; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t firstSet; + uint32_t setCount; + const uint32_t * pBufferIndices; + const VkDeviceSize * pOffsets; +} VkSetDescriptorBufferOffsetsInfoEXT; + +typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { + VkStructureType sType; + const void * pNext; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t set; +} VkBindDescriptorBufferEmbeddedSamplersInfoEXT; + +typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderSubgroupRotate; + VkBool32 shaderSubgroupRotateClustered; +} VkPhysicalDeviceShaderSubgroupRotateFeatures; + +typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures { + VkStructureType sType; + void * pNext; + VkBool32 shaderExpectAssume; +} VkPhysicalDeviceShaderExpectAssumeFeatures; + +typedef struct VkPhysicalDeviceShaderFloatControls2Features { + VkStructureType sType; + void * pNext; + VkBool32 shaderFloatControls2; +} VkPhysicalDeviceShaderFloatControls2Features; + +typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures { + VkStructureType sType; + void * pNext; + VkBool32 dynamicRenderingLocalRead; +} VkPhysicalDeviceDynamicRenderingLocalReadFeatures; + +typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; + +typedef struct VkPhysicalDeviceProperties { + uint32_t apiVersion; + uint32_t driverVersion; + uint32_t vendorID; + uint32_t deviceID; + VkPhysicalDeviceType deviceType; + char deviceName [ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ]; + uint8_t pipelineCacheUUID [ VK_UUID_SIZE ]; + VkPhysicalDeviceLimits limits; + VkPhysicalDeviceSparseProperties sparseProperties; +} VkPhysicalDeviceProperties; + +typedef struct VkDeviceCreateInfo { + VkStructureType sType; + const void * pNext; + VkDeviceCreateFlags flags; + uint32_t queueCreateInfoCount; + const VkDeviceQueueCreateInfo * pQueueCreateInfos; + uint32_t enabledLayerCount; + const char * const* ppEnabledLayerNames; + uint32_t enabledExtensionCount; + const char * const* ppEnabledExtensionNames; + const VkPhysicalDeviceFeatures * pEnabledFeatures; +} VkDeviceCreateInfo; + +typedef struct VkPhysicalDeviceMemoryProperties { + uint32_t memoryTypeCount; + VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ]; + uint32_t memoryHeapCount; + VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ]; +} VkPhysicalDeviceMemoryProperties; + +typedef struct VkPhysicalDeviceProperties2 { + VkStructureType sType; + void * pNext; + VkPhysicalDeviceProperties properties; +} VkPhysicalDeviceProperties2; + +typedef struct VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; + +typedef struct VkPhysicalDeviceMemoryProperties2 { + VkStructureType sType; + void * pNext; + VkPhysicalDeviceMemoryProperties memoryProperties; +} VkPhysicalDeviceMemoryProperties2; + +typedef struct VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; + +typedef struct VkFramebufferAttachmentsCreateInfo { + VkStructureType sType; + const void * pNext; + uint32_t attachmentImageInfoCount; + const VkFramebufferAttachmentImageInfo * pAttachmentImageInfos; +} VkFramebufferAttachmentsCreateInfo; + + + +#define VK_VERSION_1_0 1 +GLAD_API_CALL int GLAD_VK_VERSION_1_0; +#define VK_VERSION_1_1 1 +GLAD_API_CALL int GLAD_VK_VERSION_1_1; +#define VK_VERSION_1_2 1 +GLAD_API_CALL int GLAD_VK_VERSION_1_2; +#define VK_VERSION_1_3 1 +GLAD_API_CALL int GLAD_VK_VERSION_1_3; +#define VK_VERSION_1_4 1 +GLAD_API_CALL int GLAD_VK_VERSION_1_4; +#define VK_AMD_draw_indirect_count 1 +GLAD_API_CALL int GLAD_VK_AMD_draw_indirect_count; +#define VK_EXT_buffer_device_address 1 +GLAD_API_CALL int GLAD_VK_EXT_buffer_device_address; +#define VK_EXT_extended_dynamic_state 1 +GLAD_API_CALL int GLAD_VK_EXT_extended_dynamic_state; +#define VK_EXT_extended_dynamic_state2 1 +GLAD_API_CALL int GLAD_VK_EXT_extended_dynamic_state2; +#define VK_EXT_host_image_copy 1 +GLAD_API_CALL int GLAD_VK_EXT_host_image_copy; +#define VK_EXT_host_query_reset 1 +GLAD_API_CALL int GLAD_VK_EXT_host_query_reset; +#define VK_EXT_image_compression_control 1 +GLAD_API_CALL int GLAD_VK_EXT_image_compression_control; +#define VK_EXT_line_rasterization 1 +GLAD_API_CALL int GLAD_VK_EXT_line_rasterization; +#define VK_EXT_private_data 1 +GLAD_API_CALL int GLAD_VK_EXT_private_data; +#define VK_EXT_shader_object 1 +GLAD_API_CALL int GLAD_VK_EXT_shader_object; +#define VK_EXT_tooling_info 1 +GLAD_API_CALL int GLAD_VK_EXT_tooling_info; +#define VK_KHR_bind_memory2 1 +GLAD_API_CALL int GLAD_VK_KHR_bind_memory2; +#define VK_KHR_buffer_device_address 1 +GLAD_API_CALL int GLAD_VK_KHR_buffer_device_address; +#define VK_KHR_copy_commands2 1 +GLAD_API_CALL int GLAD_VK_KHR_copy_commands2; +#define VK_KHR_create_renderpass2 1 +GLAD_API_CALL int GLAD_VK_KHR_create_renderpass2; +#define VK_KHR_descriptor_update_template 1 +GLAD_API_CALL int GLAD_VK_KHR_descriptor_update_template; +#define VK_KHR_device_group 1 +GLAD_API_CALL int GLAD_VK_KHR_device_group; +#define VK_KHR_device_group_creation 1 +GLAD_API_CALL int GLAD_VK_KHR_device_group_creation; +#define VK_KHR_draw_indirect_count 1 +GLAD_API_CALL int GLAD_VK_KHR_draw_indirect_count; +#define VK_KHR_dynamic_rendering 1 +GLAD_API_CALL int GLAD_VK_KHR_dynamic_rendering; +#define VK_KHR_dynamic_rendering_local_read 1 +GLAD_API_CALL int GLAD_VK_KHR_dynamic_rendering_local_read; +#define VK_KHR_external_fence_capabilities 1 +GLAD_API_CALL int GLAD_VK_KHR_external_fence_capabilities; +#define VK_KHR_external_memory_capabilities 1 +GLAD_API_CALL int GLAD_VK_KHR_external_memory_capabilities; +#define VK_KHR_external_semaphore_capabilities 1 +GLAD_API_CALL int GLAD_VK_KHR_external_semaphore_capabilities; +#define VK_KHR_get_memory_requirements2 1 +GLAD_API_CALL int GLAD_VK_KHR_get_memory_requirements2; +#define VK_KHR_get_physical_device_properties2 1 +GLAD_API_CALL int GLAD_VK_KHR_get_physical_device_properties2; +#define VK_KHR_line_rasterization 1 +GLAD_API_CALL int GLAD_VK_KHR_line_rasterization; +#define VK_KHR_maintenance1 1 +GLAD_API_CALL int GLAD_VK_KHR_maintenance1; +#define VK_KHR_maintenance3 1 +GLAD_API_CALL int GLAD_VK_KHR_maintenance3; +#define VK_KHR_maintenance4 1 +GLAD_API_CALL int GLAD_VK_KHR_maintenance4; +#define VK_KHR_maintenance5 1 +GLAD_API_CALL int GLAD_VK_KHR_maintenance5; +#define VK_KHR_maintenance6 1 +GLAD_API_CALL int GLAD_VK_KHR_maintenance6; +#define VK_KHR_map_memory2 1 +GLAD_API_CALL int GLAD_VK_KHR_map_memory2; +#define VK_KHR_push_descriptor 1 +GLAD_API_CALL int GLAD_VK_KHR_push_descriptor; +#define VK_KHR_sampler_ycbcr_conversion 1 +GLAD_API_CALL int GLAD_VK_KHR_sampler_ycbcr_conversion; +#define VK_KHR_synchronization2 1 +GLAD_API_CALL int GLAD_VK_KHR_synchronization2; +#define VK_KHR_timeline_semaphore 1 +GLAD_API_CALL int GLAD_VK_KHR_timeline_semaphore; + + +typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex); +typedef VkResult (GLAD_API_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers); +typedef VkResult (GLAD_API_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets); +typedef VkResult (GLAD_API_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory); +typedef VkResult (GLAD_API_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); +typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos); +typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos); +typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); +typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos); +typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets); +typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets2)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); +typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer2)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); +typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); +typedef void (GLAD_API_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); +typedef void (GLAD_API_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits * pStages, const VkShaderEXT * pShaders); +typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets); +typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides); +typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides); +typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter); +typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects); +typedef void (GLAD_API_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges); +typedef void (GLAD_API_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); +typedef void (GLAD_API_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); +typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); +typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); +typedef void (GLAD_API_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); +typedef void (GLAD_API_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (GLAD_API_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); +typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); +typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); +typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); +typedef void (GLAD_API_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers); +typedef void (GLAD_API_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); +typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); +typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers); +typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues); +typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants2)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSet)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSet2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSetWithTemplate)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void * pData); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void * pData); +typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); +typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); +typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); +typedef void (GLAD_API_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); +typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions); +typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants [4]); +typedef void (GLAD_API_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT * pColorBlendAdvanced); +typedef void (GLAD_API_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32 * pColorBlendEnables); +typedef void (GLAD_API_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT * pColorBlendEquations); +typedef void (GLAD_API_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags * pColorWriteMasks); +typedef void (GLAD_API_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float * pCoverageModulationTable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthClampRangeEXT)(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT * pDepthClampRange); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); +typedef void (GLAD_API_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); +typedef void (GLAD_API_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineStipple)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); +typedef void (GLAD_API_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); +typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); +typedef void (GLAD_API_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRenderingAttachmentLocations)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo * pLocationInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo * pLocationInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRenderingInputAttachmentIndices)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo); +typedef void (GLAD_API_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors); +typedef void (GLAD_API_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors); +typedef void (GLAD_API_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors); +typedef void (GLAD_API_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); +typedef void (GLAD_API_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); +typedef void (GLAD_API_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions); +typedef void (GLAD_API_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports); +typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV * pViewportSwizzles); +typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); +typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports); +typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports); +typedef void (GLAD_API_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData); +typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers); +typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos); +typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos); +typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); +typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); +typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyImageToImage)(VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyImageToMemory)(VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyMemoryToImage)(VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance); +typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache); +typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout); +typedef VkResult (GLAD_API_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot); +typedef VkResult (GLAD_API_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule); +typedef VkResult (GLAD_API_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkShaderEXT * pShaders); +typedef void (GLAD_API_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator); +typedef void (GLAD_API_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator); +typedef VkResult (GLAD_API_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); +typedef VkResult (GLAD_API_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t * pPropertyCount, VkLayerProperties * pProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t * pApiVersion); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices); +typedef VkResult (GLAD_API_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges); +typedef void (GLAD_API_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers); +typedef VkResult (GLAD_API_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets); +typedef void (GLAD_API_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator); +typedef VkDeviceAddress (GLAD_API_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo); +typedef VkDeviceAddress (GLAD_API_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo); +typedef VkDeviceAddress (GLAD_API_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo); +typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef uint64_t (GLAD_API_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo); +typedef uint64_t (GLAD_API_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo); +typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport); +typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures); +typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities); +typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSubresourceLayout)(VkDevice device, const VkDeviceImageSubresourceInfo * pInfo, VkSubresourceLayout2 * pLayout); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfo * pInfo, VkSubresourceLayout2 * pLayout); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes); +typedef uint64_t (GLAD_API_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo); +typedef uint64_t (GLAD_API_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo); +typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char * pName); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue); +typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue); +typedef VkResult (GLAD_API_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); +typedef VkResult (GLAD_API_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); +typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements); +typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout); +typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout2)(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout); +typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout); +typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout); +typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char * pName); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties); +typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties); +typedef VkResult (GLAD_API_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData); +typedef void (GLAD_API_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData); +typedef void (GLAD_API_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData); +typedef VkResult (GLAD_API_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags); +typedef void (GLAD_API_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity); +typedef void (GLAD_API_PTR *PFN_vkGetRenderingAreaGranularity)(VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity); +typedef void (GLAD_API_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity); +typedef VkResult (GLAD_API_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t * pValue); +typedef VkResult (GLAD_API_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t * pValue); +typedef VkResult (GLAD_API_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData); +typedef VkResult (GLAD_API_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges); +typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData); +typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory2)(VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData); +typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData); +typedef VkResult (GLAD_API_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches); +typedef VkResult (GLAD_API_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence); +typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence); +typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence); +typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence); +typedef VkResult (GLAD_API_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); +typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); +typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); +typedef VkResult (GLAD_API_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); +typedef VkResult (GLAD_API_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); +typedef VkResult (GLAD_API_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences); +typedef void (GLAD_API_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); +typedef void (GLAD_API_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); +typedef VkResult (GLAD_API_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); +typedef VkResult (GLAD_API_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); +typedef VkResult (GLAD_API_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); +typedef VkResult (GLAD_API_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkTransitionImageLayout)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions); +typedef VkResult (GLAD_API_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions); +typedef void (GLAD_API_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); +typedef void (GLAD_API_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); +typedef void (GLAD_API_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); +typedef VkResult (GLAD_API_PTR *PFN_vkUnmapMemory2)(VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo); +typedef VkResult (GLAD_API_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo); +typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData); +typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData); +typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies); +typedef VkResult (GLAD_API_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout); +typedef VkResult (GLAD_API_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout); +typedef VkResult (GLAD_API_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout); + +GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR; +GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_debug_vkAcquireNextImage2KHR; +#define vkAcquireNextImage2KHR glad_debug_vkAcquireNextImage2KHR +GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers; +GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_debug_vkAllocateCommandBuffers; +#define vkAllocateCommandBuffers glad_debug_vkAllocateCommandBuffers +GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets; +GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_debug_vkAllocateDescriptorSets; +#define vkAllocateDescriptorSets glad_debug_vkAllocateDescriptorSets +GLAD_API_CALL PFN_vkAllocateMemory glad_vkAllocateMemory; +GLAD_API_CALL PFN_vkAllocateMemory glad_debug_vkAllocateMemory; +#define vkAllocateMemory glad_debug_vkAllocateMemory +GLAD_API_CALL PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer; +GLAD_API_CALL PFN_vkBeginCommandBuffer glad_debug_vkBeginCommandBuffer; +#define vkBeginCommandBuffer glad_debug_vkBeginCommandBuffer +GLAD_API_CALL PFN_vkBindBufferMemory glad_vkBindBufferMemory; +GLAD_API_CALL PFN_vkBindBufferMemory glad_debug_vkBindBufferMemory; +#define vkBindBufferMemory glad_debug_vkBindBufferMemory +GLAD_API_CALL PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2; +GLAD_API_CALL PFN_vkBindBufferMemory2 glad_debug_vkBindBufferMemory2; +#define vkBindBufferMemory2 glad_debug_vkBindBufferMemory2 +GLAD_API_CALL PFN_vkBindBufferMemory2KHR glad_vkBindBufferMemory2KHR; +GLAD_API_CALL PFN_vkBindBufferMemory2KHR glad_debug_vkBindBufferMemory2KHR; +#define vkBindBufferMemory2KHR glad_debug_vkBindBufferMemory2KHR +GLAD_API_CALL PFN_vkBindImageMemory glad_vkBindImageMemory; +GLAD_API_CALL PFN_vkBindImageMemory glad_debug_vkBindImageMemory; +#define vkBindImageMemory glad_debug_vkBindImageMemory +GLAD_API_CALL PFN_vkBindImageMemory2 glad_vkBindImageMemory2; +GLAD_API_CALL PFN_vkBindImageMemory2 glad_debug_vkBindImageMemory2; +#define vkBindImageMemory2 glad_debug_vkBindImageMemory2 +GLAD_API_CALL PFN_vkBindImageMemory2KHR glad_vkBindImageMemory2KHR; +GLAD_API_CALL PFN_vkBindImageMemory2KHR glad_debug_vkBindImageMemory2KHR; +#define vkBindImageMemory2KHR glad_debug_vkBindImageMemory2KHR +GLAD_API_CALL PFN_vkCmdBeginQuery glad_vkCmdBeginQuery; +GLAD_API_CALL PFN_vkCmdBeginQuery glad_debug_vkCmdBeginQuery; +#define vkCmdBeginQuery glad_debug_vkCmdBeginQuery +GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass; +GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_debug_vkCmdBeginRenderPass; +#define vkCmdBeginRenderPass glad_debug_vkCmdBeginRenderPass +GLAD_API_CALL PFN_vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2; +GLAD_API_CALL PFN_vkCmdBeginRenderPass2 glad_debug_vkCmdBeginRenderPass2; +#define vkCmdBeginRenderPass2 glad_debug_vkCmdBeginRenderPass2 +GLAD_API_CALL PFN_vkCmdBeginRenderPass2KHR glad_vkCmdBeginRenderPass2KHR; +GLAD_API_CALL PFN_vkCmdBeginRenderPass2KHR glad_debug_vkCmdBeginRenderPass2KHR; +#define vkCmdBeginRenderPass2KHR glad_debug_vkCmdBeginRenderPass2KHR +GLAD_API_CALL PFN_vkCmdBeginRendering glad_vkCmdBeginRendering; +GLAD_API_CALL PFN_vkCmdBeginRendering glad_debug_vkCmdBeginRendering; +#define vkCmdBeginRendering glad_debug_vkCmdBeginRendering +GLAD_API_CALL PFN_vkCmdBeginRenderingKHR glad_vkCmdBeginRenderingKHR; +GLAD_API_CALL PFN_vkCmdBeginRenderingKHR glad_debug_vkCmdBeginRenderingKHR; +#define vkCmdBeginRenderingKHR glad_debug_vkCmdBeginRenderingKHR +GLAD_API_CALL PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; +GLAD_API_CALL PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT glad_debug_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; +#define vkCmdBindDescriptorBufferEmbeddedSamplers2EXT glad_debug_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT +GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets; +GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_debug_vkCmdBindDescriptorSets; +#define vkCmdBindDescriptorSets glad_debug_vkCmdBindDescriptorSets +GLAD_API_CALL PFN_vkCmdBindDescriptorSets2 glad_vkCmdBindDescriptorSets2; +GLAD_API_CALL PFN_vkCmdBindDescriptorSets2 glad_debug_vkCmdBindDescriptorSets2; +#define vkCmdBindDescriptorSets2 glad_debug_vkCmdBindDescriptorSets2 +GLAD_API_CALL PFN_vkCmdBindDescriptorSets2KHR glad_vkCmdBindDescriptorSets2KHR; +GLAD_API_CALL PFN_vkCmdBindDescriptorSets2KHR glad_debug_vkCmdBindDescriptorSets2KHR; +#define vkCmdBindDescriptorSets2KHR glad_debug_vkCmdBindDescriptorSets2KHR +GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer; +GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_debug_vkCmdBindIndexBuffer; +#define vkCmdBindIndexBuffer glad_debug_vkCmdBindIndexBuffer +GLAD_API_CALL PFN_vkCmdBindIndexBuffer2 glad_vkCmdBindIndexBuffer2; +GLAD_API_CALL PFN_vkCmdBindIndexBuffer2 glad_debug_vkCmdBindIndexBuffer2; +#define vkCmdBindIndexBuffer2 glad_debug_vkCmdBindIndexBuffer2 +GLAD_API_CALL PFN_vkCmdBindIndexBuffer2KHR glad_vkCmdBindIndexBuffer2KHR; +GLAD_API_CALL PFN_vkCmdBindIndexBuffer2KHR glad_debug_vkCmdBindIndexBuffer2KHR; +#define vkCmdBindIndexBuffer2KHR glad_debug_vkCmdBindIndexBuffer2KHR +GLAD_API_CALL PFN_vkCmdBindPipeline glad_vkCmdBindPipeline; +GLAD_API_CALL PFN_vkCmdBindPipeline glad_debug_vkCmdBindPipeline; +#define vkCmdBindPipeline glad_debug_vkCmdBindPipeline +GLAD_API_CALL PFN_vkCmdBindShadersEXT glad_vkCmdBindShadersEXT; +GLAD_API_CALL PFN_vkCmdBindShadersEXT glad_debug_vkCmdBindShadersEXT; +#define vkCmdBindShadersEXT glad_debug_vkCmdBindShadersEXT +GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers; +GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_debug_vkCmdBindVertexBuffers; +#define vkCmdBindVertexBuffers glad_debug_vkCmdBindVertexBuffers +GLAD_API_CALL PFN_vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2; +GLAD_API_CALL PFN_vkCmdBindVertexBuffers2 glad_debug_vkCmdBindVertexBuffers2; +#define vkCmdBindVertexBuffers2 glad_debug_vkCmdBindVertexBuffers2 +GLAD_API_CALL PFN_vkCmdBindVertexBuffers2EXT glad_vkCmdBindVertexBuffers2EXT; +GLAD_API_CALL PFN_vkCmdBindVertexBuffers2EXT glad_debug_vkCmdBindVertexBuffers2EXT; +#define vkCmdBindVertexBuffers2EXT glad_debug_vkCmdBindVertexBuffers2EXT +GLAD_API_CALL PFN_vkCmdBlitImage glad_vkCmdBlitImage; +GLAD_API_CALL PFN_vkCmdBlitImage glad_debug_vkCmdBlitImage; +#define vkCmdBlitImage glad_debug_vkCmdBlitImage +GLAD_API_CALL PFN_vkCmdBlitImage2 glad_vkCmdBlitImage2; +GLAD_API_CALL PFN_vkCmdBlitImage2 glad_debug_vkCmdBlitImage2; +#define vkCmdBlitImage2 glad_debug_vkCmdBlitImage2 +GLAD_API_CALL PFN_vkCmdBlitImage2KHR glad_vkCmdBlitImage2KHR; +GLAD_API_CALL PFN_vkCmdBlitImage2KHR glad_debug_vkCmdBlitImage2KHR; +#define vkCmdBlitImage2KHR glad_debug_vkCmdBlitImage2KHR +GLAD_API_CALL PFN_vkCmdClearAttachments glad_vkCmdClearAttachments; +GLAD_API_CALL PFN_vkCmdClearAttachments glad_debug_vkCmdClearAttachments; +#define vkCmdClearAttachments glad_debug_vkCmdClearAttachments +GLAD_API_CALL PFN_vkCmdClearColorImage glad_vkCmdClearColorImage; +GLAD_API_CALL PFN_vkCmdClearColorImage glad_debug_vkCmdClearColorImage; +#define vkCmdClearColorImage glad_debug_vkCmdClearColorImage +GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage; +GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_debug_vkCmdClearDepthStencilImage; +#define vkCmdClearDepthStencilImage glad_debug_vkCmdClearDepthStencilImage +GLAD_API_CALL PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer; +GLAD_API_CALL PFN_vkCmdCopyBuffer glad_debug_vkCmdCopyBuffer; +#define vkCmdCopyBuffer glad_debug_vkCmdCopyBuffer +GLAD_API_CALL PFN_vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2; +GLAD_API_CALL PFN_vkCmdCopyBuffer2 glad_debug_vkCmdCopyBuffer2; +#define vkCmdCopyBuffer2 glad_debug_vkCmdCopyBuffer2 +GLAD_API_CALL PFN_vkCmdCopyBuffer2KHR glad_vkCmdCopyBuffer2KHR; +GLAD_API_CALL PFN_vkCmdCopyBuffer2KHR glad_debug_vkCmdCopyBuffer2KHR; +#define vkCmdCopyBuffer2KHR glad_debug_vkCmdCopyBuffer2KHR +GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage; +GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_debug_vkCmdCopyBufferToImage; +#define vkCmdCopyBufferToImage glad_debug_vkCmdCopyBufferToImage +GLAD_API_CALL PFN_vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2; +GLAD_API_CALL PFN_vkCmdCopyBufferToImage2 glad_debug_vkCmdCopyBufferToImage2; +#define vkCmdCopyBufferToImage2 glad_debug_vkCmdCopyBufferToImage2 +GLAD_API_CALL PFN_vkCmdCopyBufferToImage2KHR glad_vkCmdCopyBufferToImage2KHR; +GLAD_API_CALL PFN_vkCmdCopyBufferToImage2KHR glad_debug_vkCmdCopyBufferToImage2KHR; +#define vkCmdCopyBufferToImage2KHR glad_debug_vkCmdCopyBufferToImage2KHR +GLAD_API_CALL PFN_vkCmdCopyImage glad_vkCmdCopyImage; +GLAD_API_CALL PFN_vkCmdCopyImage glad_debug_vkCmdCopyImage; +#define vkCmdCopyImage glad_debug_vkCmdCopyImage +GLAD_API_CALL PFN_vkCmdCopyImage2 glad_vkCmdCopyImage2; +GLAD_API_CALL PFN_vkCmdCopyImage2 glad_debug_vkCmdCopyImage2; +#define vkCmdCopyImage2 glad_debug_vkCmdCopyImage2 +GLAD_API_CALL PFN_vkCmdCopyImage2KHR glad_vkCmdCopyImage2KHR; +GLAD_API_CALL PFN_vkCmdCopyImage2KHR glad_debug_vkCmdCopyImage2KHR; +#define vkCmdCopyImage2KHR glad_debug_vkCmdCopyImage2KHR +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer; +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_debug_vkCmdCopyImageToBuffer; +#define vkCmdCopyImageToBuffer glad_debug_vkCmdCopyImageToBuffer +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2; +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2 glad_debug_vkCmdCopyImageToBuffer2; +#define vkCmdCopyImageToBuffer2 glad_debug_vkCmdCopyImageToBuffer2 +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2KHR glad_vkCmdCopyImageToBuffer2KHR; +GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2KHR glad_debug_vkCmdCopyImageToBuffer2KHR; +#define vkCmdCopyImageToBuffer2KHR glad_debug_vkCmdCopyImageToBuffer2KHR +GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults; +GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_debug_vkCmdCopyQueryPoolResults; +#define vkCmdCopyQueryPoolResults glad_debug_vkCmdCopyQueryPoolResults +GLAD_API_CALL PFN_vkCmdDispatch glad_vkCmdDispatch; +GLAD_API_CALL PFN_vkCmdDispatch glad_debug_vkCmdDispatch; +#define vkCmdDispatch glad_debug_vkCmdDispatch +GLAD_API_CALL PFN_vkCmdDispatchBase glad_vkCmdDispatchBase; +GLAD_API_CALL PFN_vkCmdDispatchBase glad_debug_vkCmdDispatchBase; +#define vkCmdDispatchBase glad_debug_vkCmdDispatchBase +GLAD_API_CALL PFN_vkCmdDispatchBaseKHR glad_vkCmdDispatchBaseKHR; +GLAD_API_CALL PFN_vkCmdDispatchBaseKHR glad_debug_vkCmdDispatchBaseKHR; +#define vkCmdDispatchBaseKHR glad_debug_vkCmdDispatchBaseKHR +GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect; +GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_debug_vkCmdDispatchIndirect; +#define vkCmdDispatchIndirect glad_debug_vkCmdDispatchIndirect +GLAD_API_CALL PFN_vkCmdDraw glad_vkCmdDraw; +GLAD_API_CALL PFN_vkCmdDraw glad_debug_vkCmdDraw; +#define vkCmdDraw glad_debug_vkCmdDraw +GLAD_API_CALL PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed; +GLAD_API_CALL PFN_vkCmdDrawIndexed glad_debug_vkCmdDrawIndexed; +#define vkCmdDrawIndexed glad_debug_vkCmdDrawIndexed +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect; +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_debug_vkCmdDrawIndexedIndirect; +#define vkCmdDrawIndexedIndirect glad_debug_vkCmdDrawIndexedIndirect +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount; +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCount glad_debug_vkCmdDrawIndexedIndirectCount; +#define vkCmdDrawIndexedIndirectCount glad_debug_vkCmdDrawIndexedIndirectCount +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCountAMD glad_vkCmdDrawIndexedIndirectCountAMD; +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCountAMD glad_debug_vkCmdDrawIndexedIndirectCountAMD; +#define vkCmdDrawIndexedIndirectCountAMD glad_debug_vkCmdDrawIndexedIndirectCountAMD +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCountKHR glad_vkCmdDrawIndexedIndirectCountKHR; +GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCountKHR glad_debug_vkCmdDrawIndexedIndirectCountKHR; +#define vkCmdDrawIndexedIndirectCountKHR glad_debug_vkCmdDrawIndexedIndirectCountKHR +GLAD_API_CALL PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect; +GLAD_API_CALL PFN_vkCmdDrawIndirect glad_debug_vkCmdDrawIndirect; +#define vkCmdDrawIndirect glad_debug_vkCmdDrawIndirect +GLAD_API_CALL PFN_vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount; +GLAD_API_CALL PFN_vkCmdDrawIndirectCount glad_debug_vkCmdDrawIndirectCount; +#define vkCmdDrawIndirectCount glad_debug_vkCmdDrawIndirectCount +GLAD_API_CALL PFN_vkCmdDrawIndirectCountAMD glad_vkCmdDrawIndirectCountAMD; +GLAD_API_CALL PFN_vkCmdDrawIndirectCountAMD glad_debug_vkCmdDrawIndirectCountAMD; +#define vkCmdDrawIndirectCountAMD glad_debug_vkCmdDrawIndirectCountAMD +GLAD_API_CALL PFN_vkCmdDrawIndirectCountKHR glad_vkCmdDrawIndirectCountKHR; +GLAD_API_CALL PFN_vkCmdDrawIndirectCountKHR glad_debug_vkCmdDrawIndirectCountKHR; +#define vkCmdDrawIndirectCountKHR glad_debug_vkCmdDrawIndirectCountKHR +GLAD_API_CALL PFN_vkCmdEndQuery glad_vkCmdEndQuery; +GLAD_API_CALL PFN_vkCmdEndQuery glad_debug_vkCmdEndQuery; +#define vkCmdEndQuery glad_debug_vkCmdEndQuery +GLAD_API_CALL PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass; +GLAD_API_CALL PFN_vkCmdEndRenderPass glad_debug_vkCmdEndRenderPass; +#define vkCmdEndRenderPass glad_debug_vkCmdEndRenderPass +GLAD_API_CALL PFN_vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2; +GLAD_API_CALL PFN_vkCmdEndRenderPass2 glad_debug_vkCmdEndRenderPass2; +#define vkCmdEndRenderPass2 glad_debug_vkCmdEndRenderPass2 +GLAD_API_CALL PFN_vkCmdEndRenderPass2KHR glad_vkCmdEndRenderPass2KHR; +GLAD_API_CALL PFN_vkCmdEndRenderPass2KHR glad_debug_vkCmdEndRenderPass2KHR; +#define vkCmdEndRenderPass2KHR glad_debug_vkCmdEndRenderPass2KHR +GLAD_API_CALL PFN_vkCmdEndRendering glad_vkCmdEndRendering; +GLAD_API_CALL PFN_vkCmdEndRendering glad_debug_vkCmdEndRendering; +#define vkCmdEndRendering glad_debug_vkCmdEndRendering +GLAD_API_CALL PFN_vkCmdEndRenderingKHR glad_vkCmdEndRenderingKHR; +GLAD_API_CALL PFN_vkCmdEndRenderingKHR glad_debug_vkCmdEndRenderingKHR; +#define vkCmdEndRenderingKHR glad_debug_vkCmdEndRenderingKHR +GLAD_API_CALL PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands; +GLAD_API_CALL PFN_vkCmdExecuteCommands glad_debug_vkCmdExecuteCommands; +#define vkCmdExecuteCommands glad_debug_vkCmdExecuteCommands +GLAD_API_CALL PFN_vkCmdFillBuffer glad_vkCmdFillBuffer; +GLAD_API_CALL PFN_vkCmdFillBuffer glad_debug_vkCmdFillBuffer; +#define vkCmdFillBuffer glad_debug_vkCmdFillBuffer +GLAD_API_CALL PFN_vkCmdNextSubpass glad_vkCmdNextSubpass; +GLAD_API_CALL PFN_vkCmdNextSubpass glad_debug_vkCmdNextSubpass; +#define vkCmdNextSubpass glad_debug_vkCmdNextSubpass +GLAD_API_CALL PFN_vkCmdNextSubpass2 glad_vkCmdNextSubpass2; +GLAD_API_CALL PFN_vkCmdNextSubpass2 glad_debug_vkCmdNextSubpass2; +#define vkCmdNextSubpass2 glad_debug_vkCmdNextSubpass2 +GLAD_API_CALL PFN_vkCmdNextSubpass2KHR glad_vkCmdNextSubpass2KHR; +GLAD_API_CALL PFN_vkCmdNextSubpass2KHR glad_debug_vkCmdNextSubpass2KHR; +#define vkCmdNextSubpass2KHR glad_debug_vkCmdNextSubpass2KHR +GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier; +GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_debug_vkCmdPipelineBarrier; +#define vkCmdPipelineBarrier glad_debug_vkCmdPipelineBarrier +GLAD_API_CALL PFN_vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2; +GLAD_API_CALL PFN_vkCmdPipelineBarrier2 glad_debug_vkCmdPipelineBarrier2; +#define vkCmdPipelineBarrier2 glad_debug_vkCmdPipelineBarrier2 +GLAD_API_CALL PFN_vkCmdPipelineBarrier2KHR glad_vkCmdPipelineBarrier2KHR; +GLAD_API_CALL PFN_vkCmdPipelineBarrier2KHR glad_debug_vkCmdPipelineBarrier2KHR; +#define vkCmdPipelineBarrier2KHR glad_debug_vkCmdPipelineBarrier2KHR +GLAD_API_CALL PFN_vkCmdPushConstants glad_vkCmdPushConstants; +GLAD_API_CALL PFN_vkCmdPushConstants glad_debug_vkCmdPushConstants; +#define vkCmdPushConstants glad_debug_vkCmdPushConstants +GLAD_API_CALL PFN_vkCmdPushConstants2 glad_vkCmdPushConstants2; +GLAD_API_CALL PFN_vkCmdPushConstants2 glad_debug_vkCmdPushConstants2; +#define vkCmdPushConstants2 glad_debug_vkCmdPushConstants2 +GLAD_API_CALL PFN_vkCmdPushConstants2KHR glad_vkCmdPushConstants2KHR; +GLAD_API_CALL PFN_vkCmdPushConstants2KHR glad_debug_vkCmdPushConstants2KHR; +#define vkCmdPushConstants2KHR glad_debug_vkCmdPushConstants2KHR +GLAD_API_CALL PFN_vkCmdPushDescriptorSet glad_vkCmdPushDescriptorSet; +GLAD_API_CALL PFN_vkCmdPushDescriptorSet glad_debug_vkCmdPushDescriptorSet; +#define vkCmdPushDescriptorSet glad_debug_vkCmdPushDescriptorSet +GLAD_API_CALL PFN_vkCmdPushDescriptorSet2 glad_vkCmdPushDescriptorSet2; +GLAD_API_CALL PFN_vkCmdPushDescriptorSet2 glad_debug_vkCmdPushDescriptorSet2; +#define vkCmdPushDescriptorSet2 glad_debug_vkCmdPushDescriptorSet2 +GLAD_API_CALL PFN_vkCmdPushDescriptorSet2KHR glad_vkCmdPushDescriptorSet2KHR; +GLAD_API_CALL PFN_vkCmdPushDescriptorSet2KHR glad_debug_vkCmdPushDescriptorSet2KHR; +#define vkCmdPushDescriptorSet2KHR glad_debug_vkCmdPushDescriptorSet2KHR +GLAD_API_CALL PFN_vkCmdPushDescriptorSetKHR glad_vkCmdPushDescriptorSetKHR; +GLAD_API_CALL PFN_vkCmdPushDescriptorSetKHR glad_debug_vkCmdPushDescriptorSetKHR; +#define vkCmdPushDescriptorSetKHR glad_debug_vkCmdPushDescriptorSetKHR +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate glad_vkCmdPushDescriptorSetWithTemplate; +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate glad_debug_vkCmdPushDescriptorSetWithTemplate; +#define vkCmdPushDescriptorSetWithTemplate glad_debug_vkCmdPushDescriptorSetWithTemplate +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate2 glad_vkCmdPushDescriptorSetWithTemplate2; +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate2 glad_debug_vkCmdPushDescriptorSetWithTemplate2; +#define vkCmdPushDescriptorSetWithTemplate2 glad_debug_vkCmdPushDescriptorSetWithTemplate2 +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate2KHR glad_vkCmdPushDescriptorSetWithTemplate2KHR; +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplate2KHR glad_debug_vkCmdPushDescriptorSetWithTemplate2KHR; +#define vkCmdPushDescriptorSetWithTemplate2KHR glad_debug_vkCmdPushDescriptorSetWithTemplate2KHR +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplateKHR glad_vkCmdPushDescriptorSetWithTemplateKHR; +GLAD_API_CALL PFN_vkCmdPushDescriptorSetWithTemplateKHR glad_debug_vkCmdPushDescriptorSetWithTemplateKHR; +#define vkCmdPushDescriptorSetWithTemplateKHR glad_debug_vkCmdPushDescriptorSetWithTemplateKHR +GLAD_API_CALL PFN_vkCmdResetEvent glad_vkCmdResetEvent; +GLAD_API_CALL PFN_vkCmdResetEvent glad_debug_vkCmdResetEvent; +#define vkCmdResetEvent glad_debug_vkCmdResetEvent +GLAD_API_CALL PFN_vkCmdResetEvent2 glad_vkCmdResetEvent2; +GLAD_API_CALL PFN_vkCmdResetEvent2 glad_debug_vkCmdResetEvent2; +#define vkCmdResetEvent2 glad_debug_vkCmdResetEvent2 +GLAD_API_CALL PFN_vkCmdResetEvent2KHR glad_vkCmdResetEvent2KHR; +GLAD_API_CALL PFN_vkCmdResetEvent2KHR glad_debug_vkCmdResetEvent2KHR; +#define vkCmdResetEvent2KHR glad_debug_vkCmdResetEvent2KHR +GLAD_API_CALL PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool; +GLAD_API_CALL PFN_vkCmdResetQueryPool glad_debug_vkCmdResetQueryPool; +#define vkCmdResetQueryPool glad_debug_vkCmdResetQueryPool +GLAD_API_CALL PFN_vkCmdResolveImage glad_vkCmdResolveImage; +GLAD_API_CALL PFN_vkCmdResolveImage glad_debug_vkCmdResolveImage; +#define vkCmdResolveImage glad_debug_vkCmdResolveImage +GLAD_API_CALL PFN_vkCmdResolveImage2 glad_vkCmdResolveImage2; +GLAD_API_CALL PFN_vkCmdResolveImage2 glad_debug_vkCmdResolveImage2; +#define vkCmdResolveImage2 glad_debug_vkCmdResolveImage2 +GLAD_API_CALL PFN_vkCmdResolveImage2KHR glad_vkCmdResolveImage2KHR; +GLAD_API_CALL PFN_vkCmdResolveImage2KHR glad_debug_vkCmdResolveImage2KHR; +#define vkCmdResolveImage2KHR glad_debug_vkCmdResolveImage2KHR +GLAD_API_CALL PFN_vkCmdSetAlphaToCoverageEnableEXT glad_vkCmdSetAlphaToCoverageEnableEXT; +GLAD_API_CALL PFN_vkCmdSetAlphaToCoverageEnableEXT glad_debug_vkCmdSetAlphaToCoverageEnableEXT; +#define vkCmdSetAlphaToCoverageEnableEXT glad_debug_vkCmdSetAlphaToCoverageEnableEXT +GLAD_API_CALL PFN_vkCmdSetAlphaToOneEnableEXT glad_vkCmdSetAlphaToOneEnableEXT; +GLAD_API_CALL PFN_vkCmdSetAlphaToOneEnableEXT glad_debug_vkCmdSetAlphaToOneEnableEXT; +#define vkCmdSetAlphaToOneEnableEXT glad_debug_vkCmdSetAlphaToOneEnableEXT +GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants; +GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_debug_vkCmdSetBlendConstants; +#define vkCmdSetBlendConstants glad_debug_vkCmdSetBlendConstants +GLAD_API_CALL PFN_vkCmdSetColorBlendAdvancedEXT glad_vkCmdSetColorBlendAdvancedEXT; +GLAD_API_CALL PFN_vkCmdSetColorBlendAdvancedEXT glad_debug_vkCmdSetColorBlendAdvancedEXT; +#define vkCmdSetColorBlendAdvancedEXT glad_debug_vkCmdSetColorBlendAdvancedEXT +GLAD_API_CALL PFN_vkCmdSetColorBlendEnableEXT glad_vkCmdSetColorBlendEnableEXT; +GLAD_API_CALL PFN_vkCmdSetColorBlendEnableEXT glad_debug_vkCmdSetColorBlendEnableEXT; +#define vkCmdSetColorBlendEnableEXT glad_debug_vkCmdSetColorBlendEnableEXT +GLAD_API_CALL PFN_vkCmdSetColorBlendEquationEXT glad_vkCmdSetColorBlendEquationEXT; +GLAD_API_CALL PFN_vkCmdSetColorBlendEquationEXT glad_debug_vkCmdSetColorBlendEquationEXT; +#define vkCmdSetColorBlendEquationEXT glad_debug_vkCmdSetColorBlendEquationEXT +GLAD_API_CALL PFN_vkCmdSetColorWriteMaskEXT glad_vkCmdSetColorWriteMaskEXT; +GLAD_API_CALL PFN_vkCmdSetColorWriteMaskEXT glad_debug_vkCmdSetColorWriteMaskEXT; +#define vkCmdSetColorWriteMaskEXT glad_debug_vkCmdSetColorWriteMaskEXT +GLAD_API_CALL PFN_vkCmdSetConservativeRasterizationModeEXT glad_vkCmdSetConservativeRasterizationModeEXT; +GLAD_API_CALL PFN_vkCmdSetConservativeRasterizationModeEXT glad_debug_vkCmdSetConservativeRasterizationModeEXT; +#define vkCmdSetConservativeRasterizationModeEXT glad_debug_vkCmdSetConservativeRasterizationModeEXT +GLAD_API_CALL PFN_vkCmdSetCoverageModulationModeNV glad_vkCmdSetCoverageModulationModeNV; +GLAD_API_CALL PFN_vkCmdSetCoverageModulationModeNV glad_debug_vkCmdSetCoverageModulationModeNV; +#define vkCmdSetCoverageModulationModeNV glad_debug_vkCmdSetCoverageModulationModeNV +GLAD_API_CALL PFN_vkCmdSetCoverageModulationTableEnableNV glad_vkCmdSetCoverageModulationTableEnableNV; +GLAD_API_CALL PFN_vkCmdSetCoverageModulationTableEnableNV glad_debug_vkCmdSetCoverageModulationTableEnableNV; +#define vkCmdSetCoverageModulationTableEnableNV glad_debug_vkCmdSetCoverageModulationTableEnableNV +GLAD_API_CALL PFN_vkCmdSetCoverageModulationTableNV glad_vkCmdSetCoverageModulationTableNV; +GLAD_API_CALL PFN_vkCmdSetCoverageModulationTableNV glad_debug_vkCmdSetCoverageModulationTableNV; +#define vkCmdSetCoverageModulationTableNV glad_debug_vkCmdSetCoverageModulationTableNV +GLAD_API_CALL PFN_vkCmdSetCoverageReductionModeNV glad_vkCmdSetCoverageReductionModeNV; +GLAD_API_CALL PFN_vkCmdSetCoverageReductionModeNV glad_debug_vkCmdSetCoverageReductionModeNV; +#define vkCmdSetCoverageReductionModeNV glad_debug_vkCmdSetCoverageReductionModeNV +GLAD_API_CALL PFN_vkCmdSetCoverageToColorEnableNV glad_vkCmdSetCoverageToColorEnableNV; +GLAD_API_CALL PFN_vkCmdSetCoverageToColorEnableNV glad_debug_vkCmdSetCoverageToColorEnableNV; +#define vkCmdSetCoverageToColorEnableNV glad_debug_vkCmdSetCoverageToColorEnableNV +GLAD_API_CALL PFN_vkCmdSetCoverageToColorLocationNV glad_vkCmdSetCoverageToColorLocationNV; +GLAD_API_CALL PFN_vkCmdSetCoverageToColorLocationNV glad_debug_vkCmdSetCoverageToColorLocationNV; +#define vkCmdSetCoverageToColorLocationNV glad_debug_vkCmdSetCoverageToColorLocationNV +GLAD_API_CALL PFN_vkCmdSetCullMode glad_vkCmdSetCullMode; +GLAD_API_CALL PFN_vkCmdSetCullMode glad_debug_vkCmdSetCullMode; +#define vkCmdSetCullMode glad_debug_vkCmdSetCullMode +GLAD_API_CALL PFN_vkCmdSetCullModeEXT glad_vkCmdSetCullModeEXT; +GLAD_API_CALL PFN_vkCmdSetCullModeEXT glad_debug_vkCmdSetCullModeEXT; +#define vkCmdSetCullModeEXT glad_debug_vkCmdSetCullModeEXT +GLAD_API_CALL PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias; +GLAD_API_CALL PFN_vkCmdSetDepthBias glad_debug_vkCmdSetDepthBias; +#define vkCmdSetDepthBias glad_debug_vkCmdSetDepthBias +GLAD_API_CALL PFN_vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable; +GLAD_API_CALL PFN_vkCmdSetDepthBiasEnable glad_debug_vkCmdSetDepthBiasEnable; +#define vkCmdSetDepthBiasEnable glad_debug_vkCmdSetDepthBiasEnable +GLAD_API_CALL PFN_vkCmdSetDepthBiasEnableEXT glad_vkCmdSetDepthBiasEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthBiasEnableEXT glad_debug_vkCmdSetDepthBiasEnableEXT; +#define vkCmdSetDepthBiasEnableEXT glad_debug_vkCmdSetDepthBiasEnableEXT +GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds; +GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_debug_vkCmdSetDepthBounds; +#define vkCmdSetDepthBounds glad_debug_vkCmdSetDepthBounds +GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable; +GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnable glad_debug_vkCmdSetDepthBoundsTestEnable; +#define vkCmdSetDepthBoundsTestEnable glad_debug_vkCmdSetDepthBoundsTestEnable +GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnableEXT glad_vkCmdSetDepthBoundsTestEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnableEXT glad_debug_vkCmdSetDepthBoundsTestEnableEXT; +#define vkCmdSetDepthBoundsTestEnableEXT glad_debug_vkCmdSetDepthBoundsTestEnableEXT +GLAD_API_CALL PFN_vkCmdSetDepthClampEnableEXT glad_vkCmdSetDepthClampEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthClampEnableEXT glad_debug_vkCmdSetDepthClampEnableEXT; +#define vkCmdSetDepthClampEnableEXT glad_debug_vkCmdSetDepthClampEnableEXT +GLAD_API_CALL PFN_vkCmdSetDepthClampRangeEXT glad_vkCmdSetDepthClampRangeEXT; +GLAD_API_CALL PFN_vkCmdSetDepthClampRangeEXT glad_debug_vkCmdSetDepthClampRangeEXT; +#define vkCmdSetDepthClampRangeEXT glad_debug_vkCmdSetDepthClampRangeEXT +GLAD_API_CALL PFN_vkCmdSetDepthClipEnableEXT glad_vkCmdSetDepthClipEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthClipEnableEXT glad_debug_vkCmdSetDepthClipEnableEXT; +#define vkCmdSetDepthClipEnableEXT glad_debug_vkCmdSetDepthClipEnableEXT +GLAD_API_CALL PFN_vkCmdSetDepthClipNegativeOneToOneEXT glad_vkCmdSetDepthClipNegativeOneToOneEXT; +GLAD_API_CALL PFN_vkCmdSetDepthClipNegativeOneToOneEXT glad_debug_vkCmdSetDepthClipNegativeOneToOneEXT; +#define vkCmdSetDepthClipNegativeOneToOneEXT glad_debug_vkCmdSetDepthClipNegativeOneToOneEXT +GLAD_API_CALL PFN_vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp; +GLAD_API_CALL PFN_vkCmdSetDepthCompareOp glad_debug_vkCmdSetDepthCompareOp; +#define vkCmdSetDepthCompareOp glad_debug_vkCmdSetDepthCompareOp +GLAD_API_CALL PFN_vkCmdSetDepthCompareOpEXT glad_vkCmdSetDepthCompareOpEXT; +GLAD_API_CALL PFN_vkCmdSetDepthCompareOpEXT glad_debug_vkCmdSetDepthCompareOpEXT; +#define vkCmdSetDepthCompareOpEXT glad_debug_vkCmdSetDepthCompareOpEXT +GLAD_API_CALL PFN_vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable; +GLAD_API_CALL PFN_vkCmdSetDepthTestEnable glad_debug_vkCmdSetDepthTestEnable; +#define vkCmdSetDepthTestEnable glad_debug_vkCmdSetDepthTestEnable +GLAD_API_CALL PFN_vkCmdSetDepthTestEnableEXT glad_vkCmdSetDepthTestEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthTestEnableEXT glad_debug_vkCmdSetDepthTestEnableEXT; +#define vkCmdSetDepthTestEnableEXT glad_debug_vkCmdSetDepthTestEnableEXT +GLAD_API_CALL PFN_vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable; +GLAD_API_CALL PFN_vkCmdSetDepthWriteEnable glad_debug_vkCmdSetDepthWriteEnable; +#define vkCmdSetDepthWriteEnable glad_debug_vkCmdSetDepthWriteEnable +GLAD_API_CALL PFN_vkCmdSetDepthWriteEnableEXT glad_vkCmdSetDepthWriteEnableEXT; +GLAD_API_CALL PFN_vkCmdSetDepthWriteEnableEXT glad_debug_vkCmdSetDepthWriteEnableEXT; +#define vkCmdSetDepthWriteEnableEXT glad_debug_vkCmdSetDepthWriteEnableEXT +GLAD_API_CALL PFN_vkCmdSetDescriptorBufferOffsets2EXT glad_vkCmdSetDescriptorBufferOffsets2EXT; +GLAD_API_CALL PFN_vkCmdSetDescriptorBufferOffsets2EXT glad_debug_vkCmdSetDescriptorBufferOffsets2EXT; +#define vkCmdSetDescriptorBufferOffsets2EXT glad_debug_vkCmdSetDescriptorBufferOffsets2EXT +GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask; +GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_debug_vkCmdSetDeviceMask; +#define vkCmdSetDeviceMask glad_debug_vkCmdSetDeviceMask +GLAD_API_CALL PFN_vkCmdSetDeviceMaskKHR glad_vkCmdSetDeviceMaskKHR; +GLAD_API_CALL PFN_vkCmdSetDeviceMaskKHR glad_debug_vkCmdSetDeviceMaskKHR; +#define vkCmdSetDeviceMaskKHR glad_debug_vkCmdSetDeviceMaskKHR +GLAD_API_CALL PFN_vkCmdSetEvent glad_vkCmdSetEvent; +GLAD_API_CALL PFN_vkCmdSetEvent glad_debug_vkCmdSetEvent; +#define vkCmdSetEvent glad_debug_vkCmdSetEvent +GLAD_API_CALL PFN_vkCmdSetEvent2 glad_vkCmdSetEvent2; +GLAD_API_CALL PFN_vkCmdSetEvent2 glad_debug_vkCmdSetEvent2; +#define vkCmdSetEvent2 glad_debug_vkCmdSetEvent2 +GLAD_API_CALL PFN_vkCmdSetEvent2KHR glad_vkCmdSetEvent2KHR; +GLAD_API_CALL PFN_vkCmdSetEvent2KHR glad_debug_vkCmdSetEvent2KHR; +#define vkCmdSetEvent2KHR glad_debug_vkCmdSetEvent2KHR +GLAD_API_CALL PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT; +GLAD_API_CALL PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT glad_debug_vkCmdSetExtraPrimitiveOverestimationSizeEXT; +#define vkCmdSetExtraPrimitiveOverestimationSizeEXT glad_debug_vkCmdSetExtraPrimitiveOverestimationSizeEXT +GLAD_API_CALL PFN_vkCmdSetFrontFace glad_vkCmdSetFrontFace; +GLAD_API_CALL PFN_vkCmdSetFrontFace glad_debug_vkCmdSetFrontFace; +#define vkCmdSetFrontFace glad_debug_vkCmdSetFrontFace +GLAD_API_CALL PFN_vkCmdSetFrontFaceEXT glad_vkCmdSetFrontFaceEXT; +GLAD_API_CALL PFN_vkCmdSetFrontFaceEXT glad_debug_vkCmdSetFrontFaceEXT; +#define vkCmdSetFrontFaceEXT glad_debug_vkCmdSetFrontFaceEXT +GLAD_API_CALL PFN_vkCmdSetLineRasterizationModeEXT glad_vkCmdSetLineRasterizationModeEXT; +GLAD_API_CALL PFN_vkCmdSetLineRasterizationModeEXT glad_debug_vkCmdSetLineRasterizationModeEXT; +#define vkCmdSetLineRasterizationModeEXT glad_debug_vkCmdSetLineRasterizationModeEXT +GLAD_API_CALL PFN_vkCmdSetLineStipple glad_vkCmdSetLineStipple; +GLAD_API_CALL PFN_vkCmdSetLineStipple glad_debug_vkCmdSetLineStipple; +#define vkCmdSetLineStipple glad_debug_vkCmdSetLineStipple +GLAD_API_CALL PFN_vkCmdSetLineStippleEXT glad_vkCmdSetLineStippleEXT; +GLAD_API_CALL PFN_vkCmdSetLineStippleEXT glad_debug_vkCmdSetLineStippleEXT; +#define vkCmdSetLineStippleEXT glad_debug_vkCmdSetLineStippleEXT +GLAD_API_CALL PFN_vkCmdSetLineStippleEnableEXT glad_vkCmdSetLineStippleEnableEXT; +GLAD_API_CALL PFN_vkCmdSetLineStippleEnableEXT glad_debug_vkCmdSetLineStippleEnableEXT; +#define vkCmdSetLineStippleEnableEXT glad_debug_vkCmdSetLineStippleEnableEXT +GLAD_API_CALL PFN_vkCmdSetLineStippleKHR glad_vkCmdSetLineStippleKHR; +GLAD_API_CALL PFN_vkCmdSetLineStippleKHR glad_debug_vkCmdSetLineStippleKHR; +#define vkCmdSetLineStippleKHR glad_debug_vkCmdSetLineStippleKHR +GLAD_API_CALL PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth; +GLAD_API_CALL PFN_vkCmdSetLineWidth glad_debug_vkCmdSetLineWidth; +#define vkCmdSetLineWidth glad_debug_vkCmdSetLineWidth +GLAD_API_CALL PFN_vkCmdSetLogicOpEXT glad_vkCmdSetLogicOpEXT; +GLAD_API_CALL PFN_vkCmdSetLogicOpEXT glad_debug_vkCmdSetLogicOpEXT; +#define vkCmdSetLogicOpEXT glad_debug_vkCmdSetLogicOpEXT +GLAD_API_CALL PFN_vkCmdSetLogicOpEnableEXT glad_vkCmdSetLogicOpEnableEXT; +GLAD_API_CALL PFN_vkCmdSetLogicOpEnableEXT glad_debug_vkCmdSetLogicOpEnableEXT; +#define vkCmdSetLogicOpEnableEXT glad_debug_vkCmdSetLogicOpEnableEXT +GLAD_API_CALL PFN_vkCmdSetPatchControlPointsEXT glad_vkCmdSetPatchControlPointsEXT; +GLAD_API_CALL PFN_vkCmdSetPatchControlPointsEXT glad_debug_vkCmdSetPatchControlPointsEXT; +#define vkCmdSetPatchControlPointsEXT glad_debug_vkCmdSetPatchControlPointsEXT +GLAD_API_CALL PFN_vkCmdSetPolygonModeEXT glad_vkCmdSetPolygonModeEXT; +GLAD_API_CALL PFN_vkCmdSetPolygonModeEXT glad_debug_vkCmdSetPolygonModeEXT; +#define vkCmdSetPolygonModeEXT glad_debug_vkCmdSetPolygonModeEXT +GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable; +GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnable glad_debug_vkCmdSetPrimitiveRestartEnable; +#define vkCmdSetPrimitiveRestartEnable glad_debug_vkCmdSetPrimitiveRestartEnable +GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnableEXT glad_vkCmdSetPrimitiveRestartEnableEXT; +GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnableEXT glad_debug_vkCmdSetPrimitiveRestartEnableEXT; +#define vkCmdSetPrimitiveRestartEnableEXT glad_debug_vkCmdSetPrimitiveRestartEnableEXT +GLAD_API_CALL PFN_vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology; +GLAD_API_CALL PFN_vkCmdSetPrimitiveTopology glad_debug_vkCmdSetPrimitiveTopology; +#define vkCmdSetPrimitiveTopology glad_debug_vkCmdSetPrimitiveTopology +GLAD_API_CALL PFN_vkCmdSetPrimitiveTopologyEXT glad_vkCmdSetPrimitiveTopologyEXT; +GLAD_API_CALL PFN_vkCmdSetPrimitiveTopologyEXT glad_debug_vkCmdSetPrimitiveTopologyEXT; +#define vkCmdSetPrimitiveTopologyEXT glad_debug_vkCmdSetPrimitiveTopologyEXT +GLAD_API_CALL PFN_vkCmdSetProvokingVertexModeEXT glad_vkCmdSetProvokingVertexModeEXT; +GLAD_API_CALL PFN_vkCmdSetProvokingVertexModeEXT glad_debug_vkCmdSetProvokingVertexModeEXT; +#define vkCmdSetProvokingVertexModeEXT glad_debug_vkCmdSetProvokingVertexModeEXT +GLAD_API_CALL PFN_vkCmdSetRasterizationSamplesEXT glad_vkCmdSetRasterizationSamplesEXT; +GLAD_API_CALL PFN_vkCmdSetRasterizationSamplesEXT glad_debug_vkCmdSetRasterizationSamplesEXT; +#define vkCmdSetRasterizationSamplesEXT glad_debug_vkCmdSetRasterizationSamplesEXT +GLAD_API_CALL PFN_vkCmdSetRasterizationStreamEXT glad_vkCmdSetRasterizationStreamEXT; +GLAD_API_CALL PFN_vkCmdSetRasterizationStreamEXT glad_debug_vkCmdSetRasterizationStreamEXT; +#define vkCmdSetRasterizationStreamEXT glad_debug_vkCmdSetRasterizationStreamEXT +GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable; +GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnable glad_debug_vkCmdSetRasterizerDiscardEnable; +#define vkCmdSetRasterizerDiscardEnable glad_debug_vkCmdSetRasterizerDiscardEnable +GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnableEXT glad_vkCmdSetRasterizerDiscardEnableEXT; +GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnableEXT glad_debug_vkCmdSetRasterizerDiscardEnableEXT; +#define vkCmdSetRasterizerDiscardEnableEXT glad_debug_vkCmdSetRasterizerDiscardEnableEXT +GLAD_API_CALL PFN_vkCmdSetRenderingAttachmentLocations glad_vkCmdSetRenderingAttachmentLocations; +GLAD_API_CALL PFN_vkCmdSetRenderingAttachmentLocations glad_debug_vkCmdSetRenderingAttachmentLocations; +#define vkCmdSetRenderingAttachmentLocations glad_debug_vkCmdSetRenderingAttachmentLocations +GLAD_API_CALL PFN_vkCmdSetRenderingAttachmentLocationsKHR glad_vkCmdSetRenderingAttachmentLocationsKHR; +GLAD_API_CALL PFN_vkCmdSetRenderingAttachmentLocationsKHR glad_debug_vkCmdSetRenderingAttachmentLocationsKHR; +#define vkCmdSetRenderingAttachmentLocationsKHR glad_debug_vkCmdSetRenderingAttachmentLocationsKHR +GLAD_API_CALL PFN_vkCmdSetRenderingInputAttachmentIndices glad_vkCmdSetRenderingInputAttachmentIndices; +GLAD_API_CALL PFN_vkCmdSetRenderingInputAttachmentIndices glad_debug_vkCmdSetRenderingInputAttachmentIndices; +#define vkCmdSetRenderingInputAttachmentIndices glad_debug_vkCmdSetRenderingInputAttachmentIndices +GLAD_API_CALL PFN_vkCmdSetRenderingInputAttachmentIndicesKHR glad_vkCmdSetRenderingInputAttachmentIndicesKHR; +GLAD_API_CALL PFN_vkCmdSetRenderingInputAttachmentIndicesKHR glad_debug_vkCmdSetRenderingInputAttachmentIndicesKHR; +#define vkCmdSetRenderingInputAttachmentIndicesKHR glad_debug_vkCmdSetRenderingInputAttachmentIndicesKHR +GLAD_API_CALL PFN_vkCmdSetRepresentativeFragmentTestEnableNV glad_vkCmdSetRepresentativeFragmentTestEnableNV; +GLAD_API_CALL PFN_vkCmdSetRepresentativeFragmentTestEnableNV glad_debug_vkCmdSetRepresentativeFragmentTestEnableNV; +#define vkCmdSetRepresentativeFragmentTestEnableNV glad_debug_vkCmdSetRepresentativeFragmentTestEnableNV +GLAD_API_CALL PFN_vkCmdSetSampleLocationsEnableEXT glad_vkCmdSetSampleLocationsEnableEXT; +GLAD_API_CALL PFN_vkCmdSetSampleLocationsEnableEXT glad_debug_vkCmdSetSampleLocationsEnableEXT; +#define vkCmdSetSampleLocationsEnableEXT glad_debug_vkCmdSetSampleLocationsEnableEXT +GLAD_API_CALL PFN_vkCmdSetSampleMaskEXT glad_vkCmdSetSampleMaskEXT; +GLAD_API_CALL PFN_vkCmdSetSampleMaskEXT glad_debug_vkCmdSetSampleMaskEXT; +#define vkCmdSetSampleMaskEXT glad_debug_vkCmdSetSampleMaskEXT +GLAD_API_CALL PFN_vkCmdSetScissor glad_vkCmdSetScissor; +GLAD_API_CALL PFN_vkCmdSetScissor glad_debug_vkCmdSetScissor; +#define vkCmdSetScissor glad_debug_vkCmdSetScissor +GLAD_API_CALL PFN_vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount; +GLAD_API_CALL PFN_vkCmdSetScissorWithCount glad_debug_vkCmdSetScissorWithCount; +#define vkCmdSetScissorWithCount glad_debug_vkCmdSetScissorWithCount +GLAD_API_CALL PFN_vkCmdSetScissorWithCountEXT glad_vkCmdSetScissorWithCountEXT; +GLAD_API_CALL PFN_vkCmdSetScissorWithCountEXT glad_debug_vkCmdSetScissorWithCountEXT; +#define vkCmdSetScissorWithCountEXT glad_debug_vkCmdSetScissorWithCountEXT +GLAD_API_CALL PFN_vkCmdSetShadingRateImageEnableNV glad_vkCmdSetShadingRateImageEnableNV; +GLAD_API_CALL PFN_vkCmdSetShadingRateImageEnableNV glad_debug_vkCmdSetShadingRateImageEnableNV; +#define vkCmdSetShadingRateImageEnableNV glad_debug_vkCmdSetShadingRateImageEnableNV +GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask; +GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_debug_vkCmdSetStencilCompareMask; +#define vkCmdSetStencilCompareMask glad_debug_vkCmdSetStencilCompareMask +GLAD_API_CALL PFN_vkCmdSetStencilOp glad_vkCmdSetStencilOp; +GLAD_API_CALL PFN_vkCmdSetStencilOp glad_debug_vkCmdSetStencilOp; +#define vkCmdSetStencilOp glad_debug_vkCmdSetStencilOp +GLAD_API_CALL PFN_vkCmdSetStencilOpEXT glad_vkCmdSetStencilOpEXT; +GLAD_API_CALL PFN_vkCmdSetStencilOpEXT glad_debug_vkCmdSetStencilOpEXT; +#define vkCmdSetStencilOpEXT glad_debug_vkCmdSetStencilOpEXT +GLAD_API_CALL PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference; +GLAD_API_CALL PFN_vkCmdSetStencilReference glad_debug_vkCmdSetStencilReference; +#define vkCmdSetStencilReference glad_debug_vkCmdSetStencilReference +GLAD_API_CALL PFN_vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable; +GLAD_API_CALL PFN_vkCmdSetStencilTestEnable glad_debug_vkCmdSetStencilTestEnable; +#define vkCmdSetStencilTestEnable glad_debug_vkCmdSetStencilTestEnable +GLAD_API_CALL PFN_vkCmdSetStencilTestEnableEXT glad_vkCmdSetStencilTestEnableEXT; +GLAD_API_CALL PFN_vkCmdSetStencilTestEnableEXT glad_debug_vkCmdSetStencilTestEnableEXT; +#define vkCmdSetStencilTestEnableEXT glad_debug_vkCmdSetStencilTestEnableEXT +GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask; +GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_debug_vkCmdSetStencilWriteMask; +#define vkCmdSetStencilWriteMask glad_debug_vkCmdSetStencilWriteMask +GLAD_API_CALL PFN_vkCmdSetTessellationDomainOriginEXT glad_vkCmdSetTessellationDomainOriginEXT; +GLAD_API_CALL PFN_vkCmdSetTessellationDomainOriginEXT glad_debug_vkCmdSetTessellationDomainOriginEXT; +#define vkCmdSetTessellationDomainOriginEXT glad_debug_vkCmdSetTessellationDomainOriginEXT +GLAD_API_CALL PFN_vkCmdSetVertexInputEXT glad_vkCmdSetVertexInputEXT; +GLAD_API_CALL PFN_vkCmdSetVertexInputEXT glad_debug_vkCmdSetVertexInputEXT; +#define vkCmdSetVertexInputEXT glad_debug_vkCmdSetVertexInputEXT +GLAD_API_CALL PFN_vkCmdSetViewport glad_vkCmdSetViewport; +GLAD_API_CALL PFN_vkCmdSetViewport glad_debug_vkCmdSetViewport; +#define vkCmdSetViewport glad_debug_vkCmdSetViewport +GLAD_API_CALL PFN_vkCmdSetViewportSwizzleNV glad_vkCmdSetViewportSwizzleNV; +GLAD_API_CALL PFN_vkCmdSetViewportSwizzleNV glad_debug_vkCmdSetViewportSwizzleNV; +#define vkCmdSetViewportSwizzleNV glad_debug_vkCmdSetViewportSwizzleNV +GLAD_API_CALL PFN_vkCmdSetViewportWScalingEnableNV glad_vkCmdSetViewportWScalingEnableNV; +GLAD_API_CALL PFN_vkCmdSetViewportWScalingEnableNV glad_debug_vkCmdSetViewportWScalingEnableNV; +#define vkCmdSetViewportWScalingEnableNV glad_debug_vkCmdSetViewportWScalingEnableNV +GLAD_API_CALL PFN_vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount; +GLAD_API_CALL PFN_vkCmdSetViewportWithCount glad_debug_vkCmdSetViewportWithCount; +#define vkCmdSetViewportWithCount glad_debug_vkCmdSetViewportWithCount +GLAD_API_CALL PFN_vkCmdSetViewportWithCountEXT glad_vkCmdSetViewportWithCountEXT; +GLAD_API_CALL PFN_vkCmdSetViewportWithCountEXT glad_debug_vkCmdSetViewportWithCountEXT; +#define vkCmdSetViewportWithCountEXT glad_debug_vkCmdSetViewportWithCountEXT +GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer; +GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_debug_vkCmdUpdateBuffer; +#define vkCmdUpdateBuffer glad_debug_vkCmdUpdateBuffer +GLAD_API_CALL PFN_vkCmdWaitEvents glad_vkCmdWaitEvents; +GLAD_API_CALL PFN_vkCmdWaitEvents glad_debug_vkCmdWaitEvents; +#define vkCmdWaitEvents glad_debug_vkCmdWaitEvents +GLAD_API_CALL PFN_vkCmdWaitEvents2 glad_vkCmdWaitEvents2; +GLAD_API_CALL PFN_vkCmdWaitEvents2 glad_debug_vkCmdWaitEvents2; +#define vkCmdWaitEvents2 glad_debug_vkCmdWaitEvents2 +GLAD_API_CALL PFN_vkCmdWaitEvents2KHR glad_vkCmdWaitEvents2KHR; +GLAD_API_CALL PFN_vkCmdWaitEvents2KHR glad_debug_vkCmdWaitEvents2KHR; +#define vkCmdWaitEvents2KHR glad_debug_vkCmdWaitEvents2KHR +GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp; +GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_debug_vkCmdWriteTimestamp; +#define vkCmdWriteTimestamp glad_debug_vkCmdWriteTimestamp +GLAD_API_CALL PFN_vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2; +GLAD_API_CALL PFN_vkCmdWriteTimestamp2 glad_debug_vkCmdWriteTimestamp2; +#define vkCmdWriteTimestamp2 glad_debug_vkCmdWriteTimestamp2 +GLAD_API_CALL PFN_vkCmdWriteTimestamp2KHR glad_vkCmdWriteTimestamp2KHR; +GLAD_API_CALL PFN_vkCmdWriteTimestamp2KHR glad_debug_vkCmdWriteTimestamp2KHR; +#define vkCmdWriteTimestamp2KHR glad_debug_vkCmdWriteTimestamp2KHR +GLAD_API_CALL PFN_vkCopyImageToImage glad_vkCopyImageToImage; +GLAD_API_CALL PFN_vkCopyImageToImage glad_debug_vkCopyImageToImage; +#define vkCopyImageToImage glad_debug_vkCopyImageToImage +GLAD_API_CALL PFN_vkCopyImageToImageEXT glad_vkCopyImageToImageEXT; +GLAD_API_CALL PFN_vkCopyImageToImageEXT glad_debug_vkCopyImageToImageEXT; +#define vkCopyImageToImageEXT glad_debug_vkCopyImageToImageEXT +GLAD_API_CALL PFN_vkCopyImageToMemory glad_vkCopyImageToMemory; +GLAD_API_CALL PFN_vkCopyImageToMemory glad_debug_vkCopyImageToMemory; +#define vkCopyImageToMemory glad_debug_vkCopyImageToMemory +GLAD_API_CALL PFN_vkCopyImageToMemoryEXT glad_vkCopyImageToMemoryEXT; +GLAD_API_CALL PFN_vkCopyImageToMemoryEXT glad_debug_vkCopyImageToMemoryEXT; +#define vkCopyImageToMemoryEXT glad_debug_vkCopyImageToMemoryEXT +GLAD_API_CALL PFN_vkCopyMemoryToImage glad_vkCopyMemoryToImage; +GLAD_API_CALL PFN_vkCopyMemoryToImage glad_debug_vkCopyMemoryToImage; +#define vkCopyMemoryToImage glad_debug_vkCopyMemoryToImage +GLAD_API_CALL PFN_vkCopyMemoryToImageEXT glad_vkCopyMemoryToImageEXT; +GLAD_API_CALL PFN_vkCopyMemoryToImageEXT glad_debug_vkCopyMemoryToImageEXT; +#define vkCopyMemoryToImageEXT glad_debug_vkCopyMemoryToImageEXT +GLAD_API_CALL PFN_vkCreateBuffer glad_vkCreateBuffer; +GLAD_API_CALL PFN_vkCreateBuffer glad_debug_vkCreateBuffer; +#define vkCreateBuffer glad_debug_vkCreateBuffer +GLAD_API_CALL PFN_vkCreateBufferView glad_vkCreateBufferView; +GLAD_API_CALL PFN_vkCreateBufferView glad_debug_vkCreateBufferView; +#define vkCreateBufferView glad_debug_vkCreateBufferView +GLAD_API_CALL PFN_vkCreateCommandPool glad_vkCreateCommandPool; +GLAD_API_CALL PFN_vkCreateCommandPool glad_debug_vkCreateCommandPool; +#define vkCreateCommandPool glad_debug_vkCreateCommandPool +GLAD_API_CALL PFN_vkCreateComputePipelines glad_vkCreateComputePipelines; +GLAD_API_CALL PFN_vkCreateComputePipelines glad_debug_vkCreateComputePipelines; +#define vkCreateComputePipelines glad_debug_vkCreateComputePipelines +GLAD_API_CALL PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool; +GLAD_API_CALL PFN_vkCreateDescriptorPool glad_debug_vkCreateDescriptorPool; +#define vkCreateDescriptorPool glad_debug_vkCreateDescriptorPool +GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout; +GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_debug_vkCreateDescriptorSetLayout; +#define vkCreateDescriptorSetLayout glad_debug_vkCreateDescriptorSetLayout +GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate; +GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_debug_vkCreateDescriptorUpdateTemplate; +#define vkCreateDescriptorUpdateTemplate glad_debug_vkCreateDescriptorUpdateTemplate +GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplateKHR glad_vkCreateDescriptorUpdateTemplateKHR; +GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplateKHR glad_debug_vkCreateDescriptorUpdateTemplateKHR; +#define vkCreateDescriptorUpdateTemplateKHR glad_debug_vkCreateDescriptorUpdateTemplateKHR +GLAD_API_CALL PFN_vkCreateDevice glad_vkCreateDevice; +GLAD_API_CALL PFN_vkCreateDevice glad_debug_vkCreateDevice; +#define vkCreateDevice glad_debug_vkCreateDevice +GLAD_API_CALL PFN_vkCreateEvent glad_vkCreateEvent; +GLAD_API_CALL PFN_vkCreateEvent glad_debug_vkCreateEvent; +#define vkCreateEvent glad_debug_vkCreateEvent +GLAD_API_CALL PFN_vkCreateFence glad_vkCreateFence; +GLAD_API_CALL PFN_vkCreateFence glad_debug_vkCreateFence; +#define vkCreateFence glad_debug_vkCreateFence +GLAD_API_CALL PFN_vkCreateFramebuffer glad_vkCreateFramebuffer; +GLAD_API_CALL PFN_vkCreateFramebuffer glad_debug_vkCreateFramebuffer; +#define vkCreateFramebuffer glad_debug_vkCreateFramebuffer +GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines; +GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_debug_vkCreateGraphicsPipelines; +#define vkCreateGraphicsPipelines glad_debug_vkCreateGraphicsPipelines +GLAD_API_CALL PFN_vkCreateImage glad_vkCreateImage; +GLAD_API_CALL PFN_vkCreateImage glad_debug_vkCreateImage; +#define vkCreateImage glad_debug_vkCreateImage +GLAD_API_CALL PFN_vkCreateImageView glad_vkCreateImageView; +GLAD_API_CALL PFN_vkCreateImageView glad_debug_vkCreateImageView; +#define vkCreateImageView glad_debug_vkCreateImageView +GLAD_API_CALL PFN_vkCreateInstance glad_vkCreateInstance; +GLAD_API_CALL PFN_vkCreateInstance glad_debug_vkCreateInstance; +#define vkCreateInstance glad_debug_vkCreateInstance +GLAD_API_CALL PFN_vkCreatePipelineCache glad_vkCreatePipelineCache; +GLAD_API_CALL PFN_vkCreatePipelineCache glad_debug_vkCreatePipelineCache; +#define vkCreatePipelineCache glad_debug_vkCreatePipelineCache +GLAD_API_CALL PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout; +GLAD_API_CALL PFN_vkCreatePipelineLayout glad_debug_vkCreatePipelineLayout; +#define vkCreatePipelineLayout glad_debug_vkCreatePipelineLayout +GLAD_API_CALL PFN_vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot; +GLAD_API_CALL PFN_vkCreatePrivateDataSlot glad_debug_vkCreatePrivateDataSlot; +#define vkCreatePrivateDataSlot glad_debug_vkCreatePrivateDataSlot +GLAD_API_CALL PFN_vkCreatePrivateDataSlotEXT glad_vkCreatePrivateDataSlotEXT; +GLAD_API_CALL PFN_vkCreatePrivateDataSlotEXT glad_debug_vkCreatePrivateDataSlotEXT; +#define vkCreatePrivateDataSlotEXT glad_debug_vkCreatePrivateDataSlotEXT +GLAD_API_CALL PFN_vkCreateQueryPool glad_vkCreateQueryPool; +GLAD_API_CALL PFN_vkCreateQueryPool glad_debug_vkCreateQueryPool; +#define vkCreateQueryPool glad_debug_vkCreateQueryPool +GLAD_API_CALL PFN_vkCreateRenderPass glad_vkCreateRenderPass; +GLAD_API_CALL PFN_vkCreateRenderPass glad_debug_vkCreateRenderPass; +#define vkCreateRenderPass glad_debug_vkCreateRenderPass +GLAD_API_CALL PFN_vkCreateRenderPass2 glad_vkCreateRenderPass2; +GLAD_API_CALL PFN_vkCreateRenderPass2 glad_debug_vkCreateRenderPass2; +#define vkCreateRenderPass2 glad_debug_vkCreateRenderPass2 +GLAD_API_CALL PFN_vkCreateRenderPass2KHR glad_vkCreateRenderPass2KHR; +GLAD_API_CALL PFN_vkCreateRenderPass2KHR glad_debug_vkCreateRenderPass2KHR; +#define vkCreateRenderPass2KHR glad_debug_vkCreateRenderPass2KHR +GLAD_API_CALL PFN_vkCreateSampler glad_vkCreateSampler; +GLAD_API_CALL PFN_vkCreateSampler glad_debug_vkCreateSampler; +#define vkCreateSampler glad_debug_vkCreateSampler +GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion; +GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_debug_vkCreateSamplerYcbcrConversion; +#define vkCreateSamplerYcbcrConversion glad_debug_vkCreateSamplerYcbcrConversion +GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversionKHR glad_vkCreateSamplerYcbcrConversionKHR; +GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversionKHR glad_debug_vkCreateSamplerYcbcrConversionKHR; +#define vkCreateSamplerYcbcrConversionKHR glad_debug_vkCreateSamplerYcbcrConversionKHR +GLAD_API_CALL PFN_vkCreateSemaphore glad_vkCreateSemaphore; +GLAD_API_CALL PFN_vkCreateSemaphore glad_debug_vkCreateSemaphore; +#define vkCreateSemaphore glad_debug_vkCreateSemaphore +GLAD_API_CALL PFN_vkCreateShaderModule glad_vkCreateShaderModule; +GLAD_API_CALL PFN_vkCreateShaderModule glad_debug_vkCreateShaderModule; +#define vkCreateShaderModule glad_debug_vkCreateShaderModule +GLAD_API_CALL PFN_vkCreateShadersEXT glad_vkCreateShadersEXT; +GLAD_API_CALL PFN_vkCreateShadersEXT glad_debug_vkCreateShadersEXT; +#define vkCreateShadersEXT glad_debug_vkCreateShadersEXT +GLAD_API_CALL PFN_vkDestroyBuffer glad_vkDestroyBuffer; +GLAD_API_CALL PFN_vkDestroyBuffer glad_debug_vkDestroyBuffer; +#define vkDestroyBuffer glad_debug_vkDestroyBuffer +GLAD_API_CALL PFN_vkDestroyBufferView glad_vkDestroyBufferView; +GLAD_API_CALL PFN_vkDestroyBufferView glad_debug_vkDestroyBufferView; +#define vkDestroyBufferView glad_debug_vkDestroyBufferView +GLAD_API_CALL PFN_vkDestroyCommandPool glad_vkDestroyCommandPool; +GLAD_API_CALL PFN_vkDestroyCommandPool glad_debug_vkDestroyCommandPool; +#define vkDestroyCommandPool glad_debug_vkDestroyCommandPool +GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool; +GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_debug_vkDestroyDescriptorPool; +#define vkDestroyDescriptorPool glad_debug_vkDestroyDescriptorPool +GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout; +GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_debug_vkDestroyDescriptorSetLayout; +#define vkDestroyDescriptorSetLayout glad_debug_vkDestroyDescriptorSetLayout +GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate; +GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_debug_vkDestroyDescriptorUpdateTemplate; +#define vkDestroyDescriptorUpdateTemplate glad_debug_vkDestroyDescriptorUpdateTemplate +GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplateKHR glad_vkDestroyDescriptorUpdateTemplateKHR; +GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplateKHR glad_debug_vkDestroyDescriptorUpdateTemplateKHR; +#define vkDestroyDescriptorUpdateTemplateKHR glad_debug_vkDestroyDescriptorUpdateTemplateKHR +GLAD_API_CALL PFN_vkDestroyDevice glad_vkDestroyDevice; +GLAD_API_CALL PFN_vkDestroyDevice glad_debug_vkDestroyDevice; +#define vkDestroyDevice glad_debug_vkDestroyDevice +GLAD_API_CALL PFN_vkDestroyEvent glad_vkDestroyEvent; +GLAD_API_CALL PFN_vkDestroyEvent glad_debug_vkDestroyEvent; +#define vkDestroyEvent glad_debug_vkDestroyEvent +GLAD_API_CALL PFN_vkDestroyFence glad_vkDestroyFence; +GLAD_API_CALL PFN_vkDestroyFence glad_debug_vkDestroyFence; +#define vkDestroyFence glad_debug_vkDestroyFence +GLAD_API_CALL PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer; +GLAD_API_CALL PFN_vkDestroyFramebuffer glad_debug_vkDestroyFramebuffer; +#define vkDestroyFramebuffer glad_debug_vkDestroyFramebuffer +GLAD_API_CALL PFN_vkDestroyImage glad_vkDestroyImage; +GLAD_API_CALL PFN_vkDestroyImage glad_debug_vkDestroyImage; +#define vkDestroyImage glad_debug_vkDestroyImage +GLAD_API_CALL PFN_vkDestroyImageView glad_vkDestroyImageView; +GLAD_API_CALL PFN_vkDestroyImageView glad_debug_vkDestroyImageView; +#define vkDestroyImageView glad_debug_vkDestroyImageView +GLAD_API_CALL PFN_vkDestroyInstance glad_vkDestroyInstance; +GLAD_API_CALL PFN_vkDestroyInstance glad_debug_vkDestroyInstance; +#define vkDestroyInstance glad_debug_vkDestroyInstance +GLAD_API_CALL PFN_vkDestroyPipeline glad_vkDestroyPipeline; +GLAD_API_CALL PFN_vkDestroyPipeline glad_debug_vkDestroyPipeline; +#define vkDestroyPipeline glad_debug_vkDestroyPipeline +GLAD_API_CALL PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache; +GLAD_API_CALL PFN_vkDestroyPipelineCache glad_debug_vkDestroyPipelineCache; +#define vkDestroyPipelineCache glad_debug_vkDestroyPipelineCache +GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout; +GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_debug_vkDestroyPipelineLayout; +#define vkDestroyPipelineLayout glad_debug_vkDestroyPipelineLayout +GLAD_API_CALL PFN_vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot; +GLAD_API_CALL PFN_vkDestroyPrivateDataSlot glad_debug_vkDestroyPrivateDataSlot; +#define vkDestroyPrivateDataSlot glad_debug_vkDestroyPrivateDataSlot +GLAD_API_CALL PFN_vkDestroyPrivateDataSlotEXT glad_vkDestroyPrivateDataSlotEXT; +GLAD_API_CALL PFN_vkDestroyPrivateDataSlotEXT glad_debug_vkDestroyPrivateDataSlotEXT; +#define vkDestroyPrivateDataSlotEXT glad_debug_vkDestroyPrivateDataSlotEXT +GLAD_API_CALL PFN_vkDestroyQueryPool glad_vkDestroyQueryPool; +GLAD_API_CALL PFN_vkDestroyQueryPool glad_debug_vkDestroyQueryPool; +#define vkDestroyQueryPool glad_debug_vkDestroyQueryPool +GLAD_API_CALL PFN_vkDestroyRenderPass glad_vkDestroyRenderPass; +GLAD_API_CALL PFN_vkDestroyRenderPass glad_debug_vkDestroyRenderPass; +#define vkDestroyRenderPass glad_debug_vkDestroyRenderPass +GLAD_API_CALL PFN_vkDestroySampler glad_vkDestroySampler; +GLAD_API_CALL PFN_vkDestroySampler glad_debug_vkDestroySampler; +#define vkDestroySampler glad_debug_vkDestroySampler +GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion; +GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_debug_vkDestroySamplerYcbcrConversion; +#define vkDestroySamplerYcbcrConversion glad_debug_vkDestroySamplerYcbcrConversion +GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversionKHR glad_vkDestroySamplerYcbcrConversionKHR; +GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversionKHR glad_debug_vkDestroySamplerYcbcrConversionKHR; +#define vkDestroySamplerYcbcrConversionKHR glad_debug_vkDestroySamplerYcbcrConversionKHR +GLAD_API_CALL PFN_vkDestroySemaphore glad_vkDestroySemaphore; +GLAD_API_CALL PFN_vkDestroySemaphore glad_debug_vkDestroySemaphore; +#define vkDestroySemaphore glad_debug_vkDestroySemaphore +GLAD_API_CALL PFN_vkDestroyShaderEXT glad_vkDestroyShaderEXT; +GLAD_API_CALL PFN_vkDestroyShaderEXT glad_debug_vkDestroyShaderEXT; +#define vkDestroyShaderEXT glad_debug_vkDestroyShaderEXT +GLAD_API_CALL PFN_vkDestroyShaderModule glad_vkDestroyShaderModule; +GLAD_API_CALL PFN_vkDestroyShaderModule glad_debug_vkDestroyShaderModule; +#define vkDestroyShaderModule glad_debug_vkDestroyShaderModule +GLAD_API_CALL PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle; +GLAD_API_CALL PFN_vkDeviceWaitIdle glad_debug_vkDeviceWaitIdle; +#define vkDeviceWaitIdle glad_debug_vkDeviceWaitIdle +GLAD_API_CALL PFN_vkEndCommandBuffer glad_vkEndCommandBuffer; +GLAD_API_CALL PFN_vkEndCommandBuffer glad_debug_vkEndCommandBuffer; +#define vkEndCommandBuffer glad_debug_vkEndCommandBuffer +GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties; +GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_debug_vkEnumerateDeviceExtensionProperties; +#define vkEnumerateDeviceExtensionProperties glad_debug_vkEnumerateDeviceExtensionProperties +GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties; +GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_debug_vkEnumerateDeviceLayerProperties; +#define vkEnumerateDeviceLayerProperties glad_debug_vkEnumerateDeviceLayerProperties +GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties; +GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_debug_vkEnumerateInstanceExtensionProperties; +#define vkEnumerateInstanceExtensionProperties glad_debug_vkEnumerateInstanceExtensionProperties +GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties; +GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_debug_vkEnumerateInstanceLayerProperties; +#define vkEnumerateInstanceLayerProperties glad_debug_vkEnumerateInstanceLayerProperties +GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion; +GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_debug_vkEnumerateInstanceVersion; +#define vkEnumerateInstanceVersion glad_debug_vkEnumerateInstanceVersion +GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups; +GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_debug_vkEnumeratePhysicalDeviceGroups; +#define vkEnumeratePhysicalDeviceGroups glad_debug_vkEnumeratePhysicalDeviceGroups +GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroupsKHR glad_vkEnumeratePhysicalDeviceGroupsKHR; +GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroupsKHR glad_debug_vkEnumeratePhysicalDeviceGroupsKHR; +#define vkEnumeratePhysicalDeviceGroupsKHR glad_debug_vkEnumeratePhysicalDeviceGroupsKHR +GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices; +GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_debug_vkEnumeratePhysicalDevices; +#define vkEnumeratePhysicalDevices glad_debug_vkEnumeratePhysicalDevices +GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges; +GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_debug_vkFlushMappedMemoryRanges; +#define vkFlushMappedMemoryRanges glad_debug_vkFlushMappedMemoryRanges +GLAD_API_CALL PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers; +GLAD_API_CALL PFN_vkFreeCommandBuffers glad_debug_vkFreeCommandBuffers; +#define vkFreeCommandBuffers glad_debug_vkFreeCommandBuffers +GLAD_API_CALL PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets; +GLAD_API_CALL PFN_vkFreeDescriptorSets glad_debug_vkFreeDescriptorSets; +#define vkFreeDescriptorSets glad_debug_vkFreeDescriptorSets +GLAD_API_CALL PFN_vkFreeMemory glad_vkFreeMemory; +GLAD_API_CALL PFN_vkFreeMemory glad_debug_vkFreeMemory; +#define vkFreeMemory glad_debug_vkFreeMemory +GLAD_API_CALL PFN_vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress; +GLAD_API_CALL PFN_vkGetBufferDeviceAddress glad_debug_vkGetBufferDeviceAddress; +#define vkGetBufferDeviceAddress glad_debug_vkGetBufferDeviceAddress +GLAD_API_CALL PFN_vkGetBufferDeviceAddressEXT glad_vkGetBufferDeviceAddressEXT; +GLAD_API_CALL PFN_vkGetBufferDeviceAddressEXT glad_debug_vkGetBufferDeviceAddressEXT; +#define vkGetBufferDeviceAddressEXT glad_debug_vkGetBufferDeviceAddressEXT +GLAD_API_CALL PFN_vkGetBufferDeviceAddressKHR glad_vkGetBufferDeviceAddressKHR; +GLAD_API_CALL PFN_vkGetBufferDeviceAddressKHR glad_debug_vkGetBufferDeviceAddressKHR; +#define vkGetBufferDeviceAddressKHR glad_debug_vkGetBufferDeviceAddressKHR +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements; +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_debug_vkGetBufferMemoryRequirements; +#define vkGetBufferMemoryRequirements glad_debug_vkGetBufferMemoryRequirements +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2; +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_debug_vkGetBufferMemoryRequirements2; +#define vkGetBufferMemoryRequirements2 glad_debug_vkGetBufferMemoryRequirements2 +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2KHR glad_vkGetBufferMemoryRequirements2KHR; +GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2KHR glad_debug_vkGetBufferMemoryRequirements2KHR; +#define vkGetBufferMemoryRequirements2KHR glad_debug_vkGetBufferMemoryRequirements2KHR +GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress; +GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddress glad_debug_vkGetBufferOpaqueCaptureAddress; +#define vkGetBufferOpaqueCaptureAddress glad_debug_vkGetBufferOpaqueCaptureAddress +GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddressKHR glad_vkGetBufferOpaqueCaptureAddressKHR; +GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddressKHR glad_debug_vkGetBufferOpaqueCaptureAddressKHR; +#define vkGetBufferOpaqueCaptureAddressKHR glad_debug_vkGetBufferOpaqueCaptureAddressKHR +GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport; +GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_debug_vkGetDescriptorSetLayoutSupport; +#define vkGetDescriptorSetLayoutSupport glad_debug_vkGetDescriptorSetLayoutSupport +GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupportKHR glad_vkGetDescriptorSetLayoutSupportKHR; +GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupportKHR glad_debug_vkGetDescriptorSetLayoutSupportKHR; +#define vkGetDescriptorSetLayoutSupportKHR glad_debug_vkGetDescriptorSetLayoutSupportKHR +GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements; +GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirements glad_debug_vkGetDeviceBufferMemoryRequirements; +#define vkGetDeviceBufferMemoryRequirements glad_debug_vkGetDeviceBufferMemoryRequirements +GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirementsKHR glad_vkGetDeviceBufferMemoryRequirementsKHR; +GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirementsKHR glad_debug_vkGetDeviceBufferMemoryRequirementsKHR; +#define vkGetDeviceBufferMemoryRequirementsKHR glad_debug_vkGetDeviceBufferMemoryRequirementsKHR +GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures; +GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_debug_vkGetDeviceGroupPeerMemoryFeatures; +#define vkGetDeviceGroupPeerMemoryFeatures glad_debug_vkGetDeviceGroupPeerMemoryFeatures +GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR glad_vkGetDeviceGroupPeerMemoryFeaturesKHR; +GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR glad_debug_vkGetDeviceGroupPeerMemoryFeaturesKHR; +#define vkGetDeviceGroupPeerMemoryFeaturesKHR glad_debug_vkGetDeviceGroupPeerMemoryFeaturesKHR +GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR; +GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_debug_vkGetDeviceGroupPresentCapabilitiesKHR; +#define vkGetDeviceGroupPresentCapabilitiesKHR glad_debug_vkGetDeviceGroupPresentCapabilitiesKHR +GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR; +GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_debug_vkGetDeviceGroupSurfacePresentModesKHR; +#define vkGetDeviceGroupSurfacePresentModesKHR glad_debug_vkGetDeviceGroupSurfacePresentModesKHR +GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements; +GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirements glad_debug_vkGetDeviceImageMemoryRequirements; +#define vkGetDeviceImageMemoryRequirements glad_debug_vkGetDeviceImageMemoryRequirements +GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirementsKHR glad_vkGetDeviceImageMemoryRequirementsKHR; +GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirementsKHR glad_debug_vkGetDeviceImageMemoryRequirementsKHR; +#define vkGetDeviceImageMemoryRequirementsKHR glad_debug_vkGetDeviceImageMemoryRequirementsKHR +GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements; +GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirements glad_debug_vkGetDeviceImageSparseMemoryRequirements; +#define vkGetDeviceImageSparseMemoryRequirements glad_debug_vkGetDeviceImageSparseMemoryRequirements +GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirementsKHR glad_vkGetDeviceImageSparseMemoryRequirementsKHR; +GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirementsKHR glad_debug_vkGetDeviceImageSparseMemoryRequirementsKHR; +#define vkGetDeviceImageSparseMemoryRequirementsKHR glad_debug_vkGetDeviceImageSparseMemoryRequirementsKHR +GLAD_API_CALL PFN_vkGetDeviceImageSubresourceLayout glad_vkGetDeviceImageSubresourceLayout; +GLAD_API_CALL PFN_vkGetDeviceImageSubresourceLayout glad_debug_vkGetDeviceImageSubresourceLayout; +#define vkGetDeviceImageSubresourceLayout glad_debug_vkGetDeviceImageSubresourceLayout +GLAD_API_CALL PFN_vkGetDeviceImageSubresourceLayoutKHR glad_vkGetDeviceImageSubresourceLayoutKHR; +GLAD_API_CALL PFN_vkGetDeviceImageSubresourceLayoutKHR glad_debug_vkGetDeviceImageSubresourceLayoutKHR; +#define vkGetDeviceImageSubresourceLayoutKHR glad_debug_vkGetDeviceImageSubresourceLayoutKHR +GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment; +GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_debug_vkGetDeviceMemoryCommitment; +#define vkGetDeviceMemoryCommitment glad_debug_vkGetDeviceMemoryCommitment +GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress; +GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_debug_vkGetDeviceMemoryOpaqueCaptureAddress; +#define vkGetDeviceMemoryOpaqueCaptureAddress glad_debug_vkGetDeviceMemoryOpaqueCaptureAddress +GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR; +GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR glad_debug_vkGetDeviceMemoryOpaqueCaptureAddressKHR; +#define vkGetDeviceMemoryOpaqueCaptureAddressKHR glad_debug_vkGetDeviceMemoryOpaqueCaptureAddressKHR +GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr; +GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_debug_vkGetDeviceProcAddr; +#define vkGetDeviceProcAddr glad_debug_vkGetDeviceProcAddr +GLAD_API_CALL PFN_vkGetDeviceQueue glad_vkGetDeviceQueue; +GLAD_API_CALL PFN_vkGetDeviceQueue glad_debug_vkGetDeviceQueue; +#define vkGetDeviceQueue glad_debug_vkGetDeviceQueue +GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2; +GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_debug_vkGetDeviceQueue2; +#define vkGetDeviceQueue2 glad_debug_vkGetDeviceQueue2 +GLAD_API_CALL PFN_vkGetEventStatus glad_vkGetEventStatus; +GLAD_API_CALL PFN_vkGetEventStatus glad_debug_vkGetEventStatus; +#define vkGetEventStatus glad_debug_vkGetEventStatus +GLAD_API_CALL PFN_vkGetFenceStatus glad_vkGetFenceStatus; +GLAD_API_CALL PFN_vkGetFenceStatus glad_debug_vkGetFenceStatus; +#define vkGetFenceStatus glad_debug_vkGetFenceStatus +GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements; +GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_debug_vkGetImageMemoryRequirements; +#define vkGetImageMemoryRequirements glad_debug_vkGetImageMemoryRequirements +GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2; +GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_debug_vkGetImageMemoryRequirements2; +#define vkGetImageMemoryRequirements2 glad_debug_vkGetImageMemoryRequirements2 +GLAD_API_CALL PFN_vkGetImageMemoryRequirements2KHR glad_vkGetImageMemoryRequirements2KHR; +GLAD_API_CALL PFN_vkGetImageMemoryRequirements2KHR glad_debug_vkGetImageMemoryRequirements2KHR; +#define vkGetImageMemoryRequirements2KHR glad_debug_vkGetImageMemoryRequirements2KHR +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements; +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_debug_vkGetImageSparseMemoryRequirements; +#define vkGetImageSparseMemoryRequirements glad_debug_vkGetImageSparseMemoryRequirements +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2; +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_debug_vkGetImageSparseMemoryRequirements2; +#define vkGetImageSparseMemoryRequirements2 glad_debug_vkGetImageSparseMemoryRequirements2 +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2KHR glad_vkGetImageSparseMemoryRequirements2KHR; +GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2KHR glad_debug_vkGetImageSparseMemoryRequirements2KHR; +#define vkGetImageSparseMemoryRequirements2KHR glad_debug_vkGetImageSparseMemoryRequirements2KHR +GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout; +GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_debug_vkGetImageSubresourceLayout; +#define vkGetImageSubresourceLayout glad_debug_vkGetImageSubresourceLayout +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2 glad_vkGetImageSubresourceLayout2; +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2 glad_debug_vkGetImageSubresourceLayout2; +#define vkGetImageSubresourceLayout2 glad_debug_vkGetImageSubresourceLayout2 +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2EXT glad_vkGetImageSubresourceLayout2EXT; +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2EXT glad_debug_vkGetImageSubresourceLayout2EXT; +#define vkGetImageSubresourceLayout2EXT glad_debug_vkGetImageSubresourceLayout2EXT +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2KHR glad_vkGetImageSubresourceLayout2KHR; +GLAD_API_CALL PFN_vkGetImageSubresourceLayout2KHR glad_debug_vkGetImageSubresourceLayout2KHR; +#define vkGetImageSubresourceLayout2KHR glad_debug_vkGetImageSubresourceLayout2KHR +GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr; +GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_debug_vkGetInstanceProcAddr; +#define vkGetInstanceProcAddr glad_debug_vkGetInstanceProcAddr +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_debug_vkGetPhysicalDeviceExternalBufferProperties; +#define vkGetPhysicalDeviceExternalBufferProperties glad_debug_vkGetPhysicalDeviceExternalBufferProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR glad_debug_vkGetPhysicalDeviceExternalBufferPropertiesKHR; +#define vkGetPhysicalDeviceExternalBufferPropertiesKHR glad_debug_vkGetPhysicalDeviceExternalBufferPropertiesKHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_debug_vkGetPhysicalDeviceExternalFenceProperties; +#define vkGetPhysicalDeviceExternalFenceProperties glad_debug_vkGetPhysicalDeviceExternalFenceProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR glad_vkGetPhysicalDeviceExternalFencePropertiesKHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalFencePropertiesKHR; +#define vkGetPhysicalDeviceExternalFencePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalFencePropertiesKHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_debug_vkGetPhysicalDeviceExternalSemaphoreProperties; +#define vkGetPhysicalDeviceExternalSemaphoreProperties glad_debug_vkGetPhysicalDeviceExternalSemaphoreProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +#define vkGetPhysicalDeviceExternalSemaphorePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_debug_vkGetPhysicalDeviceFeatures; +#define vkGetPhysicalDeviceFeatures glad_debug_vkGetPhysicalDeviceFeatures +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_debug_vkGetPhysicalDeviceFeatures2; +#define vkGetPhysicalDeviceFeatures2 glad_debug_vkGetPhysicalDeviceFeatures2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2KHR glad_vkGetPhysicalDeviceFeatures2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2KHR glad_debug_vkGetPhysicalDeviceFeatures2KHR; +#define vkGetPhysicalDeviceFeatures2KHR glad_debug_vkGetPhysicalDeviceFeatures2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_debug_vkGetPhysicalDeviceFormatProperties; +#define vkGetPhysicalDeviceFormatProperties glad_debug_vkGetPhysicalDeviceFormatProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_debug_vkGetPhysicalDeviceFormatProperties2; +#define vkGetPhysicalDeviceFormatProperties2 glad_debug_vkGetPhysicalDeviceFormatProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2KHR glad_vkGetPhysicalDeviceFormatProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2KHR glad_debug_vkGetPhysicalDeviceFormatProperties2KHR; +#define vkGetPhysicalDeviceFormatProperties2KHR glad_debug_vkGetPhysicalDeviceFormatProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_debug_vkGetPhysicalDeviceImageFormatProperties; +#define vkGetPhysicalDeviceImageFormatProperties glad_debug_vkGetPhysicalDeviceImageFormatProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_debug_vkGetPhysicalDeviceImageFormatProperties2; +#define vkGetPhysicalDeviceImageFormatProperties2 glad_debug_vkGetPhysicalDeviceImageFormatProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2KHR glad_vkGetPhysicalDeviceImageFormatProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceImageFormatProperties2KHR; +#define vkGetPhysicalDeviceImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceImageFormatProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_debug_vkGetPhysicalDeviceMemoryProperties; +#define vkGetPhysicalDeviceMemoryProperties glad_debug_vkGetPhysicalDeviceMemoryProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_debug_vkGetPhysicalDeviceMemoryProperties2; +#define vkGetPhysicalDeviceMemoryProperties2 glad_debug_vkGetPhysicalDeviceMemoryProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2KHR glad_vkGetPhysicalDeviceMemoryProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2KHR glad_debug_vkGetPhysicalDeviceMemoryProperties2KHR; +#define vkGetPhysicalDeviceMemoryProperties2KHR glad_debug_vkGetPhysicalDeviceMemoryProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR; +GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_debug_vkGetPhysicalDevicePresentRectanglesKHR; +#define vkGetPhysicalDevicePresentRectanglesKHR glad_debug_vkGetPhysicalDevicePresentRectanglesKHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_debug_vkGetPhysicalDeviceProperties; +#define vkGetPhysicalDeviceProperties glad_debug_vkGetPhysicalDeviceProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_debug_vkGetPhysicalDeviceProperties2; +#define vkGetPhysicalDeviceProperties2 glad_debug_vkGetPhysicalDeviceProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2KHR glad_vkGetPhysicalDeviceProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2KHR glad_debug_vkGetPhysicalDeviceProperties2KHR; +#define vkGetPhysicalDeviceProperties2KHR glad_debug_vkGetPhysicalDeviceProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_debug_vkGetPhysicalDeviceQueueFamilyProperties; +#define vkGetPhysicalDeviceQueueFamilyProperties glad_debug_vkGetPhysicalDeviceQueueFamilyProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2; +#define vkGetPhysicalDeviceQueueFamilyProperties2 glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2KHR; +#define vkGetPhysicalDeviceQueueFamilyProperties2KHR glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties; +#define vkGetPhysicalDeviceSparseImageFormatProperties glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2; +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2; +#define vkGetPhysicalDeviceSparseImageFormatProperties2 glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2 +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +#define vkGetPhysicalDeviceSparseImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2KHR +GLAD_API_CALL PFN_vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties; +GLAD_API_CALL PFN_vkGetPhysicalDeviceToolProperties glad_debug_vkGetPhysicalDeviceToolProperties; +#define vkGetPhysicalDeviceToolProperties glad_debug_vkGetPhysicalDeviceToolProperties +GLAD_API_CALL PFN_vkGetPhysicalDeviceToolPropertiesEXT glad_vkGetPhysicalDeviceToolPropertiesEXT; +GLAD_API_CALL PFN_vkGetPhysicalDeviceToolPropertiesEXT glad_debug_vkGetPhysicalDeviceToolPropertiesEXT; +#define vkGetPhysicalDeviceToolPropertiesEXT glad_debug_vkGetPhysicalDeviceToolPropertiesEXT +GLAD_API_CALL PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData; +GLAD_API_CALL PFN_vkGetPipelineCacheData glad_debug_vkGetPipelineCacheData; +#define vkGetPipelineCacheData glad_debug_vkGetPipelineCacheData +GLAD_API_CALL PFN_vkGetPrivateData glad_vkGetPrivateData; +GLAD_API_CALL PFN_vkGetPrivateData glad_debug_vkGetPrivateData; +#define vkGetPrivateData glad_debug_vkGetPrivateData +GLAD_API_CALL PFN_vkGetPrivateDataEXT glad_vkGetPrivateDataEXT; +GLAD_API_CALL PFN_vkGetPrivateDataEXT glad_debug_vkGetPrivateDataEXT; +#define vkGetPrivateDataEXT glad_debug_vkGetPrivateDataEXT +GLAD_API_CALL PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults; +GLAD_API_CALL PFN_vkGetQueryPoolResults glad_debug_vkGetQueryPoolResults; +#define vkGetQueryPoolResults glad_debug_vkGetQueryPoolResults +GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity; +GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_debug_vkGetRenderAreaGranularity; +#define vkGetRenderAreaGranularity glad_debug_vkGetRenderAreaGranularity +GLAD_API_CALL PFN_vkGetRenderingAreaGranularity glad_vkGetRenderingAreaGranularity; +GLAD_API_CALL PFN_vkGetRenderingAreaGranularity glad_debug_vkGetRenderingAreaGranularity; +#define vkGetRenderingAreaGranularity glad_debug_vkGetRenderingAreaGranularity +GLAD_API_CALL PFN_vkGetRenderingAreaGranularityKHR glad_vkGetRenderingAreaGranularityKHR; +GLAD_API_CALL PFN_vkGetRenderingAreaGranularityKHR glad_debug_vkGetRenderingAreaGranularityKHR; +#define vkGetRenderingAreaGranularityKHR glad_debug_vkGetRenderingAreaGranularityKHR +GLAD_API_CALL PFN_vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue; +GLAD_API_CALL PFN_vkGetSemaphoreCounterValue glad_debug_vkGetSemaphoreCounterValue; +#define vkGetSemaphoreCounterValue glad_debug_vkGetSemaphoreCounterValue +GLAD_API_CALL PFN_vkGetSemaphoreCounterValueKHR glad_vkGetSemaphoreCounterValueKHR; +GLAD_API_CALL PFN_vkGetSemaphoreCounterValueKHR glad_debug_vkGetSemaphoreCounterValueKHR; +#define vkGetSemaphoreCounterValueKHR glad_debug_vkGetSemaphoreCounterValueKHR +GLAD_API_CALL PFN_vkGetShaderBinaryDataEXT glad_vkGetShaderBinaryDataEXT; +GLAD_API_CALL PFN_vkGetShaderBinaryDataEXT glad_debug_vkGetShaderBinaryDataEXT; +#define vkGetShaderBinaryDataEXT glad_debug_vkGetShaderBinaryDataEXT +GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges; +GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_debug_vkInvalidateMappedMemoryRanges; +#define vkInvalidateMappedMemoryRanges glad_debug_vkInvalidateMappedMemoryRanges +GLAD_API_CALL PFN_vkMapMemory glad_vkMapMemory; +GLAD_API_CALL PFN_vkMapMemory glad_debug_vkMapMemory; +#define vkMapMemory glad_debug_vkMapMemory +GLAD_API_CALL PFN_vkMapMemory2 glad_vkMapMemory2; +GLAD_API_CALL PFN_vkMapMemory2 glad_debug_vkMapMemory2; +#define vkMapMemory2 glad_debug_vkMapMemory2 +GLAD_API_CALL PFN_vkMapMemory2KHR glad_vkMapMemory2KHR; +GLAD_API_CALL PFN_vkMapMemory2KHR glad_debug_vkMapMemory2KHR; +#define vkMapMemory2KHR glad_debug_vkMapMemory2KHR +GLAD_API_CALL PFN_vkMergePipelineCaches glad_vkMergePipelineCaches; +GLAD_API_CALL PFN_vkMergePipelineCaches glad_debug_vkMergePipelineCaches; +#define vkMergePipelineCaches glad_debug_vkMergePipelineCaches +GLAD_API_CALL PFN_vkQueueBindSparse glad_vkQueueBindSparse; +GLAD_API_CALL PFN_vkQueueBindSparse glad_debug_vkQueueBindSparse; +#define vkQueueBindSparse glad_debug_vkQueueBindSparse +GLAD_API_CALL PFN_vkQueueSubmit glad_vkQueueSubmit; +GLAD_API_CALL PFN_vkQueueSubmit glad_debug_vkQueueSubmit; +#define vkQueueSubmit glad_debug_vkQueueSubmit +GLAD_API_CALL PFN_vkQueueSubmit2 glad_vkQueueSubmit2; +GLAD_API_CALL PFN_vkQueueSubmit2 glad_debug_vkQueueSubmit2; +#define vkQueueSubmit2 glad_debug_vkQueueSubmit2 +GLAD_API_CALL PFN_vkQueueSubmit2KHR glad_vkQueueSubmit2KHR; +GLAD_API_CALL PFN_vkQueueSubmit2KHR glad_debug_vkQueueSubmit2KHR; +#define vkQueueSubmit2KHR glad_debug_vkQueueSubmit2KHR +GLAD_API_CALL PFN_vkQueueWaitIdle glad_vkQueueWaitIdle; +GLAD_API_CALL PFN_vkQueueWaitIdle glad_debug_vkQueueWaitIdle; +#define vkQueueWaitIdle glad_debug_vkQueueWaitIdle +GLAD_API_CALL PFN_vkResetCommandBuffer glad_vkResetCommandBuffer; +GLAD_API_CALL PFN_vkResetCommandBuffer glad_debug_vkResetCommandBuffer; +#define vkResetCommandBuffer glad_debug_vkResetCommandBuffer +GLAD_API_CALL PFN_vkResetCommandPool glad_vkResetCommandPool; +GLAD_API_CALL PFN_vkResetCommandPool glad_debug_vkResetCommandPool; +#define vkResetCommandPool glad_debug_vkResetCommandPool +GLAD_API_CALL PFN_vkResetDescriptorPool glad_vkResetDescriptorPool; +GLAD_API_CALL PFN_vkResetDescriptorPool glad_debug_vkResetDescriptorPool; +#define vkResetDescriptorPool glad_debug_vkResetDescriptorPool +GLAD_API_CALL PFN_vkResetEvent glad_vkResetEvent; +GLAD_API_CALL PFN_vkResetEvent glad_debug_vkResetEvent; +#define vkResetEvent glad_debug_vkResetEvent +GLAD_API_CALL PFN_vkResetFences glad_vkResetFences; +GLAD_API_CALL PFN_vkResetFences glad_debug_vkResetFences; +#define vkResetFences glad_debug_vkResetFences +GLAD_API_CALL PFN_vkResetQueryPool glad_vkResetQueryPool; +GLAD_API_CALL PFN_vkResetQueryPool glad_debug_vkResetQueryPool; +#define vkResetQueryPool glad_debug_vkResetQueryPool +GLAD_API_CALL PFN_vkResetQueryPoolEXT glad_vkResetQueryPoolEXT; +GLAD_API_CALL PFN_vkResetQueryPoolEXT glad_debug_vkResetQueryPoolEXT; +#define vkResetQueryPoolEXT glad_debug_vkResetQueryPoolEXT +GLAD_API_CALL PFN_vkSetEvent glad_vkSetEvent; +GLAD_API_CALL PFN_vkSetEvent glad_debug_vkSetEvent; +#define vkSetEvent glad_debug_vkSetEvent +GLAD_API_CALL PFN_vkSetPrivateData glad_vkSetPrivateData; +GLAD_API_CALL PFN_vkSetPrivateData glad_debug_vkSetPrivateData; +#define vkSetPrivateData glad_debug_vkSetPrivateData +GLAD_API_CALL PFN_vkSetPrivateDataEXT glad_vkSetPrivateDataEXT; +GLAD_API_CALL PFN_vkSetPrivateDataEXT glad_debug_vkSetPrivateDataEXT; +#define vkSetPrivateDataEXT glad_debug_vkSetPrivateDataEXT +GLAD_API_CALL PFN_vkSignalSemaphore glad_vkSignalSemaphore; +GLAD_API_CALL PFN_vkSignalSemaphore glad_debug_vkSignalSemaphore; +#define vkSignalSemaphore glad_debug_vkSignalSemaphore +GLAD_API_CALL PFN_vkSignalSemaphoreKHR glad_vkSignalSemaphoreKHR; +GLAD_API_CALL PFN_vkSignalSemaphoreKHR glad_debug_vkSignalSemaphoreKHR; +#define vkSignalSemaphoreKHR glad_debug_vkSignalSemaphoreKHR +GLAD_API_CALL PFN_vkTransitionImageLayout glad_vkTransitionImageLayout; +GLAD_API_CALL PFN_vkTransitionImageLayout glad_debug_vkTransitionImageLayout; +#define vkTransitionImageLayout glad_debug_vkTransitionImageLayout +GLAD_API_CALL PFN_vkTransitionImageLayoutEXT glad_vkTransitionImageLayoutEXT; +GLAD_API_CALL PFN_vkTransitionImageLayoutEXT glad_debug_vkTransitionImageLayoutEXT; +#define vkTransitionImageLayoutEXT glad_debug_vkTransitionImageLayoutEXT +GLAD_API_CALL PFN_vkTrimCommandPool glad_vkTrimCommandPool; +GLAD_API_CALL PFN_vkTrimCommandPool glad_debug_vkTrimCommandPool; +#define vkTrimCommandPool glad_debug_vkTrimCommandPool +GLAD_API_CALL PFN_vkTrimCommandPoolKHR glad_vkTrimCommandPoolKHR; +GLAD_API_CALL PFN_vkTrimCommandPoolKHR glad_debug_vkTrimCommandPoolKHR; +#define vkTrimCommandPoolKHR glad_debug_vkTrimCommandPoolKHR +GLAD_API_CALL PFN_vkUnmapMemory glad_vkUnmapMemory; +GLAD_API_CALL PFN_vkUnmapMemory glad_debug_vkUnmapMemory; +#define vkUnmapMemory glad_debug_vkUnmapMemory +GLAD_API_CALL PFN_vkUnmapMemory2 glad_vkUnmapMemory2; +GLAD_API_CALL PFN_vkUnmapMemory2 glad_debug_vkUnmapMemory2; +#define vkUnmapMemory2 glad_debug_vkUnmapMemory2 +GLAD_API_CALL PFN_vkUnmapMemory2KHR glad_vkUnmapMemory2KHR; +GLAD_API_CALL PFN_vkUnmapMemory2KHR glad_debug_vkUnmapMemory2KHR; +#define vkUnmapMemory2KHR glad_debug_vkUnmapMemory2KHR +GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate; +GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_debug_vkUpdateDescriptorSetWithTemplate; +#define vkUpdateDescriptorSetWithTemplate glad_debug_vkUpdateDescriptorSetWithTemplate +GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplateKHR glad_vkUpdateDescriptorSetWithTemplateKHR; +GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplateKHR glad_debug_vkUpdateDescriptorSetWithTemplateKHR; +#define vkUpdateDescriptorSetWithTemplateKHR glad_debug_vkUpdateDescriptorSetWithTemplateKHR +GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets; +GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_debug_vkUpdateDescriptorSets; +#define vkUpdateDescriptorSets glad_debug_vkUpdateDescriptorSets +GLAD_API_CALL PFN_vkWaitForFences glad_vkWaitForFences; +GLAD_API_CALL PFN_vkWaitForFences glad_debug_vkWaitForFences; +#define vkWaitForFences glad_debug_vkWaitForFences +GLAD_API_CALL PFN_vkWaitSemaphores glad_vkWaitSemaphores; +GLAD_API_CALL PFN_vkWaitSemaphores glad_debug_vkWaitSemaphores; +#define vkWaitSemaphores glad_debug_vkWaitSemaphores +GLAD_API_CALL PFN_vkWaitSemaphoresKHR glad_vkWaitSemaphoresKHR; +GLAD_API_CALL PFN_vkWaitSemaphoresKHR glad_debug_vkWaitSemaphoresKHR; +#define vkWaitSemaphoresKHR glad_debug_vkWaitSemaphoresKHR + + + + +GLAD_API_CALL void gladSetVulkanPreCallback(GLADprecallback cb); +GLAD_API_CALL void gladSetVulkanPostCallback(GLADpostcallback cb); + +GLAD_API_CALL void gladInstallVulkanDebug(void); +GLAD_API_CALL void gladUninstallVulkanDebug(void); + +GLAD_API_CALL int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr); +GLAD_API_CALL int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load); + + +#ifdef GLAD_VULKAN + +GLAD_API_CALL int gladLoaderLoadVulkan( VkInstance instance, VkPhysicalDevice physical_device, VkDevice device); +GLAD_API_CALL void gladLoaderUnloadVulkan(void); + + + +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/external/glad/include/vk_platform.h b/external/glad/include/vk_platform.h new file mode 100644 index 0000000..f570181 --- /dev/null +++ b/external/glad/include/vk_platform.h @@ -0,0 +1,84 @@ +/* */ +/* File: vk_platform.h */ +/* */ +/* +** Copyright 2014-2025 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + + +#ifndef VK_PLATFORM_H_ +#define VK_PLATFORM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + +/* +*************************************************************************************************** +* Platform-specific directives and type declarations +*************************************************************************************************** +*/ + +/* Platform-specific calling convention macros. + * + * Platforms should define these so that Vulkan clients call Vulkan commands + * with the same calling conventions that the Vulkan implementation expects. + * + * VKAPI_ATTR - Placed before the return type in function declarations. + * Useful for C++11 and GCC/Clang-style function attribute syntax. + * VKAPI_CALL - Placed after the return type in function declarations. + * Useful for MSVC-style calling convention syntax. + * VKAPI_PTR - Placed between the '(' and '*' in function pointer types. + * + * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void); + * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void); + */ +#if defined(_WIN32) + /* On Windows, Vulkan commands use the stdcall convention */ + #define VKAPI_ATTR + #define VKAPI_CALL __stdcall + #define VKAPI_PTR VKAPI_CALL +#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 + #error "Vulkan is not supported for the 'armeabi' NDK ABI" +#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE) + /* On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" */ + /* calling convention, i.e. float parameters are passed in registers. This */ + /* is true even if the rest of the application passes floats on the stack, */ + /* as it does by default when compiling for the armeabi-v7a NDK ABI. */ + #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) + #define VKAPI_CALL + #define VKAPI_PTR VKAPI_ATTR +#else + /* On other platforms, use the default calling convention */ + #define VKAPI_ATTR + #define VKAPI_CALL + #define VKAPI_PTR +#endif + +#if !defined(VK_NO_STDDEF_H) + #include +#endif /* !defined(VK_NO_STDDEF_H) */ + +#if !defined(VK_NO_STDINT_H) + #if defined(_MSC_VER) && (_MSC_VER < 1600) + typedef signed __int8 int8_t; + typedef unsigned __int8 uint8_t; + typedef signed __int16 int16_t; + typedef unsigned __int16 uint16_t; + typedef signed __int32 int32_t; + typedef unsigned __int32 uint32_t; + typedef signed __int64 int64_t; + typedef unsigned __int64 uint64_t; + #else + #include + #endif +#endif /* !defined(VK_NO_STDINT_H) */ + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif diff --git a/external/glad/src/gl.c b/external/glad/src/gl.c new file mode 100644 index 0000000..1f2a286 --- /dev/null +++ b/external/glad/src/gl.c @@ -0,0 +1,17892 @@ +/** + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + */ +#include +#include +#include +#include + +#ifndef GLAD_IMPL_UTIL_C_ +#define GLAD_IMPL_UTIL_C_ + +#ifdef _MSC_VER +#define GLAD_IMPL_UTIL_SSCANF sscanf_s +#else +#define GLAD_IMPL_UTIL_SSCANF sscanf +#endif + +#endif /* GLAD_IMPL_UTIL_C_ */ + +#ifdef __cplusplus +extern "C" { +#endif + + + +int GLAD_GL_VERSION_1_0 = 0; +int GLAD_GL_VERSION_1_1 = 0; +int GLAD_GL_VERSION_1_2 = 0; +int GLAD_GL_VERSION_1_3 = 0; +int GLAD_GL_VERSION_1_4 = 0; +int GLAD_GL_VERSION_1_5 = 0; +int GLAD_GL_VERSION_2_0 = 0; +int GLAD_GL_VERSION_2_1 = 0; +int GLAD_GL_VERSION_3_0 = 0; +int GLAD_GL_VERSION_3_1 = 0; +int GLAD_GL_VERSION_3_2 = 0; +int GLAD_GL_VERSION_3_3 = 0; +int GLAD_GL_VERSION_4_0 = 0; +int GLAD_GL_VERSION_4_1 = 0; +int GLAD_GL_VERSION_4_2 = 0; +int GLAD_GL_VERSION_4_3 = 0; +int GLAD_GL_VERSION_4_4 = 0; +int GLAD_GL_VERSION_4_5 = 0; +int GLAD_GL_VERSION_4_6 = 0; +int GLAD_GL_AMD_draw_buffers_blend = 0; +int GLAD_GL_AMD_multi_draw_indirect = 0; +int GLAD_GL_APPLE_flush_buffer_range = 0; +int GLAD_GL_APPLE_vertex_array_object = 0; +int GLAD_GL_ARB_ES2_compatibility = 0; +int GLAD_GL_ARB_ES3_1_compatibility = 0; +int GLAD_GL_ARB_base_instance = 0; +int GLAD_GL_ARB_bindless_texture = 0; +int GLAD_GL_ARB_blend_func_extended = 0; +int GLAD_GL_ARB_buffer_storage = 0; +int GLAD_GL_ARB_clear_buffer_object = 0; +int GLAD_GL_ARB_clear_texture = 0; +int GLAD_GL_ARB_clip_control = 0; +int GLAD_GL_ARB_color_buffer_float = 0; +int GLAD_GL_ARB_compute_shader = 0; +int GLAD_GL_ARB_copy_buffer = 0; +int GLAD_GL_ARB_copy_image = 0; +int GLAD_GL_ARB_debug_output = 0; +int GLAD_GL_ARB_direct_state_access = 0; +int GLAD_GL_ARB_draw_buffers = 0; +int GLAD_GL_ARB_draw_buffers_blend = 0; +int GLAD_GL_ARB_draw_elements_base_vertex = 0; +int GLAD_GL_ARB_draw_indirect = 0; +int GLAD_GL_ARB_draw_instanced = 0; +int GLAD_GL_ARB_framebuffer_no_attachments = 0; +int GLAD_GL_ARB_framebuffer_object = 0; +int GLAD_GL_ARB_geometry_shader4 = 0; +int GLAD_GL_ARB_get_program_binary = 0; +int GLAD_GL_ARB_get_texture_sub_image = 0; +int GLAD_GL_ARB_gl_spirv = 0; +int GLAD_GL_ARB_gpu_shader_fp64 = 0; +int GLAD_GL_ARB_imaging = 0; +int GLAD_GL_ARB_indirect_parameters = 0; +int GLAD_GL_ARB_instanced_arrays = 0; +int GLAD_GL_ARB_internalformat_query = 0; +int GLAD_GL_ARB_internalformat_query2 = 0; +int GLAD_GL_ARB_invalidate_subdata = 0; +int GLAD_GL_ARB_map_buffer_range = 0; +int GLAD_GL_ARB_multi_bind = 0; +int GLAD_GL_ARB_multi_draw_indirect = 0; +int GLAD_GL_ARB_multisample = 0; +int GLAD_GL_ARB_multitexture = 0; +int GLAD_GL_ARB_occlusion_query = 0; +int GLAD_GL_ARB_point_parameters = 0; +int GLAD_GL_ARB_polygon_offset_clamp = 0; +int GLAD_GL_ARB_program_interface_query = 0; +int GLAD_GL_ARB_provoking_vertex = 0; +int GLAD_GL_ARB_robustness = 0; +int GLAD_GL_ARB_sample_shading = 0; +int GLAD_GL_ARB_sampler_objects = 0; +int GLAD_GL_ARB_separate_shader_objects = 0; +int GLAD_GL_ARB_shader_atomic_counters = 0; +int GLAD_GL_ARB_shader_image_load_store = 0; +int GLAD_GL_ARB_shader_objects = 0; +int GLAD_GL_ARB_shader_storage_buffer_object = 0; +int GLAD_GL_ARB_shader_subroutine = 0; +int GLAD_GL_ARB_sync = 0; +int GLAD_GL_ARB_tessellation_shader = 0; +int GLAD_GL_ARB_texture_barrier = 0; +int GLAD_GL_ARB_texture_buffer_object = 0; +int GLAD_GL_ARB_texture_buffer_range = 0; +int GLAD_GL_ARB_texture_compression = 0; +int GLAD_GL_ARB_texture_multisample = 0; +int GLAD_GL_ARB_texture_storage = 0; +int GLAD_GL_ARB_texture_storage_multisample = 0; +int GLAD_GL_ARB_texture_view = 0; +int GLAD_GL_ARB_timer_query = 0; +int GLAD_GL_ARB_transform_feedback2 = 0; +int GLAD_GL_ARB_transform_feedback3 = 0; +int GLAD_GL_ARB_transform_feedback_instanced = 0; +int GLAD_GL_ARB_uniform_buffer_object = 0; +int GLAD_GL_ARB_vertex_array_object = 0; +int GLAD_GL_ARB_vertex_attrib_64bit = 0; +int GLAD_GL_ARB_vertex_attrib_binding = 0; +int GLAD_GL_ARB_vertex_buffer_object = 0; +int GLAD_GL_ARB_vertex_program = 0; +int GLAD_GL_ARB_vertex_shader = 0; +int GLAD_GL_ARB_vertex_type_2_10_10_10_rev = 0; +int GLAD_GL_ARB_viewport_array = 0; +int GLAD_GL_ATI_draw_buffers = 0; +int GLAD_GL_ATI_separate_stencil = 0; +int GLAD_GL_EXT_blend_color = 0; +int GLAD_GL_EXT_blend_equation_separate = 0; +int GLAD_GL_EXT_blend_func_separate = 0; +int GLAD_GL_EXT_blend_minmax = 0; +int GLAD_GL_EXT_copy_texture = 0; +int GLAD_GL_EXT_direct_state_access = 0; +int GLAD_GL_EXT_draw_buffers2 = 0; +int GLAD_GL_EXT_draw_instanced = 0; +int GLAD_GL_EXT_draw_range_elements = 0; +int GLAD_GL_EXT_framebuffer_blit = 0; +int GLAD_GL_EXT_framebuffer_multisample = 0; +int GLAD_GL_EXT_framebuffer_object = 0; +int GLAD_GL_EXT_geometry_shader4 = 0; +int GLAD_GL_EXT_gpu_shader4 = 0; +int GLAD_GL_EXT_multi_draw_arrays = 0; +int GLAD_GL_EXT_point_parameters = 0; +int GLAD_GL_EXT_polygon_offset_clamp = 0; +int GLAD_GL_EXT_provoking_vertex = 0; +int GLAD_GL_EXT_shader_image_load_store = 0; +int GLAD_GL_EXT_subtexture = 0; +int GLAD_GL_EXT_texture3D = 0; +int GLAD_GL_EXT_texture_array = 0; +int GLAD_GL_EXT_texture_buffer_object = 0; +int GLAD_GL_EXT_texture_integer = 0; +int GLAD_GL_EXT_texture_object = 0; +int GLAD_GL_EXT_texture_storage = 0; +int GLAD_GL_EXT_timer_query = 0; +int GLAD_GL_EXT_transform_feedback = 0; +int GLAD_GL_EXT_vertex_array = 0; +int GLAD_GL_EXT_vertex_attrib_64bit = 0; +int GLAD_GL_INGR_blend_func_separate = 0; +int GLAD_GL_KHR_debug = 0; +int GLAD_GL_KHR_robustness = 0; +int GLAD_GL_NVX_conditional_render = 0; +int GLAD_GL_NV_bindless_multi_draw_indirect = 0; +int GLAD_GL_NV_bindless_multi_draw_indirect_count = 0; +int GLAD_GL_NV_bindless_texture = 0; +int GLAD_GL_NV_conditional_render = 0; +int GLAD_GL_NV_explicit_multisample = 0; +int GLAD_GL_NV_geometry_program4 = 0; +int GLAD_GL_NV_point_sprite = 0; +int GLAD_GL_NV_transform_feedback = 0; +int GLAD_GL_NV_transform_feedback2 = 0; +int GLAD_GL_NV_vertex_program = 0; +int GLAD_GL_NV_vertex_program4 = 0; +int GLAD_GL_OES_single_precision = 0; +int GLAD_GL_SGIS_point_parameters = 0; + + +static void _pre_call_gl_callback_default(const char *name, GLADapiproc apiproc, int len_args, ...) { + GLAD_UNUSED(len_args); + + if (apiproc == NULL) { + fprintf(stderr, "GLAD: ERROR %s is NULL!\n", name); + return; + } + if (glad_glGetError == NULL) { + fprintf(stderr, "GLAD: ERROR glGetError is NULL!\n"); + return; + } + + (void) glad_glGetError(); +} +static void _post_call_gl_callback_default(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...) { + GLenum error_code; + + GLAD_UNUSED(ret); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); + + error_code = glad_glGetError(); + + if (error_code != GL_NO_ERROR) { + fprintf(stderr, "GLAD: ERROR %d in %s!\n", error_code, name); + } +} + +static GLADprecallback _pre_call_gl_callback = _pre_call_gl_callback_default; +void gladSetGLPreCallback(GLADprecallback cb) { + _pre_call_gl_callback = cb; +} +static GLADpostcallback _post_call_gl_callback = _post_call_gl_callback_default; +void gladSetGLPostCallback(GLADpostcallback cb) { + _post_call_gl_callback = cb; +} + +PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram = NULL; +static void GLAD_API_PTR glad_debug_impl_glActiveShaderProgram(GLuint pipeline, GLuint program) { + _pre_call_gl_callback("glActiveShaderProgram", (GLADapiproc) glad_glActiveShaderProgram, 2, pipeline, program); + glad_glActiveShaderProgram(pipeline, program); + _post_call_gl_callback(NULL, "glActiveShaderProgram", (GLADapiproc) glad_glActiveShaderProgram, 2, pipeline, program); + +} +PFNGLACTIVESHADERPROGRAMPROC glad_debug_glActiveShaderProgram = glad_debug_impl_glActiveShaderProgram; +PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL; +static void GLAD_API_PTR glad_debug_impl_glActiveTexture(GLenum texture) { + _pre_call_gl_callback("glActiveTexture", (GLADapiproc) glad_glActiveTexture, 1, texture); + glad_glActiveTexture(texture); + _post_call_gl_callback(NULL, "glActiveTexture", (GLADapiproc) glad_glActiveTexture, 1, texture); + +} +PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture = glad_debug_impl_glActiveTexture; +PFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glActiveTextureARB(GLenum texture) { + _pre_call_gl_callback("glActiveTextureARB", (GLADapiproc) glad_glActiveTextureARB, 1, texture); + glad_glActiveTextureARB(texture); + _post_call_gl_callback(NULL, "glActiveTextureARB", (GLADapiproc) glad_glActiveTextureARB, 1, texture); + +} +PFNGLACTIVETEXTUREARBPROC glad_debug_glActiveTextureARB = glad_debug_impl_glActiveTextureARB; +PFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glActiveVaryingNV(GLuint program, const GLchar * name) { + _pre_call_gl_callback("glActiveVaryingNV", (GLADapiproc) glad_glActiveVaryingNV, 2, program, name); + glad_glActiveVaryingNV(program, name); + _post_call_gl_callback(NULL, "glActiveVaryingNV", (GLADapiproc) glad_glActiveVaryingNV, 2, program, name); + +} +PFNGLACTIVEVARYINGNVPROC glad_debug_glActiveVaryingNV = glad_debug_impl_glActiveVaryingNV; +PFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glAreProgramsResidentNV(GLsizei n, const GLuint * programs, GLboolean * residences) { + GLboolean ret; + _pre_call_gl_callback("glAreProgramsResidentNV", (GLADapiproc) glad_glAreProgramsResidentNV, 3, n, programs, residences); + ret = glad_glAreProgramsResidentNV(n, programs, residences); + _post_call_gl_callback((void*) &ret, "glAreProgramsResidentNV", (GLADapiproc) glad_glAreProgramsResidentNV, 3, n, programs, residences); + return ret; +} +PFNGLAREPROGRAMSRESIDENTNVPROC glad_debug_glAreProgramsResidentNV = glad_debug_impl_glAreProgramsResidentNV; +PFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glAreTexturesResidentEXT(GLsizei n, const GLuint * textures, GLboolean * residences) { + GLboolean ret; + _pre_call_gl_callback("glAreTexturesResidentEXT", (GLADapiproc) glad_glAreTexturesResidentEXT, 3, n, textures, residences); + ret = glad_glAreTexturesResidentEXT(n, textures, residences); + _post_call_gl_callback((void*) &ret, "glAreTexturesResidentEXT", (GLADapiproc) glad_glAreTexturesResidentEXT, 3, n, textures, residences); + return ret; +} +PFNGLARETEXTURESRESIDENTEXTPROC glad_debug_glAreTexturesResidentEXT = glad_debug_impl_glAreTexturesResidentEXT; +PFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glArrayElementEXT(GLint i) { + _pre_call_gl_callback("glArrayElementEXT", (GLADapiproc) glad_glArrayElementEXT, 1, i); + glad_glArrayElementEXT(i); + _post_call_gl_callback(NULL, "glArrayElementEXT", (GLADapiproc) glad_glArrayElementEXT, 1, i); + +} +PFNGLARRAYELEMENTEXTPROC glad_debug_glArrayElementEXT = glad_debug_impl_glArrayElementEXT; +PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj) { + _pre_call_gl_callback("glAttachObjectARB", (GLADapiproc) glad_glAttachObjectARB, 2, containerObj, obj); + glad_glAttachObjectARB(containerObj, obj); + _post_call_gl_callback(NULL, "glAttachObjectARB", (GLADapiproc) glad_glAttachObjectARB, 2, containerObj, obj); + +} +PFNGLATTACHOBJECTARBPROC glad_debug_glAttachObjectARB = glad_debug_impl_glAttachObjectARB; +PFNGLATTACHSHADERPROC glad_glAttachShader = NULL; +static void GLAD_API_PTR glad_debug_impl_glAttachShader(GLuint program, GLuint shader) { + _pre_call_gl_callback("glAttachShader", (GLADapiproc) glad_glAttachShader, 2, program, shader); + glad_glAttachShader(program, shader); + _post_call_gl_callback(NULL, "glAttachShader", (GLADapiproc) glad_glAttachShader, 2, program, shader); + +} +PFNGLATTACHSHADERPROC glad_debug_glAttachShader = glad_debug_impl_glAttachShader; +PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginConditionalRender(GLuint id, GLenum mode) { + _pre_call_gl_callback("glBeginConditionalRender", (GLADapiproc) glad_glBeginConditionalRender, 2, id, mode); + glad_glBeginConditionalRender(id, mode); + _post_call_gl_callback(NULL, "glBeginConditionalRender", (GLADapiproc) glad_glBeginConditionalRender, 2, id, mode); + +} +PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender = glad_debug_impl_glBeginConditionalRender; +PFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginConditionalRenderNV(GLuint id, GLenum mode) { + _pre_call_gl_callback("glBeginConditionalRenderNV", (GLADapiproc) glad_glBeginConditionalRenderNV, 2, id, mode); + glad_glBeginConditionalRenderNV(id, mode); + _post_call_gl_callback(NULL, "glBeginConditionalRenderNV", (GLADapiproc) glad_glBeginConditionalRenderNV, 2, id, mode); + +} +PFNGLBEGINCONDITIONALRENDERNVPROC glad_debug_glBeginConditionalRenderNV = glad_debug_impl_glBeginConditionalRenderNV; +PFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginConditionalRenderNVX(GLuint id) { + _pre_call_gl_callback("glBeginConditionalRenderNVX", (GLADapiproc) glad_glBeginConditionalRenderNVX, 1, id); + glad_glBeginConditionalRenderNVX(id); + _post_call_gl_callback(NULL, "glBeginConditionalRenderNVX", (GLADapiproc) glad_glBeginConditionalRenderNVX, 1, id); + +} +PFNGLBEGINCONDITIONALRENDERNVXPROC glad_debug_glBeginConditionalRenderNVX = glad_debug_impl_glBeginConditionalRenderNVX; +PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginQuery(GLenum target, GLuint id) { + _pre_call_gl_callback("glBeginQuery", (GLADapiproc) glad_glBeginQuery, 2, target, id); + glad_glBeginQuery(target, id); + _post_call_gl_callback(NULL, "glBeginQuery", (GLADapiproc) glad_glBeginQuery, 2, target, id); + +} +PFNGLBEGINQUERYPROC glad_debug_glBeginQuery = glad_debug_impl_glBeginQuery; +PFNGLBEGINQUERYARBPROC glad_glBeginQueryARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginQueryARB(GLenum target, GLuint id) { + _pre_call_gl_callback("glBeginQueryARB", (GLADapiproc) glad_glBeginQueryARB, 2, target, id); + glad_glBeginQueryARB(target, id); + _post_call_gl_callback(NULL, "glBeginQueryARB", (GLADapiproc) glad_glBeginQueryARB, 2, target, id); + +} +PFNGLBEGINQUERYARBPROC glad_debug_glBeginQueryARB = glad_debug_impl_glBeginQueryARB; +PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { + _pre_call_gl_callback("glBeginQueryIndexed", (GLADapiproc) glad_glBeginQueryIndexed, 3, target, index, id); + glad_glBeginQueryIndexed(target, index, id); + _post_call_gl_callback(NULL, "glBeginQueryIndexed", (GLADapiproc) glad_glBeginQueryIndexed, 3, target, index, id); + +} +PFNGLBEGINQUERYINDEXEDPROC glad_debug_glBeginQueryIndexed = glad_debug_impl_glBeginQueryIndexed; +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginTransformFeedback(GLenum primitiveMode) { + _pre_call_gl_callback("glBeginTransformFeedback", (GLADapiproc) glad_glBeginTransformFeedback, 1, primitiveMode); + glad_glBeginTransformFeedback(primitiveMode); + _post_call_gl_callback(NULL, "glBeginTransformFeedback", (GLADapiproc) glad_glBeginTransformFeedback, 1, primitiveMode); + +} +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback = glad_debug_impl_glBeginTransformFeedback; +PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginTransformFeedbackEXT(GLenum primitiveMode) { + _pre_call_gl_callback("glBeginTransformFeedbackEXT", (GLADapiproc) glad_glBeginTransformFeedbackEXT, 1, primitiveMode); + glad_glBeginTransformFeedbackEXT(primitiveMode); + _post_call_gl_callback(NULL, "glBeginTransformFeedbackEXT", (GLADapiproc) glad_glBeginTransformFeedbackEXT, 1, primitiveMode); + +} +PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_debug_glBeginTransformFeedbackEXT = glad_debug_impl_glBeginTransformFeedbackEXT; +PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBeginTransformFeedbackNV(GLenum primitiveMode) { + _pre_call_gl_callback("glBeginTransformFeedbackNV", (GLADapiproc) glad_glBeginTransformFeedbackNV, 1, primitiveMode); + glad_glBeginTransformFeedbackNV(primitiveMode); + _post_call_gl_callback(NULL, "glBeginTransformFeedbackNV", (GLADapiproc) glad_glBeginTransformFeedbackNV, 1, primitiveMode); + +} +PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_debug_glBeginTransformFeedbackNV = glad_debug_impl_glBeginTransformFeedbackNV; +PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindAttribLocation(GLuint program, GLuint index, const GLchar * name) { + _pre_call_gl_callback("glBindAttribLocation", (GLADapiproc) glad_glBindAttribLocation, 3, program, index, name); + glad_glBindAttribLocation(program, index, name); + _post_call_gl_callback(NULL, "glBindAttribLocation", (GLADapiproc) glad_glBindAttribLocation, 3, program, index, name); + +} +PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation = glad_debug_impl_glBindAttribLocation; +PFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB * name) { + _pre_call_gl_callback("glBindAttribLocationARB", (GLADapiproc) glad_glBindAttribLocationARB, 3, programObj, index, name); + glad_glBindAttribLocationARB(programObj, index, name); + _post_call_gl_callback(NULL, "glBindAttribLocationARB", (GLADapiproc) glad_glBindAttribLocationARB, 3, programObj, index, name); + +} +PFNGLBINDATTRIBLOCATIONARBPROC glad_debug_glBindAttribLocationARB = glad_debug_impl_glBindAttribLocationARB; +PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBuffer(GLenum target, GLuint buffer) { + _pre_call_gl_callback("glBindBuffer", (GLADapiproc) glad_glBindBuffer, 2, target, buffer); + glad_glBindBuffer(target, buffer); + _post_call_gl_callback(NULL, "glBindBuffer", (GLADapiproc) glad_glBindBuffer, 2, target, buffer); + +} +PFNGLBINDBUFFERPROC glad_debug_glBindBuffer = glad_debug_impl_glBindBuffer; +PFNGLBINDBUFFERARBPROC glad_glBindBufferARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferARB(GLenum target, GLuint buffer) { + _pre_call_gl_callback("glBindBufferARB", (GLADapiproc) glad_glBindBufferARB, 2, target, buffer); + glad_glBindBufferARB(target, buffer); + _post_call_gl_callback(NULL, "glBindBufferARB", (GLADapiproc) glad_glBindBufferARB, 2, target, buffer); + +} +PFNGLBINDBUFFERARBPROC glad_debug_glBindBufferARB = glad_debug_impl_glBindBufferARB; +PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { + _pre_call_gl_callback("glBindBufferBase", (GLADapiproc) glad_glBindBufferBase, 3, target, index, buffer); + glad_glBindBufferBase(target, index, buffer); + _post_call_gl_callback(NULL, "glBindBufferBase", (GLADapiproc) glad_glBindBufferBase, 3, target, index, buffer); + +} +PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase = glad_debug_impl_glBindBufferBase; +PFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer) { + _pre_call_gl_callback("glBindBufferBaseEXT", (GLADapiproc) glad_glBindBufferBaseEXT, 3, target, index, buffer); + glad_glBindBufferBaseEXT(target, index, buffer); + _post_call_gl_callback(NULL, "glBindBufferBaseEXT", (GLADapiproc) glad_glBindBufferBaseEXT, 3, target, index, buffer); + +} +PFNGLBINDBUFFERBASEEXTPROC glad_debug_glBindBufferBaseEXT = glad_debug_impl_glBindBufferBaseEXT; +PFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer) { + _pre_call_gl_callback("glBindBufferBaseNV", (GLADapiproc) glad_glBindBufferBaseNV, 3, target, index, buffer); + glad_glBindBufferBaseNV(target, index, buffer); + _post_call_gl_callback(NULL, "glBindBufferBaseNV", (GLADapiproc) glad_glBindBufferBaseNV, 3, target, index, buffer); + +} +PFNGLBINDBUFFERBASENVPROC glad_debug_glBindBufferBaseNV = glad_debug_impl_glBindBufferBaseNV; +PFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset) { + _pre_call_gl_callback("glBindBufferOffsetEXT", (GLADapiproc) glad_glBindBufferOffsetEXT, 4, target, index, buffer, offset); + glad_glBindBufferOffsetEXT(target, index, buffer, offset); + _post_call_gl_callback(NULL, "glBindBufferOffsetEXT", (GLADapiproc) glad_glBindBufferOffsetEXT, 4, target, index, buffer, offset); + +} +PFNGLBINDBUFFEROFFSETEXTPROC glad_debug_glBindBufferOffsetEXT = glad_debug_impl_glBindBufferOffsetEXT; +PFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset) { + _pre_call_gl_callback("glBindBufferOffsetNV", (GLADapiproc) glad_glBindBufferOffsetNV, 4, target, index, buffer, offset); + glad_glBindBufferOffsetNV(target, index, buffer, offset); + _post_call_gl_callback(NULL, "glBindBufferOffsetNV", (GLADapiproc) glad_glBindBufferOffsetNV, 4, target, index, buffer, offset); + +} +PFNGLBINDBUFFEROFFSETNVPROC glad_debug_glBindBufferOffsetNV = glad_debug_impl_glBindBufferOffsetNV; +PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glBindBufferRange", (GLADapiproc) glad_glBindBufferRange, 5, target, index, buffer, offset, size); + glad_glBindBufferRange(target, index, buffer, offset, size); + _post_call_gl_callback(NULL, "glBindBufferRange", (GLADapiproc) glad_glBindBufferRange, 5, target, index, buffer, offset, size); + +} +PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange = glad_debug_impl_glBindBufferRange; +PFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glBindBufferRangeEXT", (GLADapiproc) glad_glBindBufferRangeEXT, 5, target, index, buffer, offset, size); + glad_glBindBufferRangeEXT(target, index, buffer, offset, size); + _post_call_gl_callback(NULL, "glBindBufferRangeEXT", (GLADapiproc) glad_glBindBufferRangeEXT, 5, target, index, buffer, offset, size); + +} +PFNGLBINDBUFFERRANGEEXTPROC glad_debug_glBindBufferRangeEXT = glad_debug_impl_glBindBufferRangeEXT; +PFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glBindBufferRangeNV", (GLADapiproc) glad_glBindBufferRangeNV, 5, target, index, buffer, offset, size); + glad_glBindBufferRangeNV(target, index, buffer, offset, size); + _post_call_gl_callback(NULL, "glBindBufferRangeNV", (GLADapiproc) glad_glBindBufferRangeNV, 5, target, index, buffer, offset, size); + +} +PFNGLBINDBUFFERRANGENVPROC glad_debug_glBindBufferRangeNV = glad_debug_impl_glBindBufferRangeNV; +PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint * buffers) { + _pre_call_gl_callback("glBindBuffersBase", (GLADapiproc) glad_glBindBuffersBase, 4, target, first, count, buffers); + glad_glBindBuffersBase(target, first, count, buffers); + _post_call_gl_callback(NULL, "glBindBuffersBase", (GLADapiproc) glad_glBindBuffersBase, 4, target, first, count, buffers); + +} +PFNGLBINDBUFFERSBASEPROC glad_debug_glBindBuffersBase = glad_debug_impl_glBindBuffersBase; +PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes) { + _pre_call_gl_callback("glBindBuffersRange", (GLADapiproc) glad_glBindBuffersRange, 6, target, first, count, buffers, offsets, sizes); + glad_glBindBuffersRange(target, first, count, buffers, offsets, sizes); + _post_call_gl_callback(NULL, "glBindBuffersRange", (GLADapiproc) glad_glBindBuffersRange, 6, target, first, count, buffers, offsets, sizes); + +} +PFNGLBINDBUFFERSRANGEPROC glad_debug_glBindBuffersRange = glad_debug_impl_glBindBuffersRange; +PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindFragDataLocation(GLuint program, GLuint color, const GLchar * name) { + _pre_call_gl_callback("glBindFragDataLocation", (GLADapiproc) glad_glBindFragDataLocation, 3, program, color, name); + glad_glBindFragDataLocation(program, color, name); + _post_call_gl_callback(NULL, "glBindFragDataLocation", (GLADapiproc) glad_glBindFragDataLocation, 3, program, color, name); + +} +PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation = glad_debug_impl_glBindFragDataLocation; +PFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar * name) { + _pre_call_gl_callback("glBindFragDataLocationEXT", (GLADapiproc) glad_glBindFragDataLocationEXT, 3, program, color, name); + glad_glBindFragDataLocationEXT(program, color, name); + _post_call_gl_callback(NULL, "glBindFragDataLocationEXT", (GLADapiproc) glad_glBindFragDataLocationEXT, 3, program, color, name); + +} +PFNGLBINDFRAGDATALOCATIONEXTPROC glad_debug_glBindFragDataLocationEXT = glad_debug_impl_glBindFragDataLocationEXT; +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name) { + _pre_call_gl_callback("glBindFragDataLocationIndexed", (GLADapiproc) glad_glBindFragDataLocationIndexed, 4, program, colorNumber, index, name); + glad_glBindFragDataLocationIndexed(program, colorNumber, index, name); + _post_call_gl_callback(NULL, "glBindFragDataLocationIndexed", (GLADapiproc) glad_glBindFragDataLocationIndexed, 4, program, colorNumber, index, name); + +} +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed = glad_debug_impl_glBindFragDataLocationIndexed; +PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindFramebuffer(GLenum target, GLuint framebuffer) { + _pre_call_gl_callback("glBindFramebuffer", (GLADapiproc) glad_glBindFramebuffer, 2, target, framebuffer); + glad_glBindFramebuffer(target, framebuffer); + _post_call_gl_callback(NULL, "glBindFramebuffer", (GLADapiproc) glad_glBindFramebuffer, 2, target, framebuffer); + +} +PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer = glad_debug_impl_glBindFramebuffer; +PFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindFramebufferEXT(GLenum target, GLuint framebuffer) { + _pre_call_gl_callback("glBindFramebufferEXT", (GLADapiproc) glad_glBindFramebufferEXT, 2, target, framebuffer); + glad_glBindFramebufferEXT(target, framebuffer); + _post_call_gl_callback(NULL, "glBindFramebufferEXT", (GLADapiproc) glad_glBindFramebufferEXT, 2, target, framebuffer); + +} +PFNGLBINDFRAMEBUFFEREXTPROC glad_debug_glBindFramebufferEXT = glad_debug_impl_glBindFramebufferEXT; +PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { + _pre_call_gl_callback("glBindImageTexture", (GLADapiproc) glad_glBindImageTexture, 7, unit, texture, level, layered, layer, access, format); + glad_glBindImageTexture(unit, texture, level, layered, layer, access, format); + _post_call_gl_callback(NULL, "glBindImageTexture", (GLADapiproc) glad_glBindImageTexture, 7, unit, texture, level, layered, layer, access, format); + +} +PFNGLBINDIMAGETEXTUREPROC glad_debug_glBindImageTexture = glad_debug_impl_glBindImageTexture; +PFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format) { + _pre_call_gl_callback("glBindImageTextureEXT", (GLADapiproc) glad_glBindImageTextureEXT, 7, index, texture, level, layered, layer, access, format); + glad_glBindImageTextureEXT(index, texture, level, layered, layer, access, format); + _post_call_gl_callback(NULL, "glBindImageTextureEXT", (GLADapiproc) glad_glBindImageTextureEXT, 7, index, texture, level, layered, layer, access, format); + +} +PFNGLBINDIMAGETEXTUREEXTPROC glad_debug_glBindImageTextureEXT = glad_debug_impl_glBindImageTextureEXT; +PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindImageTextures(GLuint first, GLsizei count, const GLuint * textures) { + _pre_call_gl_callback("glBindImageTextures", (GLADapiproc) glad_glBindImageTextures, 3, first, count, textures); + glad_glBindImageTextures(first, count, textures); + _post_call_gl_callback(NULL, "glBindImageTextures", (GLADapiproc) glad_glBindImageTextures, 3, first, count, textures); + +} +PFNGLBINDIMAGETEXTURESPROC glad_debug_glBindImageTextures = glad_debug_impl_glBindImageTextures; +PFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) { + _pre_call_gl_callback("glBindMultiTextureEXT", (GLADapiproc) glad_glBindMultiTextureEXT, 3, texunit, target, texture); + glad_glBindMultiTextureEXT(texunit, target, texture); + _post_call_gl_callback(NULL, "glBindMultiTextureEXT", (GLADapiproc) glad_glBindMultiTextureEXT, 3, texunit, target, texture); + +} +PFNGLBINDMULTITEXTUREEXTPROC glad_debug_glBindMultiTextureEXT = glad_debug_impl_glBindMultiTextureEXT; +PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindProgramARB(GLenum target, GLuint program) { + _pre_call_gl_callback("glBindProgramARB", (GLADapiproc) glad_glBindProgramARB, 2, target, program); + glad_glBindProgramARB(target, program); + _post_call_gl_callback(NULL, "glBindProgramARB", (GLADapiproc) glad_glBindProgramARB, 2, target, program); + +} +PFNGLBINDPROGRAMARBPROC glad_debug_glBindProgramARB = glad_debug_impl_glBindProgramARB; +PFNGLBINDPROGRAMNVPROC glad_glBindProgramNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindProgramNV(GLenum target, GLuint id) { + _pre_call_gl_callback("glBindProgramNV", (GLADapiproc) glad_glBindProgramNV, 2, target, id); + glad_glBindProgramNV(target, id); + _post_call_gl_callback(NULL, "glBindProgramNV", (GLADapiproc) glad_glBindProgramNV, 2, target, id); + +} +PFNGLBINDPROGRAMNVPROC glad_debug_glBindProgramNV = glad_debug_impl_glBindProgramNV; +PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindProgramPipeline(GLuint pipeline) { + _pre_call_gl_callback("glBindProgramPipeline", (GLADapiproc) glad_glBindProgramPipeline, 1, pipeline); + glad_glBindProgramPipeline(pipeline); + _post_call_gl_callback(NULL, "glBindProgramPipeline", (GLADapiproc) glad_glBindProgramPipeline, 1, pipeline); + +} +PFNGLBINDPROGRAMPIPELINEPROC glad_debug_glBindProgramPipeline = glad_debug_impl_glBindProgramPipeline; +PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindRenderbuffer(GLenum target, GLuint renderbuffer) { + _pre_call_gl_callback("glBindRenderbuffer", (GLADapiproc) glad_glBindRenderbuffer, 2, target, renderbuffer); + glad_glBindRenderbuffer(target, renderbuffer); + _post_call_gl_callback(NULL, "glBindRenderbuffer", (GLADapiproc) glad_glBindRenderbuffer, 2, target, renderbuffer); + +} +PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer = glad_debug_impl_glBindRenderbuffer; +PFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) { + _pre_call_gl_callback("glBindRenderbufferEXT", (GLADapiproc) glad_glBindRenderbufferEXT, 2, target, renderbuffer); + glad_glBindRenderbufferEXT(target, renderbuffer); + _post_call_gl_callback(NULL, "glBindRenderbufferEXT", (GLADapiproc) glad_glBindRenderbufferEXT, 2, target, renderbuffer); + +} +PFNGLBINDRENDERBUFFEREXTPROC glad_debug_glBindRenderbufferEXT = glad_debug_impl_glBindRenderbufferEXT; +PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindSampler(GLuint unit, GLuint sampler) { + _pre_call_gl_callback("glBindSampler", (GLADapiproc) glad_glBindSampler, 2, unit, sampler); + glad_glBindSampler(unit, sampler); + _post_call_gl_callback(NULL, "glBindSampler", (GLADapiproc) glad_glBindSampler, 2, unit, sampler); + +} +PFNGLBINDSAMPLERPROC glad_debug_glBindSampler = glad_debug_impl_glBindSampler; +PFNGLBINDSAMPLERSPROC glad_glBindSamplers = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindSamplers(GLuint first, GLsizei count, const GLuint * samplers) { + _pre_call_gl_callback("glBindSamplers", (GLADapiproc) glad_glBindSamplers, 3, first, count, samplers); + glad_glBindSamplers(first, count, samplers); + _post_call_gl_callback(NULL, "glBindSamplers", (GLADapiproc) glad_glBindSamplers, 3, first, count, samplers); + +} +PFNGLBINDSAMPLERSPROC glad_debug_glBindSamplers = glad_debug_impl_glBindSamplers; +PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTexture(GLenum target, GLuint texture) { + _pre_call_gl_callback("glBindTexture", (GLADapiproc) glad_glBindTexture, 2, target, texture); + glad_glBindTexture(target, texture); + _post_call_gl_callback(NULL, "glBindTexture", (GLADapiproc) glad_glBindTexture, 2, target, texture); + +} +PFNGLBINDTEXTUREPROC glad_debug_glBindTexture = glad_debug_impl_glBindTexture; +PFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTextureEXT(GLenum target, GLuint texture) { + _pre_call_gl_callback("glBindTextureEXT", (GLADapiproc) glad_glBindTextureEXT, 2, target, texture); + glad_glBindTextureEXT(target, texture); + _post_call_gl_callback(NULL, "glBindTextureEXT", (GLADapiproc) glad_glBindTextureEXT, 2, target, texture); + +} +PFNGLBINDTEXTUREEXTPROC glad_debug_glBindTextureEXT = glad_debug_impl_glBindTextureEXT; +PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTextureUnit(GLuint unit, GLuint texture) { + _pre_call_gl_callback("glBindTextureUnit", (GLADapiproc) glad_glBindTextureUnit, 2, unit, texture); + glad_glBindTextureUnit(unit, texture); + _post_call_gl_callback(NULL, "glBindTextureUnit", (GLADapiproc) glad_glBindTextureUnit, 2, unit, texture); + +} +PFNGLBINDTEXTUREUNITPROC glad_debug_glBindTextureUnit = glad_debug_impl_glBindTextureUnit; +PFNGLBINDTEXTURESPROC glad_glBindTextures = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTextures(GLuint first, GLsizei count, const GLuint * textures) { + _pre_call_gl_callback("glBindTextures", (GLADapiproc) glad_glBindTextures, 3, first, count, textures); + glad_glBindTextures(first, count, textures); + _post_call_gl_callback(NULL, "glBindTextures", (GLADapiproc) glad_glBindTextures, 3, first, count, textures); + +} +PFNGLBINDTEXTURESPROC glad_debug_glBindTextures = glad_debug_impl_glBindTextures; +PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTransformFeedback(GLenum target, GLuint id) { + _pre_call_gl_callback("glBindTransformFeedback", (GLADapiproc) glad_glBindTransformFeedback, 2, target, id); + glad_glBindTransformFeedback(target, id); + _post_call_gl_callback(NULL, "glBindTransformFeedback", (GLADapiproc) glad_glBindTransformFeedback, 2, target, id); + +} +PFNGLBINDTRANSFORMFEEDBACKPROC glad_debug_glBindTransformFeedback = glad_debug_impl_glBindTransformFeedback; +PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindTransformFeedbackNV(GLenum target, GLuint id) { + _pre_call_gl_callback("glBindTransformFeedbackNV", (GLADapiproc) glad_glBindTransformFeedbackNV, 2, target, id); + glad_glBindTransformFeedbackNV(target, id); + _post_call_gl_callback(NULL, "glBindTransformFeedbackNV", (GLADapiproc) glad_glBindTransformFeedbackNV, 2, target, id); + +} +PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_debug_glBindTransformFeedbackNV = glad_debug_impl_glBindTransformFeedbackNV; +PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindVertexArray(GLuint array) { + _pre_call_gl_callback("glBindVertexArray", (GLADapiproc) glad_glBindVertexArray, 1, array); + glad_glBindVertexArray(array); + _post_call_gl_callback(NULL, "glBindVertexArray", (GLADapiproc) glad_glBindVertexArray, 1, array); + +} +PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray = glad_debug_impl_glBindVertexArray; +PFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindVertexArrayAPPLE(GLuint array) { + _pre_call_gl_callback("glBindVertexArrayAPPLE", (GLADapiproc) glad_glBindVertexArrayAPPLE, 1, array); + glad_glBindVertexArrayAPPLE(array); + _post_call_gl_callback(NULL, "glBindVertexArrayAPPLE", (GLADapiproc) glad_glBindVertexArrayAPPLE, 1, array); + +} +PFNGLBINDVERTEXARRAYAPPLEPROC glad_debug_glBindVertexArrayAPPLE = glad_debug_impl_glBindVertexArrayAPPLE; +PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { + _pre_call_gl_callback("glBindVertexBuffer", (GLADapiproc) glad_glBindVertexBuffer, 4, bindingindex, buffer, offset, stride); + glad_glBindVertexBuffer(bindingindex, buffer, offset, stride); + _post_call_gl_callback(NULL, "glBindVertexBuffer", (GLADapiproc) glad_glBindVertexBuffer, 4, bindingindex, buffer, offset, stride); + +} +PFNGLBINDVERTEXBUFFERPROC glad_debug_glBindVertexBuffer = glad_debug_impl_glBindVertexBuffer; +PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glBindVertexBuffers(GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides) { + _pre_call_gl_callback("glBindVertexBuffers", (GLADapiproc) glad_glBindVertexBuffers, 5, first, count, buffers, offsets, strides); + glad_glBindVertexBuffers(first, count, buffers, offsets, strides); + _post_call_gl_callback(NULL, "glBindVertexBuffers", (GLADapiproc) glad_glBindVertexBuffers, 5, first, count, buffers, offsets, strides); + +} +PFNGLBINDVERTEXBUFFERSPROC glad_debug_glBindVertexBuffers = glad_debug_impl_glBindVertexBuffers; +PFNGLBLENDCOLORPROC glad_glBlendColor = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { + _pre_call_gl_callback("glBlendColor", (GLADapiproc) glad_glBlendColor, 4, red, green, blue, alpha); + glad_glBlendColor(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glBlendColor", (GLADapiproc) glad_glBlendColor, 4, red, green, blue, alpha); + +} +PFNGLBLENDCOLORPROC glad_debug_glBlendColor = glad_debug_impl_glBlendColor; +PFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendColorEXT(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { + _pre_call_gl_callback("glBlendColorEXT", (GLADapiproc) glad_glBlendColorEXT, 4, red, green, blue, alpha); + glad_glBlendColorEXT(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glBlendColorEXT", (GLADapiproc) glad_glBlendColorEXT, 4, red, green, blue, alpha); + +} +PFNGLBLENDCOLOREXTPROC glad_debug_glBlendColorEXT = glad_debug_impl_glBlendColorEXT; +PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquation(GLenum mode) { + _pre_call_gl_callback("glBlendEquation", (GLADapiproc) glad_glBlendEquation, 1, mode); + glad_glBlendEquation(mode); + _post_call_gl_callback(NULL, "glBlendEquation", (GLADapiproc) glad_glBlendEquation, 1, mode); + +} +PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation = glad_debug_impl_glBlendEquation; +PFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationEXT(GLenum mode) { + _pre_call_gl_callback("glBlendEquationEXT", (GLADapiproc) glad_glBlendEquationEXT, 1, mode); + glad_glBlendEquationEXT(mode); + _post_call_gl_callback(NULL, "glBlendEquationEXT", (GLADapiproc) glad_glBlendEquationEXT, 1, mode); + +} +PFNGLBLENDEQUATIONEXTPROC glad_debug_glBlendEquationEXT = glad_debug_impl_glBlendEquationEXT; +PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationIndexedAMD(GLuint buf, GLenum mode) { + _pre_call_gl_callback("glBlendEquationIndexedAMD", (GLADapiproc) glad_glBlendEquationIndexedAMD, 2, buf, mode); + glad_glBlendEquationIndexedAMD(buf, mode); + _post_call_gl_callback(NULL, "glBlendEquationIndexedAMD", (GLADapiproc) glad_glBlendEquationIndexedAMD, 2, buf, mode); + +} +PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_debug_glBlendEquationIndexedAMD = glad_debug_impl_glBlendEquationIndexedAMD; +PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { + _pre_call_gl_callback("glBlendEquationSeparate", (GLADapiproc) glad_glBlendEquationSeparate, 2, modeRGB, modeAlpha); + glad_glBlendEquationSeparate(modeRGB, modeAlpha); + _post_call_gl_callback(NULL, "glBlendEquationSeparate", (GLADapiproc) glad_glBlendEquationSeparate, 2, modeRGB, modeAlpha); + +} +PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate = glad_debug_impl_glBlendEquationSeparate; +PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha) { + _pre_call_gl_callback("glBlendEquationSeparateEXT", (GLADapiproc) glad_glBlendEquationSeparateEXT, 2, modeRGB, modeAlpha); + glad_glBlendEquationSeparateEXT(modeRGB, modeAlpha); + _post_call_gl_callback(NULL, "glBlendEquationSeparateEXT", (GLADapiproc) glad_glBlendEquationSeparateEXT, 2, modeRGB, modeAlpha); + +} +PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_debug_glBlendEquationSeparateEXT = glad_debug_impl_glBlendEquationSeparateEXT; +PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + _pre_call_gl_callback("glBlendEquationSeparateIndexedAMD", (GLADapiproc) glad_glBlendEquationSeparateIndexedAMD, 3, buf, modeRGB, modeAlpha); + glad_glBlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha); + _post_call_gl_callback(NULL, "glBlendEquationSeparateIndexedAMD", (GLADapiproc) glad_glBlendEquationSeparateIndexedAMD, 3, buf, modeRGB, modeAlpha); + +} +PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_debug_glBlendEquationSeparateIndexedAMD = glad_debug_impl_glBlendEquationSeparateIndexedAMD; +PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + _pre_call_gl_callback("glBlendEquationSeparatei", (GLADapiproc) glad_glBlendEquationSeparatei, 3, buf, modeRGB, modeAlpha); + glad_glBlendEquationSeparatei(buf, modeRGB, modeAlpha); + _post_call_gl_callback(NULL, "glBlendEquationSeparatei", (GLADapiproc) glad_glBlendEquationSeparatei, 3, buf, modeRGB, modeAlpha); + +} +PFNGLBLENDEQUATIONSEPARATEIPROC glad_debug_glBlendEquationSeparatei = glad_debug_impl_glBlendEquationSeparatei; +PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + _pre_call_gl_callback("glBlendEquationSeparateiARB", (GLADapiproc) glad_glBlendEquationSeparateiARB, 3, buf, modeRGB, modeAlpha); + glad_glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha); + _post_call_gl_callback(NULL, "glBlendEquationSeparateiARB", (GLADapiproc) glad_glBlendEquationSeparateiARB, 3, buf, modeRGB, modeAlpha); + +} +PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_debug_glBlendEquationSeparateiARB = glad_debug_impl_glBlendEquationSeparateiARB; +PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationi(GLuint buf, GLenum mode) { + _pre_call_gl_callback("glBlendEquationi", (GLADapiproc) glad_glBlendEquationi, 2, buf, mode); + glad_glBlendEquationi(buf, mode); + _post_call_gl_callback(NULL, "glBlendEquationi", (GLADapiproc) glad_glBlendEquationi, 2, buf, mode); + +} +PFNGLBLENDEQUATIONIPROC glad_debug_glBlendEquationi = glad_debug_impl_glBlendEquationi; +PFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendEquationiARB(GLuint buf, GLenum mode) { + _pre_call_gl_callback("glBlendEquationiARB", (GLADapiproc) glad_glBlendEquationiARB, 2, buf, mode); + glad_glBlendEquationiARB(buf, mode); + _post_call_gl_callback(NULL, "glBlendEquationiARB", (GLADapiproc) glad_glBlendEquationiARB, 2, buf, mode); + +} +PFNGLBLENDEQUATIONIARBPROC glad_debug_glBlendEquationiARB = glad_debug_impl_glBlendEquationiARB; +PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFunc(GLenum sfactor, GLenum dfactor) { + _pre_call_gl_callback("glBlendFunc", (GLADapiproc) glad_glBlendFunc, 2, sfactor, dfactor); + glad_glBlendFunc(sfactor, dfactor); + _post_call_gl_callback(NULL, "glBlendFunc", (GLADapiproc) glad_glBlendFunc, 2, sfactor, dfactor); + +} +PFNGLBLENDFUNCPROC glad_debug_glBlendFunc = glad_debug_impl_glBlendFunc; +PFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst) { + _pre_call_gl_callback("glBlendFuncIndexedAMD", (GLADapiproc) glad_glBlendFuncIndexedAMD, 3, buf, src, dst); + glad_glBlendFuncIndexedAMD(buf, src, dst); + _post_call_gl_callback(NULL, "glBlendFuncIndexedAMD", (GLADapiproc) glad_glBlendFuncIndexedAMD, 3, buf, src, dst); + +} +PFNGLBLENDFUNCINDEXEDAMDPROC glad_debug_glBlendFuncIndexedAMD = glad_debug_impl_glBlendFuncIndexedAMD; +PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { + _pre_call_gl_callback("glBlendFuncSeparate", (GLADapiproc) glad_glBlendFuncSeparate, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + glad_glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparate", (GLADapiproc) glad_glBlendFuncSeparate, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + +} +PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate = glad_debug_impl_glBlendFuncSeparate; +PFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { + _pre_call_gl_callback("glBlendFuncSeparateEXT", (GLADapiproc) glad_glBlendFuncSeparateEXT, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + glad_glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparateEXT", (GLADapiproc) glad_glBlendFuncSeparateEXT, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + +} +PFNGLBLENDFUNCSEPARATEEXTPROC glad_debug_glBlendFuncSeparateEXT = glad_debug_impl_glBlendFuncSeparateEXT; +PFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { + _pre_call_gl_callback("glBlendFuncSeparateINGR", (GLADapiproc) glad_glBlendFuncSeparateINGR, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + glad_glBlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparateINGR", (GLADapiproc) glad_glBlendFuncSeparateINGR, 4, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + +} +PFNGLBLENDFUNCSEPARATEINGRPROC glad_debug_glBlendFuncSeparateINGR = glad_debug_impl_glBlendFuncSeparateINGR; +PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { + _pre_call_gl_callback("glBlendFuncSeparateIndexedAMD", (GLADapiproc) glad_glBlendFuncSeparateIndexedAMD, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + glad_glBlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparateIndexedAMD", (GLADapiproc) glad_glBlendFuncSeparateIndexedAMD, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + +} +PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_debug_glBlendFuncSeparateIndexedAMD = glad_debug_impl_glBlendFuncSeparateIndexedAMD; +PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { + _pre_call_gl_callback("glBlendFuncSeparatei", (GLADapiproc) glad_glBlendFuncSeparatei, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + glad_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparatei", (GLADapiproc) glad_glBlendFuncSeparatei, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + +} +PFNGLBLENDFUNCSEPARATEIPROC glad_debug_glBlendFuncSeparatei = glad_debug_impl_glBlendFuncSeparatei; +PFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { + _pre_call_gl_callback("glBlendFuncSeparateiARB", (GLADapiproc) glad_glBlendFuncSeparateiARB, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + glad_glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + _post_call_gl_callback(NULL, "glBlendFuncSeparateiARB", (GLADapiproc) glad_glBlendFuncSeparateiARB, 5, buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + +} +PFNGLBLENDFUNCSEPARATEIARBPROC glad_debug_glBlendFuncSeparateiARB = glad_debug_impl_glBlendFuncSeparateiARB; +PFNGLBLENDFUNCIPROC glad_glBlendFunci = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFunci(GLuint buf, GLenum src, GLenum dst) { + _pre_call_gl_callback("glBlendFunci", (GLADapiproc) glad_glBlendFunci, 3, buf, src, dst); + glad_glBlendFunci(buf, src, dst); + _post_call_gl_callback(NULL, "glBlendFunci", (GLADapiproc) glad_glBlendFunci, 3, buf, src, dst); + +} +PFNGLBLENDFUNCIPROC glad_debug_glBlendFunci = glad_debug_impl_glBlendFunci; +PFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlendFunciARB(GLuint buf, GLenum src, GLenum dst) { + _pre_call_gl_callback("glBlendFunciARB", (GLADapiproc) glad_glBlendFunciARB, 3, buf, src, dst); + glad_glBlendFunciARB(buf, src, dst); + _post_call_gl_callback(NULL, "glBlendFunciARB", (GLADapiproc) glad_glBlendFunciARB, 3, buf, src, dst); + +} +PFNGLBLENDFUNCIARBPROC glad_debug_glBlendFunciARB = glad_debug_impl_glBlendFunciARB; +PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + _pre_call_gl_callback("glBlitFramebuffer", (GLADapiproc) glad_glBlitFramebuffer, 10, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + glad_glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + _post_call_gl_callback(NULL, "glBlitFramebuffer", (GLADapiproc) glad_glBlitFramebuffer, 10, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + +} +PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer = glad_debug_impl_glBlitFramebuffer; +PFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + _pre_call_gl_callback("glBlitFramebufferEXT", (GLADapiproc) glad_glBlitFramebufferEXT, 10, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + glad_glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + _post_call_gl_callback(NULL, "glBlitFramebufferEXT", (GLADapiproc) glad_glBlitFramebufferEXT, 10, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + +} +PFNGLBLITFRAMEBUFFEREXTPROC glad_debug_glBlitFramebufferEXT = glad_debug_impl_glBlitFramebufferEXT; +PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glBlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + _pre_call_gl_callback("glBlitNamedFramebuffer", (GLADapiproc) glad_glBlitNamedFramebuffer, 12, readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + glad_glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + _post_call_gl_callback(NULL, "glBlitNamedFramebuffer", (GLADapiproc) glad_glBlitNamedFramebuffer, 12, readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + +} +PFNGLBLITNAMEDFRAMEBUFFERPROC glad_debug_glBlitNamedFramebuffer = glad_debug_impl_glBlitNamedFramebuffer; +PFNGLBUFFERDATAPROC glad_glBufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferData(GLenum target, GLsizeiptr size, const void * data, GLenum usage) { + _pre_call_gl_callback("glBufferData", (GLADapiproc) glad_glBufferData, 4, target, size, data, usage); + glad_glBufferData(target, size, data, usage); + _post_call_gl_callback(NULL, "glBufferData", (GLADapiproc) glad_glBufferData, 4, target, size, data, usage); + +} +PFNGLBUFFERDATAPROC glad_debug_glBufferData = glad_debug_impl_glBufferData; +PFNGLBUFFERDATAARBPROC glad_glBufferDataARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferDataARB(GLenum target, GLsizeiptrARB size, const void * data, GLenum usage) { + _pre_call_gl_callback("glBufferDataARB", (GLADapiproc) glad_glBufferDataARB, 4, target, size, data, usage); + glad_glBufferDataARB(target, size, data, usage); + _post_call_gl_callback(NULL, "glBufferDataARB", (GLADapiproc) glad_glBufferDataARB, 4, target, size, data, usage); + +} +PFNGLBUFFERDATAARBPROC glad_debug_glBufferDataARB = glad_debug_impl_glBufferDataARB; +PFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glBufferParameteriAPPLE", (GLADapiproc) glad_glBufferParameteriAPPLE, 3, target, pname, param); + glad_glBufferParameteriAPPLE(target, pname, param); + _post_call_gl_callback(NULL, "glBufferParameteriAPPLE", (GLADapiproc) glad_glBufferParameteriAPPLE, 3, target, pname, param); + +} +PFNGLBUFFERPARAMETERIAPPLEPROC glad_debug_glBufferParameteriAPPLE = glad_debug_impl_glBufferParameteriAPPLE; +PFNGLBUFFERSTORAGEPROC glad_glBufferStorage = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferStorage(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags) { + _pre_call_gl_callback("glBufferStorage", (GLADapiproc) glad_glBufferStorage, 4, target, size, data, flags); + glad_glBufferStorage(target, size, data, flags); + _post_call_gl_callback(NULL, "glBufferStorage", (GLADapiproc) glad_glBufferStorage, 4, target, size, data, flags); + +} +PFNGLBUFFERSTORAGEPROC glad_debug_glBufferStorage = glad_debug_impl_glBufferStorage; +PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void * data) { + _pre_call_gl_callback("glBufferSubData", (GLADapiproc) glad_glBufferSubData, 4, target, offset, size, data); + glad_glBufferSubData(target, offset, size, data); + _post_call_gl_callback(NULL, "glBufferSubData", (GLADapiproc) glad_glBufferSubData, 4, target, offset, size, data); + +} +PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData = glad_debug_impl_glBufferSubData; +PFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void * data) { + _pre_call_gl_callback("glBufferSubDataARB", (GLADapiproc) glad_glBufferSubDataARB, 4, target, offset, size, data); + glad_glBufferSubDataARB(target, offset, size, data); + _post_call_gl_callback(NULL, "glBufferSubDataARB", (GLADapiproc) glad_glBufferSubDataARB, 4, target, offset, size, data); + +} +PFNGLBUFFERSUBDATAARBPROC glad_debug_glBufferSubDataARB = glad_debug_impl_glBufferSubDataARB; +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glCheckFramebufferStatus(GLenum target) { + GLenum ret; + _pre_call_gl_callback("glCheckFramebufferStatus", (GLADapiproc) glad_glCheckFramebufferStatus, 1, target); + ret = glad_glCheckFramebufferStatus(target); + _post_call_gl_callback((void*) &ret, "glCheckFramebufferStatus", (GLADapiproc) glad_glCheckFramebufferStatus, 1, target); + return ret; +} +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus = glad_debug_impl_glCheckFramebufferStatus; +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glCheckFramebufferStatusEXT(GLenum target) { + GLenum ret; + _pre_call_gl_callback("glCheckFramebufferStatusEXT", (GLADapiproc) glad_glCheckFramebufferStatusEXT, 1, target); + ret = glad_glCheckFramebufferStatusEXT(target); + _post_call_gl_callback((void*) &ret, "glCheckFramebufferStatusEXT", (GLADapiproc) glad_glCheckFramebufferStatusEXT, 1, target); + return ret; +} +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_debug_glCheckFramebufferStatusEXT = glad_debug_impl_glCheckFramebufferStatusEXT; +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glCheckNamedFramebufferStatus(GLuint framebuffer, GLenum target) { + GLenum ret; + _pre_call_gl_callback("glCheckNamedFramebufferStatus", (GLADapiproc) glad_glCheckNamedFramebufferStatus, 2, framebuffer, target); + ret = glad_glCheckNamedFramebufferStatus(framebuffer, target); + _post_call_gl_callback((void*) &ret, "glCheckNamedFramebufferStatus", (GLADapiproc) glad_glCheckNamedFramebufferStatus, 2, framebuffer, target); + return ret; +} +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_debug_glCheckNamedFramebufferStatus = glad_debug_impl_glCheckNamedFramebufferStatus; +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target) { + GLenum ret; + _pre_call_gl_callback("glCheckNamedFramebufferStatusEXT", (GLADapiproc) glad_glCheckNamedFramebufferStatusEXT, 2, framebuffer, target); + ret = glad_glCheckNamedFramebufferStatusEXT(framebuffer, target); + _post_call_gl_callback((void*) &ret, "glCheckNamedFramebufferStatusEXT", (GLADapiproc) glad_glCheckNamedFramebufferStatusEXT, 2, framebuffer, target); + return ret; +} +PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_debug_glCheckNamedFramebufferStatusEXT = glad_debug_impl_glCheckNamedFramebufferStatusEXT; +PFNGLCLAMPCOLORPROC glad_glClampColor = NULL; +static void GLAD_API_PTR glad_debug_impl_glClampColor(GLenum target, GLenum clamp) { + _pre_call_gl_callback("glClampColor", (GLADapiproc) glad_glClampColor, 2, target, clamp); + glad_glClampColor(target, clamp); + _post_call_gl_callback(NULL, "glClampColor", (GLADapiproc) glad_glClampColor, 2, target, clamp); + +} +PFNGLCLAMPCOLORPROC glad_debug_glClampColor = glad_debug_impl_glClampColor; +PFNGLCLAMPCOLORARBPROC glad_glClampColorARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glClampColorARB(GLenum target, GLenum clamp) { + _pre_call_gl_callback("glClampColorARB", (GLADapiproc) glad_glClampColorARB, 2, target, clamp); + glad_glClampColorARB(target, clamp); + _post_call_gl_callback(NULL, "glClampColorARB", (GLADapiproc) glad_glClampColorARB, 2, target, clamp); + +} +PFNGLCLAMPCOLORARBPROC glad_debug_glClampColorARB = glad_debug_impl_glClampColorARB; +PFNGLCLEARPROC glad_glClear = NULL; +static void GLAD_API_PTR glad_debug_impl_glClear(GLbitfield mask) { + _pre_call_gl_callback("glClear", (GLADapiproc) glad_glClear, 1, mask); + glad_glClear(mask); + _post_call_gl_callback(NULL, "glClear", (GLADapiproc) glad_glClear, 1, mask); + +} +PFNGLCLEARPROC glad_debug_glClear = glad_debug_impl_glClear; +PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearBufferData", (GLADapiproc) glad_glClearBufferData, 5, target, internalformat, format, type, data); + glad_glClearBufferData(target, internalformat, format, type, data); + _post_call_gl_callback(NULL, "glClearBufferData", (GLADapiproc) glad_glClearBufferData, 5, target, internalformat, format, type, data); + +} +PFNGLCLEARBUFFERDATAPROC glad_debug_glClearBufferData = glad_debug_impl_glClearBufferData; +PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearBufferSubData", (GLADapiproc) glad_glClearBufferSubData, 7, target, internalformat, offset, size, format, type, data); + glad_glClearBufferSubData(target, internalformat, offset, size, format, type, data); + _post_call_gl_callback(NULL, "glClearBufferSubData", (GLADapiproc) glad_glClearBufferSubData, 7, target, internalformat, offset, size, format, type, data); + +} +PFNGLCLEARBUFFERSUBDATAPROC glad_debug_glClearBufferSubData = glad_debug_impl_glClearBufferSubData; +PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { + _pre_call_gl_callback("glClearBufferfi", (GLADapiproc) glad_glClearBufferfi, 4, buffer, drawbuffer, depth, stencil); + glad_glClearBufferfi(buffer, drawbuffer, depth, stencil); + _post_call_gl_callback(NULL, "glClearBufferfi", (GLADapiproc) glad_glClearBufferfi, 4, buffer, drawbuffer, depth, stencil); + +} +PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi = glad_debug_impl_glClearBufferfi; +PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat * value) { + _pre_call_gl_callback("glClearBufferfv", (GLADapiproc) glad_glClearBufferfv, 3, buffer, drawbuffer, value); + glad_glClearBufferfv(buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearBufferfv", (GLADapiproc) glad_glClearBufferfv, 3, buffer, drawbuffer, value); + +} +PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv = glad_debug_impl_glClearBufferfv; +PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint * value) { + _pre_call_gl_callback("glClearBufferiv", (GLADapiproc) glad_glClearBufferiv, 3, buffer, drawbuffer, value); + glad_glClearBufferiv(buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearBufferiv", (GLADapiproc) glad_glClearBufferiv, 3, buffer, drawbuffer, value); + +} +PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv = glad_debug_impl_glClearBufferiv; +PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint * value) { + _pre_call_gl_callback("glClearBufferuiv", (GLADapiproc) glad_glClearBufferuiv, 3, buffer, drawbuffer, value); + glad_glClearBufferuiv(buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearBufferuiv", (GLADapiproc) glad_glClearBufferuiv, 3, buffer, drawbuffer, value); + +} +PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv = glad_debug_impl_glClearBufferuiv; +PFNGLCLEARCOLORPROC glad_glClearColor = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { + _pre_call_gl_callback("glClearColor", (GLADapiproc) glad_glClearColor, 4, red, green, blue, alpha); + glad_glClearColor(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glClearColor", (GLADapiproc) glad_glClearColor, 4, red, green, blue, alpha); + +} +PFNGLCLEARCOLORPROC glad_debug_glClearColor = glad_debug_impl_glClearColor; +PFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha) { + _pre_call_gl_callback("glClearColorIiEXT", (GLADapiproc) glad_glClearColorIiEXT, 4, red, green, blue, alpha); + glad_glClearColorIiEXT(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glClearColorIiEXT", (GLADapiproc) glad_glClearColorIiEXT, 4, red, green, blue, alpha); + +} +PFNGLCLEARCOLORIIEXTPROC glad_debug_glClearColorIiEXT = glad_debug_impl_glClearColorIiEXT; +PFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha) { + _pre_call_gl_callback("glClearColorIuiEXT", (GLADapiproc) glad_glClearColorIuiEXT, 4, red, green, blue, alpha); + glad_glClearColorIuiEXT(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glClearColorIuiEXT", (GLADapiproc) glad_glClearColorIuiEXT, 4, red, green, blue, alpha); + +} +PFNGLCLEARCOLORIUIEXTPROC glad_debug_glClearColorIuiEXT = glad_debug_impl_glClearColorIuiEXT; +PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearDepth(GLdouble depth) { + _pre_call_gl_callback("glClearDepth", (GLADapiproc) glad_glClearDepth, 1, depth); + glad_glClearDepth(depth); + _post_call_gl_callback(NULL, "glClearDepth", (GLADapiproc) glad_glClearDepth, 1, depth); + +} +PFNGLCLEARDEPTHPROC glad_debug_glClearDepth = glad_debug_impl_glClearDepth; +PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearDepthf(GLfloat d) { + _pre_call_gl_callback("glClearDepthf", (GLADapiproc) glad_glClearDepthf, 1, d); + glad_glClearDepthf(d); + _post_call_gl_callback(NULL, "glClearDepthf", (GLADapiproc) glad_glClearDepthf, 1, d); + +} +PFNGLCLEARDEPTHFPROC glad_debug_glClearDepthf = glad_debug_impl_glClearDepthf; +PFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearDepthfOES(GLclampf depth) { + _pre_call_gl_callback("glClearDepthfOES", (GLADapiproc) glad_glClearDepthfOES, 1, depth); + glad_glClearDepthfOES(depth); + _post_call_gl_callback(NULL, "glClearDepthfOES", (GLADapiproc) glad_glClearDepthfOES, 1, depth); + +} +PFNGLCLEARDEPTHFOESPROC glad_debug_glClearDepthfOES = glad_debug_impl_glClearDepthfOES; +PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearNamedBufferData", (GLADapiproc) glad_glClearNamedBufferData, 5, buffer, internalformat, format, type, data); + glad_glClearNamedBufferData(buffer, internalformat, format, type, data); + _post_call_gl_callback(NULL, "glClearNamedBufferData", (GLADapiproc) glad_glClearNamedBufferData, 5, buffer, internalformat, format, type, data); + +} +PFNGLCLEARNAMEDBUFFERDATAPROC glad_debug_glClearNamedBufferData = glad_debug_impl_glClearNamedBufferData; +PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearNamedBufferDataEXT", (GLADapiproc) glad_glClearNamedBufferDataEXT, 5, buffer, internalformat, format, type, data); + glad_glClearNamedBufferDataEXT(buffer, internalformat, format, type, data); + _post_call_gl_callback(NULL, "glClearNamedBufferDataEXT", (GLADapiproc) glad_glClearNamedBufferDataEXT, 5, buffer, internalformat, format, type, data); + +} +PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_debug_glClearNamedBufferDataEXT = glad_debug_impl_glClearNamedBufferDataEXT; +PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearNamedBufferSubData", (GLADapiproc) glad_glClearNamedBufferSubData, 7, buffer, internalformat, offset, size, format, type, data); + glad_glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); + _post_call_gl_callback(NULL, "glClearNamedBufferSubData", (GLADapiproc) glad_glClearNamedBufferSubData, 7, buffer, internalformat, offset, size, format, type, data); + +} +PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_debug_glClearNamedBufferSubData = glad_debug_impl_glClearNamedBufferSubData; +PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearNamedBufferSubDataEXT", (GLADapiproc) glad_glClearNamedBufferSubDataEXT, 7, buffer, internalformat, offset, size, format, type, data); + glad_glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data); + _post_call_gl_callback(NULL, "glClearNamedBufferSubDataEXT", (GLADapiproc) glad_glClearNamedBufferSubDataEXT, 7, buffer, internalformat, offset, size, format, type, data); + +} +PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_debug_glClearNamedBufferSubDataEXT = glad_debug_impl_glClearNamedBufferSubDataEXT; +PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { + _pre_call_gl_callback("glClearNamedFramebufferfi", (GLADapiproc) glad_glClearNamedFramebufferfi, 5, framebuffer, buffer, drawbuffer, depth, stencil); + glad_glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil); + _post_call_gl_callback(NULL, "glClearNamedFramebufferfi", (GLADapiproc) glad_glClearNamedFramebufferfi, 5, framebuffer, buffer, drawbuffer, depth, stencil); + +} +PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_debug_glClearNamedFramebufferfi = glad_debug_impl_glClearNamedFramebufferfi; +PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value) { + _pre_call_gl_callback("glClearNamedFramebufferfv", (GLADapiproc) glad_glClearNamedFramebufferfv, 4, framebuffer, buffer, drawbuffer, value); + glad_glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearNamedFramebufferfv", (GLADapiproc) glad_glClearNamedFramebufferfv, 4, framebuffer, buffer, drawbuffer, value); + +} +PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_debug_glClearNamedFramebufferfv = glad_debug_impl_glClearNamedFramebufferfv; +PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value) { + _pre_call_gl_callback("glClearNamedFramebufferiv", (GLADapiproc) glad_glClearNamedFramebufferiv, 4, framebuffer, buffer, drawbuffer, value); + glad_glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearNamedFramebufferiv", (GLADapiproc) glad_glClearNamedFramebufferiv, 4, framebuffer, buffer, drawbuffer, value); + +} +PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_debug_glClearNamedFramebufferiv = glad_debug_impl_glClearNamedFramebufferiv; +PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value) { + _pre_call_gl_callback("glClearNamedFramebufferuiv", (GLADapiproc) glad_glClearNamedFramebufferuiv, 4, framebuffer, buffer, drawbuffer, value); + glad_glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); + _post_call_gl_callback(NULL, "glClearNamedFramebufferuiv", (GLADapiproc) glad_glClearNamedFramebufferuiv, 4, framebuffer, buffer, drawbuffer, value); + +} +PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_debug_glClearNamedFramebufferuiv = glad_debug_impl_glClearNamedFramebufferuiv; +PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearStencil(GLint s) { + _pre_call_gl_callback("glClearStencil", (GLADapiproc) glad_glClearStencil, 1, s); + glad_glClearStencil(s); + _post_call_gl_callback(NULL, "glClearStencil", (GLADapiproc) glad_glClearStencil, 1, s); + +} +PFNGLCLEARSTENCILPROC glad_debug_glClearStencil = glad_debug_impl_glClearStencil; +PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearTexImage", (GLADapiproc) glad_glClearTexImage, 5, texture, level, format, type, data); + glad_glClearTexImage(texture, level, format, type, data); + _post_call_gl_callback(NULL, "glClearTexImage", (GLADapiproc) glad_glClearTexImage, 5, texture, level, format, type, data); + +} +PFNGLCLEARTEXIMAGEPROC glad_debug_glClearTexImage = glad_debug_impl_glClearTexImage; +PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data) { + _pre_call_gl_callback("glClearTexSubImage", (GLADapiproc) glad_glClearTexSubImage, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + glad_glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + _post_call_gl_callback(NULL, "glClearTexSubImage", (GLADapiproc) glad_glClearTexSubImage, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + +} +PFNGLCLEARTEXSUBIMAGEPROC glad_debug_glClearTexSubImage = glad_debug_impl_glClearTexSubImage; +PFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glClientActiveTextureARB(GLenum texture) { + _pre_call_gl_callback("glClientActiveTextureARB", (GLADapiproc) glad_glClientActiveTextureARB, 1, texture); + glad_glClientActiveTextureARB(texture); + _post_call_gl_callback(NULL, "glClientActiveTextureARB", (GLADapiproc) glad_glClientActiveTextureARB, 1, texture); + +} +PFNGLCLIENTACTIVETEXTUREARBPROC glad_debug_glClientActiveTextureARB = glad_debug_impl_glClientActiveTextureARB; +PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glClientAttribDefaultEXT(GLbitfield mask) { + _pre_call_gl_callback("glClientAttribDefaultEXT", (GLADapiproc) glad_glClientAttribDefaultEXT, 1, mask); + glad_glClientAttribDefaultEXT(mask); + _post_call_gl_callback(NULL, "glClientAttribDefaultEXT", (GLADapiproc) glad_glClientAttribDefaultEXT, 1, mask); + +} +PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_debug_glClientAttribDefaultEXT = glad_debug_impl_glClientAttribDefaultEXT; +PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { + GLenum ret; + _pre_call_gl_callback("glClientWaitSync", (GLADapiproc) glad_glClientWaitSync, 3, sync, flags, timeout); + ret = glad_glClientWaitSync(sync, flags, timeout); + _post_call_gl_callback((void*) &ret, "glClientWaitSync", (GLADapiproc) glad_glClientWaitSync, 3, sync, flags, timeout); + return ret; +} +PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync = glad_debug_impl_glClientWaitSync; +PFNGLCLIPCONTROLPROC glad_glClipControl = NULL; +static void GLAD_API_PTR glad_debug_impl_glClipControl(GLenum origin, GLenum depth) { + _pre_call_gl_callback("glClipControl", (GLADapiproc) glad_glClipControl, 2, origin, depth); + glad_glClipControl(origin, depth); + _post_call_gl_callback(NULL, "glClipControl", (GLADapiproc) glad_glClipControl, 2, origin, depth); + +} +PFNGLCLIPCONTROLPROC glad_debug_glClipControl = glad_debug_impl_glClipControl; +PFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glClipPlanefOES(GLenum plane, const GLfloat * equation) { + _pre_call_gl_callback("glClipPlanefOES", (GLADapiproc) glad_glClipPlanefOES, 2, plane, equation); + glad_glClipPlanefOES(plane, equation); + _post_call_gl_callback(NULL, "glClipPlanefOES", (GLADapiproc) glad_glClipPlanefOES, 2, plane, equation); + +} +PFNGLCLIPPLANEFOESPROC glad_debug_glClipPlanefOES = glad_debug_impl_glClipPlanefOES; +PFNGLCOLORMASKPROC glad_glColorMask = NULL; +static void GLAD_API_PTR glad_debug_impl_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { + _pre_call_gl_callback("glColorMask", (GLADapiproc) glad_glColorMask, 4, red, green, blue, alpha); + glad_glColorMask(red, green, blue, alpha); + _post_call_gl_callback(NULL, "glColorMask", (GLADapiproc) glad_glColorMask, 4, red, green, blue, alpha); + +} +PFNGLCOLORMASKPROC glad_debug_glColorMask = glad_debug_impl_glColorMask; +PFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { + _pre_call_gl_callback("glColorMaskIndexedEXT", (GLADapiproc) glad_glColorMaskIndexedEXT, 5, index, r, g, b, a); + glad_glColorMaskIndexedEXT(index, r, g, b, a); + _post_call_gl_callback(NULL, "glColorMaskIndexedEXT", (GLADapiproc) glad_glColorMaskIndexedEXT, 5, index, r, g, b, a); + +} +PFNGLCOLORMASKINDEXEDEXTPROC glad_debug_glColorMaskIndexedEXT = glad_debug_impl_glColorMaskIndexedEXT; +PFNGLCOLORMASKIPROC glad_glColorMaski = NULL; +static void GLAD_API_PTR glad_debug_impl_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { + _pre_call_gl_callback("glColorMaski", (GLADapiproc) glad_glColorMaski, 5, index, r, g, b, a); + glad_glColorMaski(index, r, g, b, a); + _post_call_gl_callback(NULL, "glColorMaski", (GLADapiproc) glad_glColorMaski, 5, index, r, g, b, a); + +} +PFNGLCOLORMASKIPROC glad_debug_glColorMaski = glad_debug_impl_glColorMaski; +PFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer) { + _pre_call_gl_callback("glColorPointerEXT", (GLADapiproc) glad_glColorPointerEXT, 5, size, type, stride, count, pointer); + glad_glColorPointerEXT(size, type, stride, count, pointer); + _post_call_gl_callback(NULL, "glColorPointerEXT", (GLADapiproc) glad_glColorPointerEXT, 5, size, type, stride, count, pointer); + +} +PFNGLCOLORPOINTEREXTPROC glad_debug_glColorPointerEXT = glad_debug_impl_glColorPointerEXT; +PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompileShader(GLuint shader) { + _pre_call_gl_callback("glCompileShader", (GLADapiproc) glad_glCompileShader, 1, shader); + glad_glCompileShader(shader); + _post_call_gl_callback(NULL, "glCompileShader", (GLADapiproc) glad_glCompileShader, 1, shader); + +} +PFNGLCOMPILESHADERPROC glad_debug_glCompileShader = glad_debug_impl_glCompileShader; +PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompileShaderARB(GLhandleARB shaderObj) { + _pre_call_gl_callback("glCompileShaderARB", (GLADapiproc) glad_glCompileShaderARB, 1, shaderObj); + glad_glCompileShaderARB(shaderObj); + _post_call_gl_callback(NULL, "glCompileShaderARB", (GLADapiproc) glad_glCompileShaderARB, 1, shaderObj); + +} +PFNGLCOMPILESHADERARBPROC glad_debug_glCompileShaderARB = glad_debug_impl_glCompileShaderARB; +PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexImage1DEXT", (GLADapiproc) glad_glCompressedMultiTexImage1DEXT, 8, texunit, target, level, internalformat, width, border, imageSize, bits); + glad_glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexImage1DEXT", (GLADapiproc) glad_glCompressedMultiTexImage1DEXT, 8, texunit, target, level, internalformat, width, border, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_debug_glCompressedMultiTexImage1DEXT = glad_debug_impl_glCompressedMultiTexImage1DEXT; +PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexImage2DEXT", (GLADapiproc) glad_glCompressedMultiTexImage2DEXT, 9, texunit, target, level, internalformat, width, height, border, imageSize, bits); + glad_glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexImage2DEXT", (GLADapiproc) glad_glCompressedMultiTexImage2DEXT, 9, texunit, target, level, internalformat, width, height, border, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_debug_glCompressedMultiTexImage2DEXT = glad_debug_impl_glCompressedMultiTexImage2DEXT; +PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexImage3DEXT", (GLADapiproc) glad_glCompressedMultiTexImage3DEXT, 10, texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); + glad_glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexImage3DEXT", (GLADapiproc) glad_glCompressedMultiTexImage3DEXT, 10, texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_debug_glCompressedMultiTexImage3DEXT = glad_debug_impl_glCompressedMultiTexImage3DEXT; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexSubImage1DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage1DEXT, 8, texunit, target, level, xoffset, width, format, imageSize, bits); + glad_glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexSubImage1DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage1DEXT, 8, texunit, target, level, xoffset, width, format, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_debug_glCompressedMultiTexSubImage1DEXT = glad_debug_impl_glCompressedMultiTexSubImage1DEXT; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexSubImage2DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage2DEXT, 10, texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + glad_glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexSubImage2DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage2DEXT, 10, texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_debug_glCompressedMultiTexSubImage2DEXT = glad_debug_impl_glCompressedMultiTexSubImage2DEXT; +PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedMultiTexSubImage3DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage3DEXT, 12, texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + glad_glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedMultiTexSubImage3DEXT", (GLADapiproc) glad_glCompressedMultiTexSubImage3DEXT, 12, texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + +} +PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_debug_glCompressedMultiTexSubImage3DEXT = glad_debug_impl_glCompressedMultiTexSubImage3DEXT; +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage1D", (GLADapiproc) glad_glCompressedTexImage1D, 7, target, level, internalformat, width, border, imageSize, data); + glad_glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage1D", (GLADapiproc) glad_glCompressedTexImage1D, 7, target, level, internalformat, width, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D = glad_debug_impl_glCompressedTexImage1D; +PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage1DARB", (GLADapiproc) glad_glCompressedTexImage1DARB, 7, target, level, internalformat, width, border, imageSize, data); + glad_glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage1DARB", (GLADapiproc) glad_glCompressedTexImage1DARB, 7, target, level, internalformat, width, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_debug_glCompressedTexImage1DARB = glad_debug_impl_glCompressedTexImage1DARB; +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage2D", (GLADapiproc) glad_glCompressedTexImage2D, 8, target, level, internalformat, width, height, border, imageSize, data); + glad_glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage2D", (GLADapiproc) glad_glCompressedTexImage2D, 8, target, level, internalformat, width, height, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D = glad_debug_impl_glCompressedTexImage2D; +PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage2DARB", (GLADapiproc) glad_glCompressedTexImage2DARB, 8, target, level, internalformat, width, height, border, imageSize, data); + glad_glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage2DARB", (GLADapiproc) glad_glCompressedTexImage2DARB, 8, target, level, internalformat, width, height, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_debug_glCompressedTexImage2DARB = glad_debug_impl_glCompressedTexImage2DARB; +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage3D", (GLADapiproc) glad_glCompressedTexImage3D, 9, target, level, internalformat, width, height, depth, border, imageSize, data); + glad_glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage3D", (GLADapiproc) glad_glCompressedTexImage3D, 9, target, level, internalformat, width, height, depth, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D = glad_debug_impl_glCompressedTexImage3D; +PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexImage3DARB", (GLADapiproc) glad_glCompressedTexImage3DARB, 9, target, level, internalformat, width, height, depth, border, imageSize, data); + glad_glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexImage3DARB", (GLADapiproc) glad_glCompressedTexImage3DARB, 9, target, level, internalformat, width, height, depth, border, imageSize, data); + +} +PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_debug_glCompressedTexImage3DARB = glad_debug_impl_glCompressedTexImage3DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage1D", (GLADapiproc) glad_glCompressedTexSubImage1D, 7, target, level, xoffset, width, format, imageSize, data); + glad_glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage1D", (GLADapiproc) glad_glCompressedTexSubImage1D, 7, target, level, xoffset, width, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D = glad_debug_impl_glCompressedTexSubImage1D; +PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage1DARB", (GLADapiproc) glad_glCompressedTexSubImage1DARB, 7, target, level, xoffset, width, format, imageSize, data); + glad_glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage1DARB", (GLADapiproc) glad_glCompressedTexSubImage1DARB, 7, target, level, xoffset, width, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_debug_glCompressedTexSubImage1DARB = glad_debug_impl_glCompressedTexSubImage1DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage2D", (GLADapiproc) glad_glCompressedTexSubImage2D, 9, target, level, xoffset, yoffset, width, height, format, imageSize, data); + glad_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage2D", (GLADapiproc) glad_glCompressedTexSubImage2D, 9, target, level, xoffset, yoffset, width, height, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D = glad_debug_impl_glCompressedTexSubImage2D; +PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage2DARB", (GLADapiproc) glad_glCompressedTexSubImage2DARB, 9, target, level, xoffset, yoffset, width, height, format, imageSize, data); + glad_glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage2DARB", (GLADapiproc) glad_glCompressedTexSubImage2DARB, 9, target, level, xoffset, yoffset, width, height, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_debug_glCompressedTexSubImage2DARB = glad_debug_impl_glCompressedTexSubImage2DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage3D", (GLADapiproc) glad_glCompressedTexSubImage3D, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + glad_glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage3D", (GLADapiproc) glad_glCompressedTexSubImage3D, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D = glad_debug_impl_glCompressedTexSubImage3D; +PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTexSubImage3DARB", (GLADapiproc) glad_glCompressedTexSubImage3DARB, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + glad_glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTexSubImage3DARB", (GLADapiproc) glad_glCompressedTexSubImage3DARB, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_debug_glCompressedTexSubImage3DARB = glad_debug_impl_glCompressedTexSubImage3DARB; +PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureImage1DEXT", (GLADapiproc) glad_glCompressedTextureImage1DEXT, 8, texture, target, level, internalformat, width, border, imageSize, bits); + glad_glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureImage1DEXT", (GLADapiproc) glad_glCompressedTextureImage1DEXT, 8, texture, target, level, internalformat, width, border, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_debug_glCompressedTextureImage1DEXT = glad_debug_impl_glCompressedTextureImage1DEXT; +PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureImage2DEXT", (GLADapiproc) glad_glCompressedTextureImage2DEXT, 9, texture, target, level, internalformat, width, height, border, imageSize, bits); + glad_glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureImage2DEXT", (GLADapiproc) glad_glCompressedTextureImage2DEXT, 9, texture, target, level, internalformat, width, height, border, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_debug_glCompressedTextureImage2DEXT = glad_debug_impl_glCompressedTextureImage2DEXT; +PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureImage3DEXT", (GLADapiproc) glad_glCompressedTextureImage3DEXT, 10, texture, target, level, internalformat, width, height, depth, border, imageSize, bits); + glad_glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureImage3DEXT", (GLADapiproc) glad_glCompressedTextureImage3DEXT, 10, texture, target, level, internalformat, width, height, depth, border, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_debug_glCompressedTextureImage3DEXT = glad_debug_impl_glCompressedTextureImage3DEXT; +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTextureSubImage1D", (GLADapiproc) glad_glCompressedTextureSubImage1D, 7, texture, level, xoffset, width, format, imageSize, data); + glad_glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage1D", (GLADapiproc) glad_glCompressedTextureSubImage1D, 7, texture, level, xoffset, width, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_debug_glCompressedTextureSubImage1D = glad_debug_impl_glCompressedTextureSubImage1D; +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureSubImage1DEXT", (GLADapiproc) glad_glCompressedTextureSubImage1DEXT, 8, texture, target, level, xoffset, width, format, imageSize, bits); + glad_glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage1DEXT", (GLADapiproc) glad_glCompressedTextureSubImage1DEXT, 8, texture, target, level, xoffset, width, format, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_debug_glCompressedTextureSubImage1DEXT = glad_debug_impl_glCompressedTextureSubImage1DEXT; +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTextureSubImage2D", (GLADapiproc) glad_glCompressedTextureSubImage2D, 9, texture, level, xoffset, yoffset, width, height, format, imageSize, data); + glad_glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage2D", (GLADapiproc) glad_glCompressedTextureSubImage2D, 9, texture, level, xoffset, yoffset, width, height, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_debug_glCompressedTextureSubImage2D = glad_debug_impl_glCompressedTextureSubImage2D; +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureSubImage2DEXT", (GLADapiproc) glad_glCompressedTextureSubImage2DEXT, 10, texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + glad_glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage2DEXT", (GLADapiproc) glad_glCompressedTextureSubImage2DEXT, 10, texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_debug_glCompressedTextureSubImage2DEXT = glad_debug_impl_glCompressedTextureSubImage2DEXT; +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) { + _pre_call_gl_callback("glCompressedTextureSubImage3D", (GLADapiproc) glad_glCompressedTextureSubImage3D, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + glad_glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage3D", (GLADapiproc) glad_glCompressedTextureSubImage3D, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_debug_glCompressedTextureSubImage3D = glad_debug_impl_glCompressedTextureSubImage3D; +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits) { + _pre_call_gl_callback("glCompressedTextureSubImage3DEXT", (GLADapiproc) glad_glCompressedTextureSubImage3DEXT, 12, texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + glad_glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + _post_call_gl_callback(NULL, "glCompressedTextureSubImage3DEXT", (GLADapiproc) glad_glCompressedTextureSubImage3DEXT, 12, texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + +} +PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_debug_glCompressedTextureSubImage3DEXT = glad_debug_impl_glCompressedTextureSubImage3DEXT; +PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { + _pre_call_gl_callback("glCopyBufferSubData", (GLADapiproc) glad_glCopyBufferSubData, 5, readTarget, writeTarget, readOffset, writeOffset, size); + glad_glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + _post_call_gl_callback(NULL, "glCopyBufferSubData", (GLADapiproc) glad_glCopyBufferSubData, 5, readTarget, writeTarget, readOffset, writeOffset, size); + +} +PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData = glad_debug_impl_glCopyBufferSubData; +PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyImageSubData(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) { + _pre_call_gl_callback("glCopyImageSubData", (GLADapiproc) glad_glCopyImageSubData, 15, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + glad_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + _post_call_gl_callback(NULL, "glCopyImageSubData", (GLADapiproc) glad_glCopyImageSubData, 15, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + +} +PFNGLCOPYIMAGESUBDATAPROC glad_debug_glCopyImageSubData = glad_debug_impl_glCopyImageSubData; +PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { + _pre_call_gl_callback("glCopyMultiTexImage1DEXT", (GLADapiproc) glad_glCopyMultiTexImage1DEXT, 8, texunit, target, level, internalformat, x, y, width, border); + glad_glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border); + _post_call_gl_callback(NULL, "glCopyMultiTexImage1DEXT", (GLADapiproc) glad_glCopyMultiTexImage1DEXT, 8, texunit, target, level, internalformat, x, y, width, border); + +} +PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_debug_glCopyMultiTexImage1DEXT = glad_debug_impl_glCopyMultiTexImage1DEXT; +PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { + _pre_call_gl_callback("glCopyMultiTexImage2DEXT", (GLADapiproc) glad_glCopyMultiTexImage2DEXT, 9, texunit, target, level, internalformat, x, y, width, height, border); + glad_glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border); + _post_call_gl_callback(NULL, "glCopyMultiTexImage2DEXT", (GLADapiproc) glad_glCopyMultiTexImage2DEXT, 9, texunit, target, level, internalformat, x, y, width, height, border); + +} +PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_debug_glCopyMultiTexImage2DEXT = glad_debug_impl_glCopyMultiTexImage2DEXT; +PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { + _pre_call_gl_callback("glCopyMultiTexSubImage1DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage1DEXT, 7, texunit, target, level, xoffset, x, y, width); + glad_glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width); + _post_call_gl_callback(NULL, "glCopyMultiTexSubImage1DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage1DEXT, 7, texunit, target, level, xoffset, x, y, width); + +} +PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_debug_glCopyMultiTexSubImage1DEXT = glad_debug_impl_glCopyMultiTexSubImage1DEXT; +PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyMultiTexSubImage2DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage2DEXT, 9, texunit, target, level, xoffset, yoffset, x, y, width, height); + glad_glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyMultiTexSubImage2DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage2DEXT, 9, texunit, target, level, xoffset, yoffset, x, y, width, height); + +} +PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_debug_glCopyMultiTexSubImage2DEXT = glad_debug_impl_glCopyMultiTexSubImage2DEXT; +PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyMultiTexSubImage3DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage3DEXT, 10, texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); + glad_glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyMultiTexSubImage3DEXT", (GLADapiproc) glad_glCopyMultiTexSubImage3DEXT, 10, texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); + +} +PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_debug_glCopyMultiTexSubImage3DEXT = glad_debug_impl_glCopyMultiTexSubImage3DEXT; +PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { + _pre_call_gl_callback("glCopyNamedBufferSubData", (GLADapiproc) glad_glCopyNamedBufferSubData, 5, readBuffer, writeBuffer, readOffset, writeOffset, size); + glad_glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); + _post_call_gl_callback(NULL, "glCopyNamedBufferSubData", (GLADapiproc) glad_glCopyNamedBufferSubData, 5, readBuffer, writeBuffer, readOffset, writeOffset, size); + +} +PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_debug_glCopyNamedBufferSubData = glad_debug_impl_glCopyNamedBufferSubData; +PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { + _pre_call_gl_callback("glCopyTexImage1D", (GLADapiproc) glad_glCopyTexImage1D, 7, target, level, internalformat, x, y, width, border); + glad_glCopyTexImage1D(target, level, internalformat, x, y, width, border); + _post_call_gl_callback(NULL, "glCopyTexImage1D", (GLADapiproc) glad_glCopyTexImage1D, 7, target, level, internalformat, x, y, width, border); + +} +PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D = glad_debug_impl_glCopyTexImage1D; +PFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { + _pre_call_gl_callback("glCopyTexImage1DEXT", (GLADapiproc) glad_glCopyTexImage1DEXT, 7, target, level, internalformat, x, y, width, border); + glad_glCopyTexImage1DEXT(target, level, internalformat, x, y, width, border); + _post_call_gl_callback(NULL, "glCopyTexImage1DEXT", (GLADapiproc) glad_glCopyTexImage1DEXT, 7, target, level, internalformat, x, y, width, border); + +} +PFNGLCOPYTEXIMAGE1DEXTPROC glad_debug_glCopyTexImage1DEXT = glad_debug_impl_glCopyTexImage1DEXT; +PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { + _pre_call_gl_callback("glCopyTexImage2D", (GLADapiproc) glad_glCopyTexImage2D, 8, target, level, internalformat, x, y, width, height, border); + glad_glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); + _post_call_gl_callback(NULL, "glCopyTexImage2D", (GLADapiproc) glad_glCopyTexImage2D, 8, target, level, internalformat, x, y, width, height, border); + +} +PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D = glad_debug_impl_glCopyTexImage2D; +PFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { + _pre_call_gl_callback("glCopyTexImage2DEXT", (GLADapiproc) glad_glCopyTexImage2DEXT, 8, target, level, internalformat, x, y, width, height, border); + glad_glCopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border); + _post_call_gl_callback(NULL, "glCopyTexImage2DEXT", (GLADapiproc) glad_glCopyTexImage2DEXT, 8, target, level, internalformat, x, y, width, height, border); + +} +PFNGLCOPYTEXIMAGE2DEXTPROC glad_debug_glCopyTexImage2DEXT = glad_debug_impl_glCopyTexImage2DEXT; +PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { + _pre_call_gl_callback("glCopyTexSubImage1D", (GLADapiproc) glad_glCopyTexSubImage1D, 6, target, level, xoffset, x, y, width); + glad_glCopyTexSubImage1D(target, level, xoffset, x, y, width); + _post_call_gl_callback(NULL, "glCopyTexSubImage1D", (GLADapiproc) glad_glCopyTexSubImage1D, 6, target, level, xoffset, x, y, width); + +} +PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D = glad_debug_impl_glCopyTexSubImage1D; +PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { + _pre_call_gl_callback("glCopyTexSubImage1DEXT", (GLADapiproc) glad_glCopyTexSubImage1DEXT, 6, target, level, xoffset, x, y, width); + glad_glCopyTexSubImage1DEXT(target, level, xoffset, x, y, width); + _post_call_gl_callback(NULL, "glCopyTexSubImage1DEXT", (GLADapiproc) glad_glCopyTexSubImage1DEXT, 6, target, level, xoffset, x, y, width); + +} +PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_debug_glCopyTexSubImage1DEXT = glad_debug_impl_glCopyTexSubImage1DEXT; +PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTexSubImage2D", (GLADapiproc) glad_glCopyTexSubImage2D, 8, target, level, xoffset, yoffset, x, y, width, height); + glad_glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTexSubImage2D", (GLADapiproc) glad_glCopyTexSubImage2D, 8, target, level, xoffset, yoffset, x, y, width, height); + +} +PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D = glad_debug_impl_glCopyTexSubImage2D; +PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTexSubImage2DEXT", (GLADapiproc) glad_glCopyTexSubImage2DEXT, 8, target, level, xoffset, yoffset, x, y, width, height); + glad_glCopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTexSubImage2DEXT", (GLADapiproc) glad_glCopyTexSubImage2DEXT, 8, target, level, xoffset, yoffset, x, y, width, height); + +} +PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_debug_glCopyTexSubImage2DEXT = glad_debug_impl_glCopyTexSubImage2DEXT; +PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTexSubImage3D", (GLADapiproc) glad_glCopyTexSubImage3D, 9, target, level, xoffset, yoffset, zoffset, x, y, width, height); + glad_glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTexSubImage3D", (GLADapiproc) glad_glCopyTexSubImage3D, 9, target, level, xoffset, yoffset, zoffset, x, y, width, height); + +} +PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D = glad_debug_impl_glCopyTexSubImage3D; +PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTexSubImage3DEXT", (GLADapiproc) glad_glCopyTexSubImage3DEXT, 9, target, level, xoffset, yoffset, zoffset, x, y, width, height); + glad_glCopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTexSubImage3DEXT", (GLADapiproc) glad_glCopyTexSubImage3DEXT, 9, target, level, xoffset, yoffset, zoffset, x, y, width, height); + +} +PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_debug_glCopyTexSubImage3DEXT = glad_debug_impl_glCopyTexSubImage3DEXT; +PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { + _pre_call_gl_callback("glCopyTextureImage1DEXT", (GLADapiproc) glad_glCopyTextureImage1DEXT, 8, texture, target, level, internalformat, x, y, width, border); + glad_glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border); + _post_call_gl_callback(NULL, "glCopyTextureImage1DEXT", (GLADapiproc) glad_glCopyTextureImage1DEXT, 8, texture, target, level, internalformat, x, y, width, border); + +} +PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_debug_glCopyTextureImage1DEXT = glad_debug_impl_glCopyTextureImage1DEXT; +PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { + _pre_call_gl_callback("glCopyTextureImage2DEXT", (GLADapiproc) glad_glCopyTextureImage2DEXT, 9, texture, target, level, internalformat, x, y, width, height, border); + glad_glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border); + _post_call_gl_callback(NULL, "glCopyTextureImage2DEXT", (GLADapiproc) glad_glCopyTextureImage2DEXT, 9, texture, target, level, internalformat, x, y, width, height, border); + +} +PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_debug_glCopyTextureImage2DEXT = glad_debug_impl_glCopyTextureImage2DEXT; +PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { + _pre_call_gl_callback("glCopyTextureSubImage1D", (GLADapiproc) glad_glCopyTextureSubImage1D, 6, texture, level, xoffset, x, y, width); + glad_glCopyTextureSubImage1D(texture, level, xoffset, x, y, width); + _post_call_gl_callback(NULL, "glCopyTextureSubImage1D", (GLADapiproc) glad_glCopyTextureSubImage1D, 6, texture, level, xoffset, x, y, width); + +} +PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_debug_glCopyTextureSubImage1D = glad_debug_impl_glCopyTextureSubImage1D; +PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { + _pre_call_gl_callback("glCopyTextureSubImage1DEXT", (GLADapiproc) glad_glCopyTextureSubImage1DEXT, 7, texture, target, level, xoffset, x, y, width); + glad_glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width); + _post_call_gl_callback(NULL, "glCopyTextureSubImage1DEXT", (GLADapiproc) glad_glCopyTextureSubImage1DEXT, 7, texture, target, level, xoffset, x, y, width); + +} +PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_debug_glCopyTextureSubImage1DEXT = glad_debug_impl_glCopyTextureSubImage1DEXT; +PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTextureSubImage2D", (GLADapiproc) glad_glCopyTextureSubImage2D, 8, texture, level, xoffset, yoffset, x, y, width, height); + glad_glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTextureSubImage2D", (GLADapiproc) glad_glCopyTextureSubImage2D, 8, texture, level, xoffset, yoffset, x, y, width, height); + +} +PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_debug_glCopyTextureSubImage2D = glad_debug_impl_glCopyTextureSubImage2D; +PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTextureSubImage2DEXT", (GLADapiproc) glad_glCopyTextureSubImage2DEXT, 9, texture, target, level, xoffset, yoffset, x, y, width, height); + glad_glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTextureSubImage2DEXT", (GLADapiproc) glad_glCopyTextureSubImage2DEXT, 9, texture, target, level, xoffset, yoffset, x, y, width, height); + +} +PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_debug_glCopyTextureSubImage2DEXT = glad_debug_impl_glCopyTextureSubImage2DEXT; +PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTextureSubImage3D", (GLADapiproc) glad_glCopyTextureSubImage3D, 9, texture, level, xoffset, yoffset, zoffset, x, y, width, height); + glad_glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTextureSubImage3D", (GLADapiproc) glad_glCopyTextureSubImage3D, 9, texture, level, xoffset, yoffset, zoffset, x, y, width, height); + +} +PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_debug_glCopyTextureSubImage3D = glad_debug_impl_glCopyTextureSubImage3D; +PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glCopyTextureSubImage3DEXT", (GLADapiproc) glad_glCopyTextureSubImage3DEXT, 10, texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); + glad_glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); + _post_call_gl_callback(NULL, "glCopyTextureSubImage3DEXT", (GLADapiproc) glad_glCopyTextureSubImage3DEXT, 10, texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); + +} +PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_debug_glCopyTextureSubImage3DEXT = glad_debug_impl_glCopyTextureSubImage3DEXT; +PFNGLCREATEBUFFERSPROC glad_glCreateBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateBuffers(GLsizei n, GLuint * buffers) { + _pre_call_gl_callback("glCreateBuffers", (GLADapiproc) glad_glCreateBuffers, 2, n, buffers); + glad_glCreateBuffers(n, buffers); + _post_call_gl_callback(NULL, "glCreateBuffers", (GLADapiproc) glad_glCreateBuffers, 2, n, buffers); + +} +PFNGLCREATEBUFFERSPROC glad_debug_glCreateBuffers = glad_debug_impl_glCreateBuffers; +PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateFramebuffers(GLsizei n, GLuint * framebuffers) { + _pre_call_gl_callback("glCreateFramebuffers", (GLADapiproc) glad_glCreateFramebuffers, 2, n, framebuffers); + glad_glCreateFramebuffers(n, framebuffers); + _post_call_gl_callback(NULL, "glCreateFramebuffers", (GLADapiproc) glad_glCreateFramebuffers, 2, n, framebuffers); + +} +PFNGLCREATEFRAMEBUFFERSPROC glad_debug_glCreateFramebuffers = glad_debug_impl_glCreateFramebuffers; +PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glCreateProgram(void) { + GLuint ret; + _pre_call_gl_callback("glCreateProgram", (GLADapiproc) glad_glCreateProgram, 0); + ret = glad_glCreateProgram(); + _post_call_gl_callback((void*) &ret, "glCreateProgram", (GLADapiproc) glad_glCreateProgram, 0); + return ret; +} +PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram = glad_debug_impl_glCreateProgram; +PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB = NULL; +static GLhandleARB GLAD_API_PTR glad_debug_impl_glCreateProgramObjectARB(void) { + GLhandleARB ret; + _pre_call_gl_callback("glCreateProgramObjectARB", (GLADapiproc) glad_glCreateProgramObjectARB, 0); + ret = glad_glCreateProgramObjectARB(); + _post_call_gl_callback((void*) &ret, "glCreateProgramObjectARB", (GLADapiproc) glad_glCreateProgramObjectARB, 0); + return ret; +} +PFNGLCREATEPROGRAMOBJECTARBPROC glad_debug_glCreateProgramObjectARB = glad_debug_impl_glCreateProgramObjectARB; +PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateProgramPipelines(GLsizei n, GLuint * pipelines) { + _pre_call_gl_callback("glCreateProgramPipelines", (GLADapiproc) glad_glCreateProgramPipelines, 2, n, pipelines); + glad_glCreateProgramPipelines(n, pipelines); + _post_call_gl_callback(NULL, "glCreateProgramPipelines", (GLADapiproc) glad_glCreateProgramPipelines, 2, n, pipelines); + +} +PFNGLCREATEPROGRAMPIPELINESPROC glad_debug_glCreateProgramPipelines = glad_debug_impl_glCreateProgramPipelines; +PFNGLCREATEQUERIESPROC glad_glCreateQueries = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateQueries(GLenum target, GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glCreateQueries", (GLADapiproc) glad_glCreateQueries, 3, target, n, ids); + glad_glCreateQueries(target, n, ids); + _post_call_gl_callback(NULL, "glCreateQueries", (GLADapiproc) glad_glCreateQueries, 3, target, n, ids); + +} +PFNGLCREATEQUERIESPROC glad_debug_glCreateQueries = glad_debug_impl_glCreateQueries; +PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateRenderbuffers(GLsizei n, GLuint * renderbuffers) { + _pre_call_gl_callback("glCreateRenderbuffers", (GLADapiproc) glad_glCreateRenderbuffers, 2, n, renderbuffers); + glad_glCreateRenderbuffers(n, renderbuffers); + _post_call_gl_callback(NULL, "glCreateRenderbuffers", (GLADapiproc) glad_glCreateRenderbuffers, 2, n, renderbuffers); + +} +PFNGLCREATERENDERBUFFERSPROC glad_debug_glCreateRenderbuffers = glad_debug_impl_glCreateRenderbuffers; +PFNGLCREATESAMPLERSPROC glad_glCreateSamplers = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateSamplers(GLsizei n, GLuint * samplers) { + _pre_call_gl_callback("glCreateSamplers", (GLADapiproc) glad_glCreateSamplers, 2, n, samplers); + glad_glCreateSamplers(n, samplers); + _post_call_gl_callback(NULL, "glCreateSamplers", (GLADapiproc) glad_glCreateSamplers, 2, n, samplers); + +} +PFNGLCREATESAMPLERSPROC glad_debug_glCreateSamplers = glad_debug_impl_glCreateSamplers; +PFNGLCREATESHADERPROC glad_glCreateShader = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glCreateShader(GLenum type) { + GLuint ret; + _pre_call_gl_callback("glCreateShader", (GLADapiproc) glad_glCreateShader, 1, type); + ret = glad_glCreateShader(type); + _post_call_gl_callback((void*) &ret, "glCreateShader", (GLADapiproc) glad_glCreateShader, 1, type); + return ret; +} +PFNGLCREATESHADERPROC glad_debug_glCreateShader = glad_debug_impl_glCreateShader; +PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB = NULL; +static GLhandleARB GLAD_API_PTR glad_debug_impl_glCreateShaderObjectARB(GLenum shaderType) { + GLhandleARB ret; + _pre_call_gl_callback("glCreateShaderObjectARB", (GLADapiproc) glad_glCreateShaderObjectARB, 1, shaderType); + ret = glad_glCreateShaderObjectARB(shaderType); + _post_call_gl_callback((void*) &ret, "glCreateShaderObjectARB", (GLADapiproc) glad_glCreateShaderObjectARB, 1, shaderType); + return ret; +} +PFNGLCREATESHADEROBJECTARBPROC glad_debug_glCreateShaderObjectARB = glad_debug_impl_glCreateShaderObjectARB; +PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings) { + GLuint ret; + _pre_call_gl_callback("glCreateShaderProgramv", (GLADapiproc) glad_glCreateShaderProgramv, 3, type, count, strings); + ret = glad_glCreateShaderProgramv(type, count, strings); + _post_call_gl_callback((void*) &ret, "glCreateShaderProgramv", (GLADapiproc) glad_glCreateShaderProgramv, 3, type, count, strings); + return ret; +} +PFNGLCREATESHADERPROGRAMVPROC glad_debug_glCreateShaderProgramv = glad_debug_impl_glCreateShaderProgramv; +PFNGLCREATETEXTURESPROC glad_glCreateTextures = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateTextures(GLenum target, GLsizei n, GLuint * textures) { + _pre_call_gl_callback("glCreateTextures", (GLADapiproc) glad_glCreateTextures, 3, target, n, textures); + glad_glCreateTextures(target, n, textures); + _post_call_gl_callback(NULL, "glCreateTextures", (GLADapiproc) glad_glCreateTextures, 3, target, n, textures); + +} +PFNGLCREATETEXTURESPROC glad_debug_glCreateTextures = glad_debug_impl_glCreateTextures; +PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateTransformFeedbacks(GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glCreateTransformFeedbacks", (GLADapiproc) glad_glCreateTransformFeedbacks, 2, n, ids); + glad_glCreateTransformFeedbacks(n, ids); + _post_call_gl_callback(NULL, "glCreateTransformFeedbacks", (GLADapiproc) glad_glCreateTransformFeedbacks, 2, n, ids); + +} +PFNGLCREATETRANSFORMFEEDBACKSPROC glad_debug_glCreateTransformFeedbacks = glad_debug_impl_glCreateTransformFeedbacks; +PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays = NULL; +static void GLAD_API_PTR glad_debug_impl_glCreateVertexArrays(GLsizei n, GLuint * arrays) { + _pre_call_gl_callback("glCreateVertexArrays", (GLADapiproc) glad_glCreateVertexArrays, 2, n, arrays); + glad_glCreateVertexArrays(n, arrays); + _post_call_gl_callback(NULL, "glCreateVertexArrays", (GLADapiproc) glad_glCreateVertexArrays, 2, n, arrays); + +} +PFNGLCREATEVERTEXARRAYSPROC glad_debug_glCreateVertexArrays = glad_debug_impl_glCreateVertexArrays; +PFNGLCULLFACEPROC glad_glCullFace = NULL; +static void GLAD_API_PTR glad_debug_impl_glCullFace(GLenum mode) { + _pre_call_gl_callback("glCullFace", (GLADapiproc) glad_glCullFace, 1, mode); + glad_glCullFace(mode); + _post_call_gl_callback(NULL, "glCullFace", (GLADapiproc) glad_glCullFace, 1, mode); + +} +PFNGLCULLFACEPROC glad_debug_glCullFace = glad_debug_impl_glCullFace; +PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageCallback(GLDEBUGPROC callback, const void * userParam) { + _pre_call_gl_callback("glDebugMessageCallback", (GLADapiproc) glad_glDebugMessageCallback, 2, callback, userParam); + glad_glDebugMessageCallback(callback, userParam); + _post_call_gl_callback(NULL, "glDebugMessageCallback", (GLADapiproc) glad_glDebugMessageCallback, 2, callback, userParam); + +} +PFNGLDEBUGMESSAGECALLBACKPROC glad_debug_glDebugMessageCallback = glad_debug_impl_glDebugMessageCallback; +PFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const void * userParam) { + _pre_call_gl_callback("glDebugMessageCallbackARB", (GLADapiproc) glad_glDebugMessageCallbackARB, 2, callback, userParam); + glad_glDebugMessageCallbackARB(callback, userParam); + _post_call_gl_callback(NULL, "glDebugMessageCallbackARB", (GLADapiproc) glad_glDebugMessageCallbackARB, 2, callback, userParam); + +} +PFNGLDEBUGMESSAGECALLBACKARBPROC glad_debug_glDebugMessageCallbackARB = glad_debug_impl_glDebugMessageCallbackARB; +PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) { + _pre_call_gl_callback("glDebugMessageControl", (GLADapiproc) glad_glDebugMessageControl, 6, source, type, severity, count, ids, enabled); + glad_glDebugMessageControl(source, type, severity, count, ids, enabled); + _post_call_gl_callback(NULL, "glDebugMessageControl", (GLADapiproc) glad_glDebugMessageControl, 6, source, type, severity, count, ids, enabled); + +} +PFNGLDEBUGMESSAGECONTROLPROC glad_debug_glDebugMessageControl = glad_debug_impl_glDebugMessageControl; +PFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) { + _pre_call_gl_callback("glDebugMessageControlARB", (GLADapiproc) glad_glDebugMessageControlARB, 6, source, type, severity, count, ids, enabled); + glad_glDebugMessageControlARB(source, type, severity, count, ids, enabled); + _post_call_gl_callback(NULL, "glDebugMessageControlARB", (GLADapiproc) glad_glDebugMessageControlARB, 6, source, type, severity, count, ids, enabled); + +} +PFNGLDEBUGMESSAGECONTROLARBPROC glad_debug_glDebugMessageControlARB = glad_debug_impl_glDebugMessageControlARB; +PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) { + _pre_call_gl_callback("glDebugMessageInsert", (GLADapiproc) glad_glDebugMessageInsert, 6, source, type, id, severity, length, buf); + glad_glDebugMessageInsert(source, type, id, severity, length, buf); + _post_call_gl_callback(NULL, "glDebugMessageInsert", (GLADapiproc) glad_glDebugMessageInsert, 6, source, type, id, severity, length, buf); + +} +PFNGLDEBUGMESSAGEINSERTPROC glad_debug_glDebugMessageInsert = glad_debug_impl_glDebugMessageInsert; +PFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) { + _pre_call_gl_callback("glDebugMessageInsertARB", (GLADapiproc) glad_glDebugMessageInsertARB, 6, source, type, id, severity, length, buf); + glad_glDebugMessageInsertARB(source, type, id, severity, length, buf); + _post_call_gl_callback(NULL, "glDebugMessageInsertARB", (GLADapiproc) glad_glDebugMessageInsertARB, 6, source, type, id, severity, length, buf); + +} +PFNGLDEBUGMESSAGEINSERTARBPROC glad_debug_glDebugMessageInsertARB = glad_debug_impl_glDebugMessageInsertARB; +PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteBuffers(GLsizei n, const GLuint * buffers) { + _pre_call_gl_callback("glDeleteBuffers", (GLADapiproc) glad_glDeleteBuffers, 2, n, buffers); + glad_glDeleteBuffers(n, buffers); + _post_call_gl_callback(NULL, "glDeleteBuffers", (GLADapiproc) glad_glDeleteBuffers, 2, n, buffers); + +} +PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers = glad_debug_impl_glDeleteBuffers; +PFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteBuffersARB(GLsizei n, const GLuint * buffers) { + _pre_call_gl_callback("glDeleteBuffersARB", (GLADapiproc) glad_glDeleteBuffersARB, 2, n, buffers); + glad_glDeleteBuffersARB(n, buffers); + _post_call_gl_callback(NULL, "glDeleteBuffersARB", (GLADapiproc) glad_glDeleteBuffersARB, 2, n, buffers); + +} +PFNGLDELETEBUFFERSARBPROC glad_debug_glDeleteBuffersARB = glad_debug_impl_glDeleteBuffersARB; +PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteFramebuffers(GLsizei n, const GLuint * framebuffers) { + _pre_call_gl_callback("glDeleteFramebuffers", (GLADapiproc) glad_glDeleteFramebuffers, 2, n, framebuffers); + glad_glDeleteFramebuffers(n, framebuffers); + _post_call_gl_callback(NULL, "glDeleteFramebuffers", (GLADapiproc) glad_glDeleteFramebuffers, 2, n, framebuffers); + +} +PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers = glad_debug_impl_glDeleteFramebuffers; +PFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers) { + _pre_call_gl_callback("glDeleteFramebuffersEXT", (GLADapiproc) glad_glDeleteFramebuffersEXT, 2, n, framebuffers); + glad_glDeleteFramebuffersEXT(n, framebuffers); + _post_call_gl_callback(NULL, "glDeleteFramebuffersEXT", (GLADapiproc) glad_glDeleteFramebuffersEXT, 2, n, framebuffers); + +} +PFNGLDELETEFRAMEBUFFERSEXTPROC glad_debug_glDeleteFramebuffersEXT = glad_debug_impl_glDeleteFramebuffersEXT; +PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteObjectARB(GLhandleARB obj) { + _pre_call_gl_callback("glDeleteObjectARB", (GLADapiproc) glad_glDeleteObjectARB, 1, obj); + glad_glDeleteObjectARB(obj); + _post_call_gl_callback(NULL, "glDeleteObjectARB", (GLADapiproc) glad_glDeleteObjectARB, 1, obj); + +} +PFNGLDELETEOBJECTARBPROC glad_debug_glDeleteObjectARB = glad_debug_impl_glDeleteObjectARB; +PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteProgram(GLuint program) { + _pre_call_gl_callback("glDeleteProgram", (GLADapiproc) glad_glDeleteProgram, 1, program); + glad_glDeleteProgram(program); + _post_call_gl_callback(NULL, "glDeleteProgram", (GLADapiproc) glad_glDeleteProgram, 1, program); + +} +PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram = glad_debug_impl_glDeleteProgram; +PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines) { + _pre_call_gl_callback("glDeleteProgramPipelines", (GLADapiproc) glad_glDeleteProgramPipelines, 2, n, pipelines); + glad_glDeleteProgramPipelines(n, pipelines); + _post_call_gl_callback(NULL, "glDeleteProgramPipelines", (GLADapiproc) glad_glDeleteProgramPipelines, 2, n, pipelines); + +} +PFNGLDELETEPROGRAMPIPELINESPROC glad_debug_glDeleteProgramPipelines = glad_debug_impl_glDeleteProgramPipelines; +PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteProgramsARB(GLsizei n, const GLuint * programs) { + _pre_call_gl_callback("glDeleteProgramsARB", (GLADapiproc) glad_glDeleteProgramsARB, 2, n, programs); + glad_glDeleteProgramsARB(n, programs); + _post_call_gl_callback(NULL, "glDeleteProgramsARB", (GLADapiproc) glad_glDeleteProgramsARB, 2, n, programs); + +} +PFNGLDELETEPROGRAMSARBPROC glad_debug_glDeleteProgramsARB = glad_debug_impl_glDeleteProgramsARB; +PFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteProgramsNV(GLsizei n, const GLuint * programs) { + _pre_call_gl_callback("glDeleteProgramsNV", (GLADapiproc) glad_glDeleteProgramsNV, 2, n, programs); + glad_glDeleteProgramsNV(n, programs); + _post_call_gl_callback(NULL, "glDeleteProgramsNV", (GLADapiproc) glad_glDeleteProgramsNV, 2, n, programs); + +} +PFNGLDELETEPROGRAMSNVPROC glad_debug_glDeleteProgramsNV = glad_debug_impl_glDeleteProgramsNV; +PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteQueries(GLsizei n, const GLuint * ids) { + _pre_call_gl_callback("glDeleteQueries", (GLADapiproc) glad_glDeleteQueries, 2, n, ids); + glad_glDeleteQueries(n, ids); + _post_call_gl_callback(NULL, "glDeleteQueries", (GLADapiproc) glad_glDeleteQueries, 2, n, ids); + +} +PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries = glad_debug_impl_glDeleteQueries; +PFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteQueriesARB(GLsizei n, const GLuint * ids) { + _pre_call_gl_callback("glDeleteQueriesARB", (GLADapiproc) glad_glDeleteQueriesARB, 2, n, ids); + glad_glDeleteQueriesARB(n, ids); + _post_call_gl_callback(NULL, "glDeleteQueriesARB", (GLADapiproc) glad_glDeleteQueriesARB, 2, n, ids); + +} +PFNGLDELETEQUERIESARBPROC glad_debug_glDeleteQueriesARB = glad_debug_impl_glDeleteQueriesARB; +PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteRenderbuffers(GLsizei n, const GLuint * renderbuffers) { + _pre_call_gl_callback("glDeleteRenderbuffers", (GLADapiproc) glad_glDeleteRenderbuffers, 2, n, renderbuffers); + glad_glDeleteRenderbuffers(n, renderbuffers); + _post_call_gl_callback(NULL, "glDeleteRenderbuffers", (GLADapiproc) glad_glDeleteRenderbuffers, 2, n, renderbuffers); + +} +PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers = glad_debug_impl_glDeleteRenderbuffers; +PFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers) { + _pre_call_gl_callback("glDeleteRenderbuffersEXT", (GLADapiproc) glad_glDeleteRenderbuffersEXT, 2, n, renderbuffers); + glad_glDeleteRenderbuffersEXT(n, renderbuffers); + _post_call_gl_callback(NULL, "glDeleteRenderbuffersEXT", (GLADapiproc) glad_glDeleteRenderbuffersEXT, 2, n, renderbuffers); + +} +PFNGLDELETERENDERBUFFERSEXTPROC glad_debug_glDeleteRenderbuffersEXT = glad_debug_impl_glDeleteRenderbuffersEXT; +PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteSamplers(GLsizei count, const GLuint * samplers) { + _pre_call_gl_callback("glDeleteSamplers", (GLADapiproc) glad_glDeleteSamplers, 2, count, samplers); + glad_glDeleteSamplers(count, samplers); + _post_call_gl_callback(NULL, "glDeleteSamplers", (GLADapiproc) glad_glDeleteSamplers, 2, count, samplers); + +} +PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers = glad_debug_impl_glDeleteSamplers; +PFNGLDELETESHADERPROC glad_glDeleteShader = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteShader(GLuint shader) { + _pre_call_gl_callback("glDeleteShader", (GLADapiproc) glad_glDeleteShader, 1, shader); + glad_glDeleteShader(shader); + _post_call_gl_callback(NULL, "glDeleteShader", (GLADapiproc) glad_glDeleteShader, 1, shader); + +} +PFNGLDELETESHADERPROC glad_debug_glDeleteShader = glad_debug_impl_glDeleteShader; +PFNGLDELETESYNCPROC glad_glDeleteSync = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteSync(GLsync sync) { + _pre_call_gl_callback("glDeleteSync", (GLADapiproc) glad_glDeleteSync, 1, sync); + glad_glDeleteSync(sync); + _post_call_gl_callback(NULL, "glDeleteSync", (GLADapiproc) glad_glDeleteSync, 1, sync); + +} +PFNGLDELETESYNCPROC glad_debug_glDeleteSync = glad_debug_impl_glDeleteSync; +PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteTextures(GLsizei n, const GLuint * textures) { + _pre_call_gl_callback("glDeleteTextures", (GLADapiproc) glad_glDeleteTextures, 2, n, textures); + glad_glDeleteTextures(n, textures); + _post_call_gl_callback(NULL, "glDeleteTextures", (GLADapiproc) glad_glDeleteTextures, 2, n, textures); + +} +PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures = glad_debug_impl_glDeleteTextures; +PFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteTexturesEXT(GLsizei n, const GLuint * textures) { + _pre_call_gl_callback("glDeleteTexturesEXT", (GLADapiproc) glad_glDeleteTexturesEXT, 2, n, textures); + glad_glDeleteTexturesEXT(n, textures); + _post_call_gl_callback(NULL, "glDeleteTexturesEXT", (GLADapiproc) glad_glDeleteTexturesEXT, 2, n, textures); + +} +PFNGLDELETETEXTURESEXTPROC glad_debug_glDeleteTexturesEXT = glad_debug_impl_glDeleteTexturesEXT; +PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteTransformFeedbacks(GLsizei n, const GLuint * ids) { + _pre_call_gl_callback("glDeleteTransformFeedbacks", (GLADapiproc) glad_glDeleteTransformFeedbacks, 2, n, ids); + glad_glDeleteTransformFeedbacks(n, ids); + _post_call_gl_callback(NULL, "glDeleteTransformFeedbacks", (GLADapiproc) glad_glDeleteTransformFeedbacks, 2, n, ids); + +} +PFNGLDELETETRANSFORMFEEDBACKSPROC glad_debug_glDeleteTransformFeedbacks = glad_debug_impl_glDeleteTransformFeedbacks; +PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteTransformFeedbacksNV(GLsizei n, const GLuint * ids) { + _pre_call_gl_callback("glDeleteTransformFeedbacksNV", (GLADapiproc) glad_glDeleteTransformFeedbacksNV, 2, n, ids); + glad_glDeleteTransformFeedbacksNV(n, ids); + _post_call_gl_callback(NULL, "glDeleteTransformFeedbacksNV", (GLADapiproc) glad_glDeleteTransformFeedbacksNV, 2, n, ids); + +} +PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_debug_glDeleteTransformFeedbacksNV = glad_debug_impl_glDeleteTransformFeedbacksNV; +PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteVertexArrays(GLsizei n, const GLuint * arrays) { + _pre_call_gl_callback("glDeleteVertexArrays", (GLADapiproc) glad_glDeleteVertexArrays, 2, n, arrays); + glad_glDeleteVertexArrays(n, arrays); + _post_call_gl_callback(NULL, "glDeleteVertexArrays", (GLADapiproc) glad_glDeleteVertexArrays, 2, n, arrays); + +} +PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays = glad_debug_impl_glDeleteVertexArrays; +PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE = NULL; +static void GLAD_API_PTR glad_debug_impl_glDeleteVertexArraysAPPLE(GLsizei n, const GLuint * arrays) { + _pre_call_gl_callback("glDeleteVertexArraysAPPLE", (GLADapiproc) glad_glDeleteVertexArraysAPPLE, 2, n, arrays); + glad_glDeleteVertexArraysAPPLE(n, arrays); + _post_call_gl_callback(NULL, "glDeleteVertexArraysAPPLE", (GLADapiproc) glad_glDeleteVertexArraysAPPLE, 2, n, arrays); + +} +PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_debug_glDeleteVertexArraysAPPLE = glad_debug_impl_glDeleteVertexArraysAPPLE; +PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthFunc(GLenum func) { + _pre_call_gl_callback("glDepthFunc", (GLADapiproc) glad_glDepthFunc, 1, func); + glad_glDepthFunc(func); + _post_call_gl_callback(NULL, "glDepthFunc", (GLADapiproc) glad_glDepthFunc, 1, func); + +} +PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc = glad_debug_impl_glDepthFunc; +PFNGLDEPTHMASKPROC glad_glDepthMask = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthMask(GLboolean flag) { + _pre_call_gl_callback("glDepthMask", (GLADapiproc) glad_glDepthMask, 1, flag); + glad_glDepthMask(flag); + _post_call_gl_callback(NULL, "glDepthMask", (GLADapiproc) glad_glDepthMask, 1, flag); + +} +PFNGLDEPTHMASKPROC glad_debug_glDepthMask = glad_debug_impl_glDepthMask; +PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRange(GLdouble n, GLdouble f) { + _pre_call_gl_callback("glDepthRange", (GLADapiproc) glad_glDepthRange, 2, n, f); + glad_glDepthRange(n, f); + _post_call_gl_callback(NULL, "glDepthRange", (GLADapiproc) glad_glDepthRange, 2, n, f); + +} +PFNGLDEPTHRANGEPROC glad_debug_glDepthRange = glad_debug_impl_glDepthRange; +PFNGLDEPTHRANGEARRAYDVNVPROC glad_glDepthRangeArraydvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangeArraydvNV(GLuint first, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glDepthRangeArraydvNV", (GLADapiproc) glad_glDepthRangeArraydvNV, 3, first, count, v); + glad_glDepthRangeArraydvNV(first, count, v); + _post_call_gl_callback(NULL, "glDepthRangeArraydvNV", (GLADapiproc) glad_glDepthRangeArraydvNV, 3, first, count, v); + +} +PFNGLDEPTHRANGEARRAYDVNVPROC glad_debug_glDepthRangeArraydvNV = glad_debug_impl_glDepthRangeArraydvNV; +PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glDepthRangeArrayv", (GLADapiproc) glad_glDepthRangeArrayv, 3, first, count, v); + glad_glDepthRangeArrayv(first, count, v); + _post_call_gl_callback(NULL, "glDepthRangeArrayv", (GLADapiproc) glad_glDepthRangeArrayv, 3, first, count, v); + +} +PFNGLDEPTHRANGEARRAYVPROC glad_debug_glDepthRangeArrayv = glad_debug_impl_glDepthRangeArrayv; +PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { + _pre_call_gl_callback("glDepthRangeIndexed", (GLADapiproc) glad_glDepthRangeIndexed, 3, index, n, f); + glad_glDepthRangeIndexed(index, n, f); + _post_call_gl_callback(NULL, "glDepthRangeIndexed", (GLADapiproc) glad_glDepthRangeIndexed, 3, index, n, f); + +} +PFNGLDEPTHRANGEINDEXEDPROC glad_debug_glDepthRangeIndexed = glad_debug_impl_glDepthRangeIndexed; +PFNGLDEPTHRANGEINDEXEDDNVPROC glad_glDepthRangeIndexeddNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangeIndexeddNV(GLuint index, GLdouble n, GLdouble f) { + _pre_call_gl_callback("glDepthRangeIndexeddNV", (GLADapiproc) glad_glDepthRangeIndexeddNV, 3, index, n, f); + glad_glDepthRangeIndexeddNV(index, n, f); + _post_call_gl_callback(NULL, "glDepthRangeIndexeddNV", (GLADapiproc) glad_glDepthRangeIndexeddNV, 3, index, n, f); + +} +PFNGLDEPTHRANGEINDEXEDDNVPROC glad_debug_glDepthRangeIndexeddNV = glad_debug_impl_glDepthRangeIndexeddNV; +PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangef(GLfloat n, GLfloat f) { + _pre_call_gl_callback("glDepthRangef", (GLADapiproc) glad_glDepthRangef, 2, n, f); + glad_glDepthRangef(n, f); + _post_call_gl_callback(NULL, "glDepthRangef", (GLADapiproc) glad_glDepthRangef, 2, n, f); + +} +PFNGLDEPTHRANGEFPROC glad_debug_glDepthRangef = glad_debug_impl_glDepthRangef; +PFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glDepthRangefOES(GLclampf n, GLclampf f) { + _pre_call_gl_callback("glDepthRangefOES", (GLADapiproc) glad_glDepthRangefOES, 2, n, f); + glad_glDepthRangefOES(n, f); + _post_call_gl_callback(NULL, "glDepthRangefOES", (GLADapiproc) glad_glDepthRangefOES, 2, n, f); + +} +PFNGLDEPTHRANGEFOESPROC glad_debug_glDepthRangefOES = glad_debug_impl_glDepthRangefOES; +PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj) { + _pre_call_gl_callback("glDetachObjectARB", (GLADapiproc) glad_glDetachObjectARB, 2, containerObj, attachedObj); + glad_glDetachObjectARB(containerObj, attachedObj); + _post_call_gl_callback(NULL, "glDetachObjectARB", (GLADapiproc) glad_glDetachObjectARB, 2, containerObj, attachedObj); + +} +PFNGLDETACHOBJECTARBPROC glad_debug_glDetachObjectARB = glad_debug_impl_glDetachObjectARB; +PFNGLDETACHSHADERPROC glad_glDetachShader = NULL; +static void GLAD_API_PTR glad_debug_impl_glDetachShader(GLuint program, GLuint shader) { + _pre_call_gl_callback("glDetachShader", (GLADapiproc) glad_glDetachShader, 2, program, shader); + glad_glDetachShader(program, shader); + _post_call_gl_callback(NULL, "glDetachShader", (GLADapiproc) glad_glDetachShader, 2, program, shader); + +} +PFNGLDETACHSHADERPROC glad_debug_glDetachShader = glad_debug_impl_glDetachShader; +PFNGLDISABLEPROC glad_glDisable = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisable(GLenum cap) { + _pre_call_gl_callback("glDisable", (GLADapiproc) glad_glDisable, 1, cap); + glad_glDisable(cap); + _post_call_gl_callback(NULL, "glDisable", (GLADapiproc) glad_glDisable, 1, cap); + +} +PFNGLDISABLEPROC glad_debug_glDisable = glad_debug_impl_glDisable; +PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableClientStateIndexedEXT(GLenum array, GLuint index) { + _pre_call_gl_callback("glDisableClientStateIndexedEXT", (GLADapiproc) glad_glDisableClientStateIndexedEXT, 2, array, index); + glad_glDisableClientStateIndexedEXT(array, index); + _post_call_gl_callback(NULL, "glDisableClientStateIndexedEXT", (GLADapiproc) glad_glDisableClientStateIndexedEXT, 2, array, index); + +} +PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_debug_glDisableClientStateIndexedEXT = glad_debug_impl_glDisableClientStateIndexedEXT; +PFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableClientStateiEXT(GLenum array, GLuint index) { + _pre_call_gl_callback("glDisableClientStateiEXT", (GLADapiproc) glad_glDisableClientStateiEXT, 2, array, index); + glad_glDisableClientStateiEXT(array, index); + _post_call_gl_callback(NULL, "glDisableClientStateiEXT", (GLADapiproc) glad_glDisableClientStateiEXT, 2, array, index); + +} +PFNGLDISABLECLIENTSTATEIEXTPROC glad_debug_glDisableClientStateiEXT = glad_debug_impl_glDisableClientStateiEXT; +PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableIndexedEXT(GLenum target, GLuint index) { + _pre_call_gl_callback("glDisableIndexedEXT", (GLADapiproc) glad_glDisableIndexedEXT, 2, target, index); + glad_glDisableIndexedEXT(target, index); + _post_call_gl_callback(NULL, "glDisableIndexedEXT", (GLADapiproc) glad_glDisableIndexedEXT, 2, target, index); + +} +PFNGLDISABLEINDEXEDEXTPROC glad_debug_glDisableIndexedEXT = glad_debug_impl_glDisableIndexedEXT; +PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableVertexArrayAttrib(GLuint vaobj, GLuint index) { + _pre_call_gl_callback("glDisableVertexArrayAttrib", (GLADapiproc) glad_glDisableVertexArrayAttrib, 2, vaobj, index); + glad_glDisableVertexArrayAttrib(vaobj, index); + _post_call_gl_callback(NULL, "glDisableVertexArrayAttrib", (GLADapiproc) glad_glDisableVertexArrayAttrib, 2, vaobj, index); + +} +PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_debug_glDisableVertexArrayAttrib = glad_debug_impl_glDisableVertexArrayAttrib; +PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableVertexArrayAttribEXT(GLuint vaobj, GLuint index) { + _pre_call_gl_callback("glDisableVertexArrayAttribEXT", (GLADapiproc) glad_glDisableVertexArrayAttribEXT, 2, vaobj, index); + glad_glDisableVertexArrayAttribEXT(vaobj, index); + _post_call_gl_callback(NULL, "glDisableVertexArrayAttribEXT", (GLADapiproc) glad_glDisableVertexArrayAttribEXT, 2, vaobj, index); + +} +PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_debug_glDisableVertexArrayAttribEXT = glad_debug_impl_glDisableVertexArrayAttribEXT; +PFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableVertexArrayEXT(GLuint vaobj, GLenum array) { + _pre_call_gl_callback("glDisableVertexArrayEXT", (GLADapiproc) glad_glDisableVertexArrayEXT, 2, vaobj, array); + glad_glDisableVertexArrayEXT(vaobj, array); + _post_call_gl_callback(NULL, "glDisableVertexArrayEXT", (GLADapiproc) glad_glDisableVertexArrayEXT, 2, vaobj, array); + +} +PFNGLDISABLEVERTEXARRAYEXTPROC glad_debug_glDisableVertexArrayEXT = glad_debug_impl_glDisableVertexArrayEXT; +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableVertexAttribArray(GLuint index) { + _pre_call_gl_callback("glDisableVertexAttribArray", (GLADapiproc) glad_glDisableVertexAttribArray, 1, index); + glad_glDisableVertexAttribArray(index); + _post_call_gl_callback(NULL, "glDisableVertexAttribArray", (GLADapiproc) glad_glDisableVertexAttribArray, 1, index); + +} +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray = glad_debug_impl_glDisableVertexAttribArray; +PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisableVertexAttribArrayARB(GLuint index) { + _pre_call_gl_callback("glDisableVertexAttribArrayARB", (GLADapiproc) glad_glDisableVertexAttribArrayARB, 1, index); + glad_glDisableVertexAttribArrayARB(index); + _post_call_gl_callback(NULL, "glDisableVertexAttribArrayARB", (GLADapiproc) glad_glDisableVertexAttribArrayARB, 1, index); + +} +PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_debug_glDisableVertexAttribArrayARB = glad_debug_impl_glDisableVertexAttribArrayARB; +PFNGLDISABLEIPROC glad_glDisablei = NULL; +static void GLAD_API_PTR glad_debug_impl_glDisablei(GLenum target, GLuint index) { + _pre_call_gl_callback("glDisablei", (GLADapiproc) glad_glDisablei, 2, target, index); + glad_glDisablei(target, index); + _post_call_gl_callback(NULL, "glDisablei", (GLADapiproc) glad_glDisablei, 2, target, index); + +} +PFNGLDISABLEIPROC glad_debug_glDisablei = glad_debug_impl_glDisablei; +PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL; +static void GLAD_API_PTR glad_debug_impl_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { + _pre_call_gl_callback("glDispatchCompute", (GLADapiproc) glad_glDispatchCompute, 3, num_groups_x, num_groups_y, num_groups_z); + glad_glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); + _post_call_gl_callback(NULL, "glDispatchCompute", (GLADapiproc) glad_glDispatchCompute, 3, num_groups_x, num_groups_y, num_groups_z); + +} +PFNGLDISPATCHCOMPUTEPROC glad_debug_glDispatchCompute = glad_debug_impl_glDispatchCompute; +PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_glDispatchComputeIndirect(GLintptr indirect) { + _pre_call_gl_callback("glDispatchComputeIndirect", (GLADapiproc) glad_glDispatchComputeIndirect, 1, indirect); + glad_glDispatchComputeIndirect(indirect); + _post_call_gl_callback(NULL, "glDispatchComputeIndirect", (GLADapiproc) glad_glDispatchComputeIndirect, 1, indirect); + +} +PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_debug_glDispatchComputeIndirect = glad_debug_impl_glDispatchComputeIndirect; +PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArrays(GLenum mode, GLint first, GLsizei count) { + _pre_call_gl_callback("glDrawArrays", (GLADapiproc) glad_glDrawArrays, 3, mode, first, count); + glad_glDrawArrays(mode, first, count); + _post_call_gl_callback(NULL, "glDrawArrays", (GLADapiproc) glad_glDrawArrays, 3, mode, first, count); + +} +PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays = glad_debug_impl_glDrawArrays; +PFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysEXT(GLenum mode, GLint first, GLsizei count) { + _pre_call_gl_callback("glDrawArraysEXT", (GLADapiproc) glad_glDrawArraysEXT, 3, mode, first, count); + glad_glDrawArraysEXT(mode, first, count); + _post_call_gl_callback(NULL, "glDrawArraysEXT", (GLADapiproc) glad_glDrawArraysEXT, 3, mode, first, count); + +} +PFNGLDRAWARRAYSEXTPROC glad_debug_glDrawArraysEXT = glad_debug_impl_glDrawArraysEXT; +PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysIndirect(GLenum mode, const void * indirect) { + _pre_call_gl_callback("glDrawArraysIndirect", (GLADapiproc) glad_glDrawArraysIndirect, 2, mode, indirect); + glad_glDrawArraysIndirect(mode, indirect); + _post_call_gl_callback(NULL, "glDrawArraysIndirect", (GLADapiproc) glad_glDrawArraysIndirect, 2, mode, indirect); + +} +PFNGLDRAWARRAYSINDIRECTPROC glad_debug_glDrawArraysIndirect = glad_debug_impl_glDrawArraysIndirect; +PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { + _pre_call_gl_callback("glDrawArraysInstanced", (GLADapiproc) glad_glDrawArraysInstanced, 4, mode, first, count, instancecount); + glad_glDrawArraysInstanced(mode, first, count, instancecount); + _post_call_gl_callback(NULL, "glDrawArraysInstanced", (GLADapiproc) glad_glDrawArraysInstanced, 4, mode, first, count, instancecount); + +} +PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced = glad_debug_impl_glDrawArraysInstanced; +PFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { + _pre_call_gl_callback("glDrawArraysInstancedARB", (GLADapiproc) glad_glDrawArraysInstancedARB, 4, mode, first, count, primcount); + glad_glDrawArraysInstancedARB(mode, first, count, primcount); + _post_call_gl_callback(NULL, "glDrawArraysInstancedARB", (GLADapiproc) glad_glDrawArraysInstancedARB, 4, mode, first, count, primcount); + +} +PFNGLDRAWARRAYSINSTANCEDARBPROC glad_debug_glDrawArraysInstancedARB = glad_debug_impl_glDrawArraysInstancedARB; +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { + _pre_call_gl_callback("glDrawArraysInstancedBaseInstance", (GLADapiproc) glad_glDrawArraysInstancedBaseInstance, 5, mode, first, count, instancecount, baseinstance); + glad_glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + _post_call_gl_callback(NULL, "glDrawArraysInstancedBaseInstance", (GLADapiproc) glad_glDrawArraysInstancedBaseInstance, 5, mode, first, count, instancecount, baseinstance); + +} +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawArraysInstancedBaseInstance = glad_debug_impl_glDrawArraysInstancedBaseInstance; +PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { + _pre_call_gl_callback("glDrawArraysInstancedEXT", (GLADapiproc) glad_glDrawArraysInstancedEXT, 4, mode, start, count, primcount); + glad_glDrawArraysInstancedEXT(mode, start, count, primcount); + _post_call_gl_callback(NULL, "glDrawArraysInstancedEXT", (GLADapiproc) glad_glDrawArraysInstancedEXT, 4, mode, start, count, primcount); + +} +PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_debug_glDrawArraysInstancedEXT = glad_debug_impl_glDrawArraysInstancedEXT; +PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawBuffer(GLenum buf) { + _pre_call_gl_callback("glDrawBuffer", (GLADapiproc) glad_glDrawBuffer, 1, buf); + glad_glDrawBuffer(buf); + _post_call_gl_callback(NULL, "glDrawBuffer", (GLADapiproc) glad_glDrawBuffer, 1, buf); + +} +PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer = glad_debug_impl_glDrawBuffer; +PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawBuffers(GLsizei n, const GLenum * bufs) { + _pre_call_gl_callback("glDrawBuffers", (GLADapiproc) glad_glDrawBuffers, 2, n, bufs); + glad_glDrawBuffers(n, bufs); + _post_call_gl_callback(NULL, "glDrawBuffers", (GLADapiproc) glad_glDrawBuffers, 2, n, bufs); + +} +PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers = glad_debug_impl_glDrawBuffers; +PFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawBuffersARB(GLsizei n, const GLenum * bufs) { + _pre_call_gl_callback("glDrawBuffersARB", (GLADapiproc) glad_glDrawBuffersARB, 2, n, bufs); + glad_glDrawBuffersARB(n, bufs); + _post_call_gl_callback(NULL, "glDrawBuffersARB", (GLADapiproc) glad_glDrawBuffersARB, 2, n, bufs); + +} +PFNGLDRAWBUFFERSARBPROC glad_debug_glDrawBuffersARB = glad_debug_impl_glDrawBuffersARB; +PFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawBuffersATI(GLsizei n, const GLenum * bufs) { + _pre_call_gl_callback("glDrawBuffersATI", (GLADapiproc) glad_glDrawBuffersATI, 2, n, bufs); + glad_glDrawBuffersATI(n, bufs); + _post_call_gl_callback(NULL, "glDrawBuffersATI", (GLADapiproc) glad_glDrawBuffersATI, 2, n, bufs); + +} +PFNGLDRAWBUFFERSATIPROC glad_debug_glDrawBuffersATI = glad_debug_impl_glDrawBuffersATI; +PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElements(GLenum mode, GLsizei count, GLenum type, const void * indices) { + _pre_call_gl_callback("glDrawElements", (GLADapiproc) glad_glDrawElements, 4, mode, count, type, indices); + glad_glDrawElements(mode, count, type, indices); + _post_call_gl_callback(NULL, "glDrawElements", (GLADapiproc) glad_glDrawElements, 4, mode, count, type, indices); + +} +PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements = glad_debug_impl_glDrawElements; +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex) { + _pre_call_gl_callback("glDrawElementsBaseVertex", (GLADapiproc) glad_glDrawElementsBaseVertex, 5, mode, count, type, indices, basevertex); + glad_glDrawElementsBaseVertex(mode, count, type, indices, basevertex); + _post_call_gl_callback(NULL, "glDrawElementsBaseVertex", (GLADapiproc) glad_glDrawElementsBaseVertex, 5, mode, count, type, indices, basevertex); + +} +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex = glad_debug_impl_glDrawElementsBaseVertex; +PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) { + _pre_call_gl_callback("glDrawElementsIndirect", (GLADapiproc) glad_glDrawElementsIndirect, 3, mode, type, indirect); + glad_glDrawElementsIndirect(mode, type, indirect); + _post_call_gl_callback(NULL, "glDrawElementsIndirect", (GLADapiproc) glad_glDrawElementsIndirect, 3, mode, type, indirect); + +} +PFNGLDRAWELEMENTSINDIRECTPROC glad_debug_glDrawElementsIndirect = glad_debug_impl_glDrawElementsIndirect; +PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount) { + _pre_call_gl_callback("glDrawElementsInstanced", (GLADapiproc) glad_glDrawElementsInstanced, 5, mode, count, type, indices, instancecount); + glad_glDrawElementsInstanced(mode, count, type, indices, instancecount); + _post_call_gl_callback(NULL, "glDrawElementsInstanced", (GLADapiproc) glad_glDrawElementsInstanced, 5, mode, count, type, indices, instancecount); + +} +PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced = glad_debug_impl_glDrawElementsInstanced; +PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { + _pre_call_gl_callback("glDrawElementsInstancedARB", (GLADapiproc) glad_glDrawElementsInstancedARB, 5, mode, count, type, indices, primcount); + glad_glDrawElementsInstancedARB(mode, count, type, indices, primcount); + _post_call_gl_callback(NULL, "glDrawElementsInstancedARB", (GLADapiproc) glad_glDrawElementsInstancedARB, 5, mode, count, type, indices, primcount); + +} +PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_debug_glDrawElementsInstancedARB = glad_debug_impl_glDrawElementsInstancedARB; +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance) { + _pre_call_gl_callback("glDrawElementsInstancedBaseInstance", (GLADapiproc) glad_glDrawElementsInstancedBaseInstance, 6, mode, count, type, indices, instancecount, baseinstance); + glad_glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + _post_call_gl_callback(NULL, "glDrawElementsInstancedBaseInstance", (GLADapiproc) glad_glDrawElementsInstancedBaseInstance, 6, mode, count, type, indices, instancecount, baseinstance); + +} +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseInstance = glad_debug_impl_glDrawElementsInstancedBaseInstance; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex) { + _pre_call_gl_callback("glDrawElementsInstancedBaseVertex", (GLADapiproc) glad_glDrawElementsInstancedBaseVertex, 6, mode, count, type, indices, instancecount, basevertex); + glad_glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + _post_call_gl_callback(NULL, "glDrawElementsInstancedBaseVertex", (GLADapiproc) glad_glDrawElementsInstancedBaseVertex, 6, mode, count, type, indices, instancecount, basevertex); + +} +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex = glad_debug_impl_glDrawElementsInstancedBaseVertex; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { + _pre_call_gl_callback("glDrawElementsInstancedBaseVertexBaseInstance", (GLADapiproc) glad_glDrawElementsInstancedBaseVertexBaseInstance, 7, mode, count, type, indices, instancecount, basevertex, baseinstance); + glad_glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + _post_call_gl_callback(NULL, "glDrawElementsInstancedBaseVertexBaseInstance", (GLADapiproc) glad_glDrawElementsInstancedBaseVertexBaseInstance, 7, mode, count, type, indices, instancecount, basevertex, baseinstance); + +} +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseVertexBaseInstance = glad_debug_impl_glDrawElementsInstancedBaseVertexBaseInstance; +PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) { + _pre_call_gl_callback("glDrawElementsInstancedEXT", (GLADapiproc) glad_glDrawElementsInstancedEXT, 5, mode, count, type, indices, primcount); + glad_glDrawElementsInstancedEXT(mode, count, type, indices, primcount); + _post_call_gl_callback(NULL, "glDrawElementsInstancedEXT", (GLADapiproc) glad_glDrawElementsInstancedEXT, 5, mode, count, type, indices, primcount); + +} +PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_debug_glDrawElementsInstancedEXT = glad_debug_impl_glDrawElementsInstancedEXT; +PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices) { + _pre_call_gl_callback("glDrawRangeElements", (GLADapiproc) glad_glDrawRangeElements, 6, mode, start, end, count, type, indices); + glad_glDrawRangeElements(mode, start, end, count, type, indices); + _post_call_gl_callback(NULL, "glDrawRangeElements", (GLADapiproc) glad_glDrawRangeElements, 6, mode, start, end, count, type, indices); + +} +PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements = glad_debug_impl_glDrawRangeElements; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex) { + _pre_call_gl_callback("glDrawRangeElementsBaseVertex", (GLADapiproc) glad_glDrawRangeElementsBaseVertex, 7, mode, start, end, count, type, indices, basevertex); + glad_glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + _post_call_gl_callback(NULL, "glDrawRangeElementsBaseVertex", (GLADapiproc) glad_glDrawRangeElementsBaseVertex, 7, mode, start, end, count, type, indices, basevertex); + +} +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex = glad_debug_impl_glDrawRangeElementsBaseVertex; +PFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices) { + _pre_call_gl_callback("glDrawRangeElementsEXT", (GLADapiproc) glad_glDrawRangeElementsEXT, 6, mode, start, end, count, type, indices); + glad_glDrawRangeElementsEXT(mode, start, end, count, type, indices); + _post_call_gl_callback(NULL, "glDrawRangeElementsEXT", (GLADapiproc) glad_glDrawRangeElementsEXT, 6, mode, start, end, count, type, indices); + +} +PFNGLDRAWRANGEELEMENTSEXTPROC glad_debug_glDrawRangeElementsEXT = glad_debug_impl_glDrawRangeElementsEXT; +PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawTransformFeedback(GLenum mode, GLuint id) { + _pre_call_gl_callback("glDrawTransformFeedback", (GLADapiproc) glad_glDrawTransformFeedback, 2, mode, id); + glad_glDrawTransformFeedback(mode, id); + _post_call_gl_callback(NULL, "glDrawTransformFeedback", (GLADapiproc) glad_glDrawTransformFeedback, 2, mode, id); + +} +PFNGLDRAWTRANSFORMFEEDBACKPROC glad_debug_glDrawTransformFeedback = glad_debug_impl_glDrawTransformFeedback; +PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { + _pre_call_gl_callback("glDrawTransformFeedbackInstanced", (GLADapiproc) glad_glDrawTransformFeedbackInstanced, 3, mode, id, instancecount); + glad_glDrawTransformFeedbackInstanced(mode, id, instancecount); + _post_call_gl_callback(NULL, "glDrawTransformFeedbackInstanced", (GLADapiproc) glad_glDrawTransformFeedbackInstanced, 3, mode, id, instancecount); + +} +PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_debug_glDrawTransformFeedbackInstanced = glad_debug_impl_glDrawTransformFeedbackInstanced; +PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawTransformFeedbackNV(GLenum mode, GLuint id) { + _pre_call_gl_callback("glDrawTransformFeedbackNV", (GLADapiproc) glad_glDrawTransformFeedbackNV, 2, mode, id); + glad_glDrawTransformFeedbackNV(mode, id); + _post_call_gl_callback(NULL, "glDrawTransformFeedbackNV", (GLADapiproc) glad_glDrawTransformFeedbackNV, 2, mode, id); + +} +PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_debug_glDrawTransformFeedbackNV = glad_debug_impl_glDrawTransformFeedbackNV; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { + _pre_call_gl_callback("glDrawTransformFeedbackStream", (GLADapiproc) glad_glDrawTransformFeedbackStream, 3, mode, id, stream); + glad_glDrawTransformFeedbackStream(mode, id, stream); + _post_call_gl_callback(NULL, "glDrawTransformFeedbackStream", (GLADapiproc) glad_glDrawTransformFeedbackStream, 3, mode, id, stream); + +} +PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_debug_glDrawTransformFeedbackStream = glad_debug_impl_glDrawTransformFeedbackStream; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced = NULL; +static void GLAD_API_PTR glad_debug_impl_glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { + _pre_call_gl_callback("glDrawTransformFeedbackStreamInstanced", (GLADapiproc) glad_glDrawTransformFeedbackStreamInstanced, 4, mode, id, stream, instancecount); + glad_glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + _post_call_gl_callback(NULL, "glDrawTransformFeedbackStreamInstanced", (GLADapiproc) glad_glDrawTransformFeedbackStreamInstanced, 4, mode, id, stream, instancecount); + +} +PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_debug_glDrawTransformFeedbackStreamInstanced = glad_debug_impl_glDrawTransformFeedbackStreamInstanced; +PFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean * pointer) { + _pre_call_gl_callback("glEdgeFlagPointerEXT", (GLADapiproc) glad_glEdgeFlagPointerEXT, 3, stride, count, pointer); + glad_glEdgeFlagPointerEXT(stride, count, pointer); + _post_call_gl_callback(NULL, "glEdgeFlagPointerEXT", (GLADapiproc) glad_glEdgeFlagPointerEXT, 3, stride, count, pointer); + +} +PFNGLEDGEFLAGPOINTEREXTPROC glad_debug_glEdgeFlagPointerEXT = glad_debug_impl_glEdgeFlagPointerEXT; +PFNGLENABLEPROC glad_glEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnable(GLenum cap) { + _pre_call_gl_callback("glEnable", (GLADapiproc) glad_glEnable, 1, cap); + glad_glEnable(cap); + _post_call_gl_callback(NULL, "glEnable", (GLADapiproc) glad_glEnable, 1, cap); + +} +PFNGLENABLEPROC glad_debug_glEnable = glad_debug_impl_glEnable; +PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableClientStateIndexedEXT(GLenum array, GLuint index) { + _pre_call_gl_callback("glEnableClientStateIndexedEXT", (GLADapiproc) glad_glEnableClientStateIndexedEXT, 2, array, index); + glad_glEnableClientStateIndexedEXT(array, index); + _post_call_gl_callback(NULL, "glEnableClientStateIndexedEXT", (GLADapiproc) glad_glEnableClientStateIndexedEXT, 2, array, index); + +} +PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_debug_glEnableClientStateIndexedEXT = glad_debug_impl_glEnableClientStateIndexedEXT; +PFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableClientStateiEXT(GLenum array, GLuint index) { + _pre_call_gl_callback("glEnableClientStateiEXT", (GLADapiproc) glad_glEnableClientStateiEXT, 2, array, index); + glad_glEnableClientStateiEXT(array, index); + _post_call_gl_callback(NULL, "glEnableClientStateiEXT", (GLADapiproc) glad_glEnableClientStateiEXT, 2, array, index); + +} +PFNGLENABLECLIENTSTATEIEXTPROC glad_debug_glEnableClientStateiEXT = glad_debug_impl_glEnableClientStateiEXT; +PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableIndexedEXT(GLenum target, GLuint index) { + _pre_call_gl_callback("glEnableIndexedEXT", (GLADapiproc) glad_glEnableIndexedEXT, 2, target, index); + glad_glEnableIndexedEXT(target, index); + _post_call_gl_callback(NULL, "glEnableIndexedEXT", (GLADapiproc) glad_glEnableIndexedEXT, 2, target, index); + +} +PFNGLENABLEINDEXEDEXTPROC glad_debug_glEnableIndexedEXT = glad_debug_impl_glEnableIndexedEXT; +PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableVertexArrayAttrib(GLuint vaobj, GLuint index) { + _pre_call_gl_callback("glEnableVertexArrayAttrib", (GLADapiproc) glad_glEnableVertexArrayAttrib, 2, vaobj, index); + glad_glEnableVertexArrayAttrib(vaobj, index); + _post_call_gl_callback(NULL, "glEnableVertexArrayAttrib", (GLADapiproc) glad_glEnableVertexArrayAttrib, 2, vaobj, index); + +} +PFNGLENABLEVERTEXARRAYATTRIBPROC glad_debug_glEnableVertexArrayAttrib = glad_debug_impl_glEnableVertexArrayAttrib; +PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableVertexArrayAttribEXT(GLuint vaobj, GLuint index) { + _pre_call_gl_callback("glEnableVertexArrayAttribEXT", (GLADapiproc) glad_glEnableVertexArrayAttribEXT, 2, vaobj, index); + glad_glEnableVertexArrayAttribEXT(vaobj, index); + _post_call_gl_callback(NULL, "glEnableVertexArrayAttribEXT", (GLADapiproc) glad_glEnableVertexArrayAttribEXT, 2, vaobj, index); + +} +PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_debug_glEnableVertexArrayAttribEXT = glad_debug_impl_glEnableVertexArrayAttribEXT; +PFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableVertexArrayEXT(GLuint vaobj, GLenum array) { + _pre_call_gl_callback("glEnableVertexArrayEXT", (GLADapiproc) glad_glEnableVertexArrayEXT, 2, vaobj, array); + glad_glEnableVertexArrayEXT(vaobj, array); + _post_call_gl_callback(NULL, "glEnableVertexArrayEXT", (GLADapiproc) glad_glEnableVertexArrayEXT, 2, vaobj, array); + +} +PFNGLENABLEVERTEXARRAYEXTPROC glad_debug_glEnableVertexArrayEXT = glad_debug_impl_glEnableVertexArrayEXT; +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableVertexAttribArray(GLuint index) { + _pre_call_gl_callback("glEnableVertexAttribArray", (GLADapiproc) glad_glEnableVertexAttribArray, 1, index); + glad_glEnableVertexAttribArray(index); + _post_call_gl_callback(NULL, "glEnableVertexAttribArray", (GLADapiproc) glad_glEnableVertexAttribArray, 1, index); + +} +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray = glad_debug_impl_glEnableVertexAttribArray; +PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnableVertexAttribArrayARB(GLuint index) { + _pre_call_gl_callback("glEnableVertexAttribArrayARB", (GLADapiproc) glad_glEnableVertexAttribArrayARB, 1, index); + glad_glEnableVertexAttribArrayARB(index); + _post_call_gl_callback(NULL, "glEnableVertexAttribArrayARB", (GLADapiproc) glad_glEnableVertexAttribArrayARB, 1, index); + +} +PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_debug_glEnableVertexAttribArrayARB = glad_debug_impl_glEnableVertexAttribArrayARB; +PFNGLENABLEIPROC glad_glEnablei = NULL; +static void GLAD_API_PTR glad_debug_impl_glEnablei(GLenum target, GLuint index) { + _pre_call_gl_callback("glEnablei", (GLADapiproc) glad_glEnablei, 2, target, index); + glad_glEnablei(target, index); + _post_call_gl_callback(NULL, "glEnablei", (GLADapiproc) glad_glEnablei, 2, target, index); + +} +PFNGLENABLEIPROC glad_debug_glEnablei = glad_debug_impl_glEnablei; +PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndConditionalRender(void) { + _pre_call_gl_callback("glEndConditionalRender", (GLADapiproc) glad_glEndConditionalRender, 0); + glad_glEndConditionalRender(); + _post_call_gl_callback(NULL, "glEndConditionalRender", (GLADapiproc) glad_glEndConditionalRender, 0); + +} +PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender = glad_debug_impl_glEndConditionalRender; +PFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndConditionalRenderNV(void) { + _pre_call_gl_callback("glEndConditionalRenderNV", (GLADapiproc) glad_glEndConditionalRenderNV, 0); + glad_glEndConditionalRenderNV(); + _post_call_gl_callback(NULL, "glEndConditionalRenderNV", (GLADapiproc) glad_glEndConditionalRenderNV, 0); + +} +PFNGLENDCONDITIONALRENDERNVPROC glad_debug_glEndConditionalRenderNV = glad_debug_impl_glEndConditionalRenderNV; +PFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndConditionalRenderNVX(void) { + _pre_call_gl_callback("glEndConditionalRenderNVX", (GLADapiproc) glad_glEndConditionalRenderNVX, 0); + glad_glEndConditionalRenderNVX(); + _post_call_gl_callback(NULL, "glEndConditionalRenderNVX", (GLADapiproc) glad_glEndConditionalRenderNVX, 0); + +} +PFNGLENDCONDITIONALRENDERNVXPROC glad_debug_glEndConditionalRenderNVX = glad_debug_impl_glEndConditionalRenderNVX; +PFNGLENDQUERYPROC glad_glEndQuery = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndQuery(GLenum target) { + _pre_call_gl_callback("glEndQuery", (GLADapiproc) glad_glEndQuery, 1, target); + glad_glEndQuery(target); + _post_call_gl_callback(NULL, "glEndQuery", (GLADapiproc) glad_glEndQuery, 1, target); + +} +PFNGLENDQUERYPROC glad_debug_glEndQuery = glad_debug_impl_glEndQuery; +PFNGLENDQUERYARBPROC glad_glEndQueryARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndQueryARB(GLenum target) { + _pre_call_gl_callback("glEndQueryARB", (GLADapiproc) glad_glEndQueryARB, 1, target); + glad_glEndQueryARB(target); + _post_call_gl_callback(NULL, "glEndQueryARB", (GLADapiproc) glad_glEndQueryARB, 1, target); + +} +PFNGLENDQUERYARBPROC glad_debug_glEndQueryARB = glad_debug_impl_glEndQueryARB; +PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndQueryIndexed(GLenum target, GLuint index) { + _pre_call_gl_callback("glEndQueryIndexed", (GLADapiproc) glad_glEndQueryIndexed, 2, target, index); + glad_glEndQueryIndexed(target, index); + _post_call_gl_callback(NULL, "glEndQueryIndexed", (GLADapiproc) glad_glEndQueryIndexed, 2, target, index); + +} +PFNGLENDQUERYINDEXEDPROC glad_debug_glEndQueryIndexed = glad_debug_impl_glEndQueryIndexed; +PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndTransformFeedback(void) { + _pre_call_gl_callback("glEndTransformFeedback", (GLADapiproc) glad_glEndTransformFeedback, 0); + glad_glEndTransformFeedback(); + _post_call_gl_callback(NULL, "glEndTransformFeedback", (GLADapiproc) glad_glEndTransformFeedback, 0); + +} +PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback = glad_debug_impl_glEndTransformFeedback; +PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndTransformFeedbackEXT(void) { + _pre_call_gl_callback("glEndTransformFeedbackEXT", (GLADapiproc) glad_glEndTransformFeedbackEXT, 0); + glad_glEndTransformFeedbackEXT(); + _post_call_gl_callback(NULL, "glEndTransformFeedbackEXT", (GLADapiproc) glad_glEndTransformFeedbackEXT, 0); + +} +PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_debug_glEndTransformFeedbackEXT = glad_debug_impl_glEndTransformFeedbackEXT; +PFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glEndTransformFeedbackNV(void) { + _pre_call_gl_callback("glEndTransformFeedbackNV", (GLADapiproc) glad_glEndTransformFeedbackNV, 0); + glad_glEndTransformFeedbackNV(); + _post_call_gl_callback(NULL, "glEndTransformFeedbackNV", (GLADapiproc) glad_glEndTransformFeedbackNV, 0); + +} +PFNGLENDTRANSFORMFEEDBACKNVPROC glad_debug_glEndTransformFeedbackNV = glad_debug_impl_glEndTransformFeedbackNV; +PFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat * params) { + _pre_call_gl_callback("glExecuteProgramNV", (GLADapiproc) glad_glExecuteProgramNV, 3, target, id, params); + glad_glExecuteProgramNV(target, id, params); + _post_call_gl_callback(NULL, "glExecuteProgramNV", (GLADapiproc) glad_glExecuteProgramNV, 3, target, id, params); + +} +PFNGLEXECUTEPROGRAMNVPROC glad_debug_glExecuteProgramNV = glad_debug_impl_glExecuteProgramNV; +PFNGLFENCESYNCPROC glad_glFenceSync = NULL; +static GLsync GLAD_API_PTR glad_debug_impl_glFenceSync(GLenum condition, GLbitfield flags) { + GLsync ret; + _pre_call_gl_callback("glFenceSync", (GLADapiproc) glad_glFenceSync, 2, condition, flags); + ret = glad_glFenceSync(condition, flags); + _post_call_gl_callback((void*) &ret, "glFenceSync", (GLADapiproc) glad_glFenceSync, 2, condition, flags); + return ret; +} +PFNGLFENCESYNCPROC glad_debug_glFenceSync = glad_debug_impl_glFenceSync; +PFNGLFINISHPROC glad_glFinish = NULL; +static void GLAD_API_PTR glad_debug_impl_glFinish(void) { + _pre_call_gl_callback("glFinish", (GLADapiproc) glad_glFinish, 0); + glad_glFinish(); + _post_call_gl_callback(NULL, "glFinish", (GLADapiproc) glad_glFinish, 0); + +} +PFNGLFINISHPROC glad_debug_glFinish = glad_debug_impl_glFinish; +PFNGLFLUSHPROC glad_glFlush = NULL; +static void GLAD_API_PTR glad_debug_impl_glFlush(void) { + _pre_call_gl_callback("glFlush", (GLADapiproc) glad_glFlush, 0); + glad_glFlush(); + _post_call_gl_callback(NULL, "glFlush", (GLADapiproc) glad_glFlush, 0); + +} +PFNGLFLUSHPROC glad_debug_glFlush = glad_debug_impl_glFlush; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { + _pre_call_gl_callback("glFlushMappedBufferRange", (GLADapiproc) glad_glFlushMappedBufferRange, 3, target, offset, length); + glad_glFlushMappedBufferRange(target, offset, length); + _post_call_gl_callback(NULL, "glFlushMappedBufferRange", (GLADapiproc) glad_glFlushMappedBufferRange, 3, target, offset, length); + +} +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange = glad_debug_impl_glFlushMappedBufferRange; +PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE = NULL; +static void GLAD_API_PTR glad_debug_impl_glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glFlushMappedBufferRangeAPPLE", (GLADapiproc) glad_glFlushMappedBufferRangeAPPLE, 3, target, offset, size); + glad_glFlushMappedBufferRangeAPPLE(target, offset, size); + _post_call_gl_callback(NULL, "glFlushMappedBufferRangeAPPLE", (GLADapiproc) glad_glFlushMappedBufferRangeAPPLE, 3, target, offset, size); + +} +PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_debug_glFlushMappedBufferRangeAPPLE = glad_debug_impl_glFlushMappedBufferRangeAPPLE; +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length) { + _pre_call_gl_callback("glFlushMappedNamedBufferRange", (GLADapiproc) glad_glFlushMappedNamedBufferRange, 3, buffer, offset, length); + glad_glFlushMappedNamedBufferRange(buffer, offset, length); + _post_call_gl_callback(NULL, "glFlushMappedNamedBufferRange", (GLADapiproc) glad_glFlushMappedNamedBufferRange, 3, buffer, offset, length); + +} +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_debug_glFlushMappedNamedBufferRange = glad_debug_impl_glFlushMappedNamedBufferRange; +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length) { + _pre_call_gl_callback("glFlushMappedNamedBufferRangeEXT", (GLADapiproc) glad_glFlushMappedNamedBufferRangeEXT, 3, buffer, offset, length); + glad_glFlushMappedNamedBufferRangeEXT(buffer, offset, length); + _post_call_gl_callback(NULL, "glFlushMappedNamedBufferRangeEXT", (GLADapiproc) glad_glFlushMappedNamedBufferRangeEXT, 3, buffer, offset, length); + +} +PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_debug_glFlushMappedNamedBufferRangeEXT = glad_debug_impl_glFlushMappedNamedBufferRangeEXT; +PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode) { + _pre_call_gl_callback("glFramebufferDrawBufferEXT", (GLADapiproc) glad_glFramebufferDrawBufferEXT, 2, framebuffer, mode); + glad_glFramebufferDrawBufferEXT(framebuffer, mode); + _post_call_gl_callback(NULL, "glFramebufferDrawBufferEXT", (GLADapiproc) glad_glFramebufferDrawBufferEXT, 2, framebuffer, mode); + +} +PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_debug_glFramebufferDrawBufferEXT = glad_debug_impl_glFramebufferDrawBufferEXT; +PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum * bufs) { + _pre_call_gl_callback("glFramebufferDrawBuffersEXT", (GLADapiproc) glad_glFramebufferDrawBuffersEXT, 3, framebuffer, n, bufs); + glad_glFramebufferDrawBuffersEXT(framebuffer, n, bufs); + _post_call_gl_callback(NULL, "glFramebufferDrawBuffersEXT", (GLADapiproc) glad_glFramebufferDrawBuffersEXT, 3, framebuffer, n, bufs); + +} +PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_debug_glFramebufferDrawBuffersEXT = glad_debug_impl_glFramebufferDrawBuffersEXT; +PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glFramebufferParameteri", (GLADapiproc) glad_glFramebufferParameteri, 3, target, pname, param); + glad_glFramebufferParameteri(target, pname, param); + _post_call_gl_callback(NULL, "glFramebufferParameteri", (GLADapiproc) glad_glFramebufferParameteri, 3, target, pname, param); + +} +PFNGLFRAMEBUFFERPARAMETERIPROC glad_debug_glFramebufferParameteri = glad_debug_impl_glFramebufferParameteri; +PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode) { + _pre_call_gl_callback("glFramebufferReadBufferEXT", (GLADapiproc) glad_glFramebufferReadBufferEXT, 2, framebuffer, mode); + glad_glFramebufferReadBufferEXT(framebuffer, mode); + _post_call_gl_callback(NULL, "glFramebufferReadBufferEXT", (GLADapiproc) glad_glFramebufferReadBufferEXT, 2, framebuffer, mode); + +} +PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_debug_glFramebufferReadBufferEXT = glad_debug_impl_glFramebufferReadBufferEXT; +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { + _pre_call_gl_callback("glFramebufferRenderbuffer", (GLADapiproc) glad_glFramebufferRenderbuffer, 4, target, attachment, renderbuffertarget, renderbuffer); + glad_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + _post_call_gl_callback(NULL, "glFramebufferRenderbuffer", (GLADapiproc) glad_glFramebufferRenderbuffer, 4, target, attachment, renderbuffertarget, renderbuffer); + +} +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer = glad_debug_impl_glFramebufferRenderbuffer; +PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { + _pre_call_gl_callback("glFramebufferRenderbufferEXT", (GLADapiproc) glad_glFramebufferRenderbufferEXT, 4, target, attachment, renderbuffertarget, renderbuffer); + glad_glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); + _post_call_gl_callback(NULL, "glFramebufferRenderbufferEXT", (GLADapiproc) glad_glFramebufferRenderbufferEXT, 4, target, attachment, renderbuffertarget, renderbuffer); + +} +PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_debug_glFramebufferRenderbufferEXT = glad_debug_impl_glFramebufferRenderbufferEXT; +PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTexture", (GLADapiproc) glad_glFramebufferTexture, 4, target, attachment, texture, level); + glad_glFramebufferTexture(target, attachment, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTexture", (GLADapiproc) glad_glFramebufferTexture, 4, target, attachment, texture, level); + +} +PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture = glad_debug_impl_glFramebufferTexture; +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTexture1D", (GLADapiproc) glad_glFramebufferTexture1D, 5, target, attachment, textarget, texture, level); + glad_glFramebufferTexture1D(target, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTexture1D", (GLADapiproc) glad_glFramebufferTexture1D, 5, target, attachment, textarget, texture, level); + +} +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D = glad_debug_impl_glFramebufferTexture1D; +PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTexture1DEXT", (GLADapiproc) glad_glFramebufferTexture1DEXT, 5, target, attachment, textarget, texture, level); + glad_glFramebufferTexture1DEXT(target, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTexture1DEXT", (GLADapiproc) glad_glFramebufferTexture1DEXT, 5, target, attachment, textarget, texture, level); + +} +PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_debug_glFramebufferTexture1DEXT = glad_debug_impl_glFramebufferTexture1DEXT; +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTexture2D", (GLADapiproc) glad_glFramebufferTexture2D, 5, target, attachment, textarget, texture, level); + glad_glFramebufferTexture2D(target, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTexture2D", (GLADapiproc) glad_glFramebufferTexture2D, 5, target, attachment, textarget, texture, level); + +} +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D = glad_debug_impl_glFramebufferTexture2D; +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTexture2DEXT", (GLADapiproc) glad_glFramebufferTexture2DEXT, 5, target, attachment, textarget, texture, level); + glad_glFramebufferTexture2DEXT(target, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTexture2DEXT", (GLADapiproc) glad_glFramebufferTexture2DEXT, 5, target, attachment, textarget, texture, level); + +} +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_debug_glFramebufferTexture2DEXT = glad_debug_impl_glFramebufferTexture2DEXT; +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { + _pre_call_gl_callback("glFramebufferTexture3D", (GLADapiproc) glad_glFramebufferTexture3D, 6, target, attachment, textarget, texture, level, zoffset); + glad_glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + _post_call_gl_callback(NULL, "glFramebufferTexture3D", (GLADapiproc) glad_glFramebufferTexture3D, 6, target, attachment, textarget, texture, level, zoffset); + +} +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D = glad_debug_impl_glFramebufferTexture3D; +PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { + _pre_call_gl_callback("glFramebufferTexture3DEXT", (GLADapiproc) glad_glFramebufferTexture3DEXT, 6, target, attachment, textarget, texture, level, zoffset); + glad_glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset); + _post_call_gl_callback(NULL, "glFramebufferTexture3DEXT", (GLADapiproc) glad_glFramebufferTexture3DEXT, 6, target, attachment, textarget, texture, level, zoffset); + +} +PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_debug_glFramebufferTexture3DEXT = glad_debug_impl_glFramebufferTexture3DEXT; +PFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTextureARB", (GLADapiproc) glad_glFramebufferTextureARB, 4, target, attachment, texture, level); + glad_glFramebufferTextureARB(target, attachment, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTextureARB", (GLADapiproc) glad_glFramebufferTextureARB, 4, target, attachment, texture, level); + +} +PFNGLFRAMEBUFFERTEXTUREARBPROC glad_debug_glFramebufferTextureARB = glad_debug_impl_glFramebufferTextureARB; +PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level) { + _pre_call_gl_callback("glFramebufferTextureEXT", (GLADapiproc) glad_glFramebufferTextureEXT, 4, target, attachment, texture, level); + glad_glFramebufferTextureEXT(target, attachment, texture, level); + _post_call_gl_callback(NULL, "glFramebufferTextureEXT", (GLADapiproc) glad_glFramebufferTextureEXT, 4, target, attachment, texture, level); + +} +PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_debug_glFramebufferTextureEXT = glad_debug_impl_glFramebufferTextureEXT; +PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) { + _pre_call_gl_callback("glFramebufferTextureFaceARB", (GLADapiproc) glad_glFramebufferTextureFaceARB, 5, target, attachment, texture, level, face); + glad_glFramebufferTextureFaceARB(target, attachment, texture, level, face); + _post_call_gl_callback(NULL, "glFramebufferTextureFaceARB", (GLADapiproc) glad_glFramebufferTextureFaceARB, 5, target, attachment, texture, level, face); + +} +PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_debug_glFramebufferTextureFaceARB = glad_debug_impl_glFramebufferTextureFaceARB; +PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) { + _pre_call_gl_callback("glFramebufferTextureFaceEXT", (GLADapiproc) glad_glFramebufferTextureFaceEXT, 5, target, attachment, texture, level, face); + glad_glFramebufferTextureFaceEXT(target, attachment, texture, level, face); + _post_call_gl_callback(NULL, "glFramebufferTextureFaceEXT", (GLADapiproc) glad_glFramebufferTextureFaceEXT, 5, target, attachment, texture, level, face); + +} +PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_debug_glFramebufferTextureFaceEXT = glad_debug_impl_glFramebufferTextureFaceEXT; +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { + _pre_call_gl_callback("glFramebufferTextureLayer", (GLADapiproc) glad_glFramebufferTextureLayer, 5, target, attachment, texture, level, layer); + glad_glFramebufferTextureLayer(target, attachment, texture, level, layer); + _post_call_gl_callback(NULL, "glFramebufferTextureLayer", (GLADapiproc) glad_glFramebufferTextureLayer, 5, target, attachment, texture, level, layer); + +} +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer = glad_debug_impl_glFramebufferTextureLayer; +PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { + _pre_call_gl_callback("glFramebufferTextureLayerARB", (GLADapiproc) glad_glFramebufferTextureLayerARB, 5, target, attachment, texture, level, layer); + glad_glFramebufferTextureLayerARB(target, attachment, texture, level, layer); + _post_call_gl_callback(NULL, "glFramebufferTextureLayerARB", (GLADapiproc) glad_glFramebufferTextureLayerARB, 5, target, attachment, texture, level, layer); + +} +PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_debug_glFramebufferTextureLayerARB = glad_debug_impl_glFramebufferTextureLayerARB; +PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { + _pre_call_gl_callback("glFramebufferTextureLayerEXT", (GLADapiproc) glad_glFramebufferTextureLayerEXT, 5, target, attachment, texture, level, layer); + glad_glFramebufferTextureLayerEXT(target, attachment, texture, level, layer); + _post_call_gl_callback(NULL, "glFramebufferTextureLayerEXT", (GLADapiproc) glad_glFramebufferTextureLayerEXT, 5, target, attachment, texture, level, layer); + +} +PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_debug_glFramebufferTextureLayerEXT = glad_debug_impl_glFramebufferTextureLayerEXT; +PFNGLFRONTFACEPROC glad_glFrontFace = NULL; +static void GLAD_API_PTR glad_debug_impl_glFrontFace(GLenum mode) { + _pre_call_gl_callback("glFrontFace", (GLADapiproc) glad_glFrontFace, 1, mode); + glad_glFrontFace(mode); + _post_call_gl_callback(NULL, "glFrontFace", (GLADapiproc) glad_glFrontFace, 1, mode); + +} +PFNGLFRONTFACEPROC glad_debug_glFrontFace = glad_debug_impl_glFrontFace; +PFNGLFRUSTUMFOESPROC glad_glFrustumfOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) { + _pre_call_gl_callback("glFrustumfOES", (GLADapiproc) glad_glFrustumfOES, 6, l, r, b, t, n, f); + glad_glFrustumfOES(l, r, b, t, n, f); + _post_call_gl_callback(NULL, "glFrustumfOES", (GLADapiproc) glad_glFrustumfOES, 6, l, r, b, t, n, f); + +} +PFNGLFRUSTUMFOESPROC glad_debug_glFrustumfOES = glad_debug_impl_glFrustumfOES; +PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenBuffers(GLsizei n, GLuint * buffers) { + _pre_call_gl_callback("glGenBuffers", (GLADapiproc) glad_glGenBuffers, 2, n, buffers); + glad_glGenBuffers(n, buffers); + _post_call_gl_callback(NULL, "glGenBuffers", (GLADapiproc) glad_glGenBuffers, 2, n, buffers); + +} +PFNGLGENBUFFERSPROC glad_debug_glGenBuffers = glad_debug_impl_glGenBuffers; +PFNGLGENBUFFERSARBPROC glad_glGenBuffersARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenBuffersARB(GLsizei n, GLuint * buffers) { + _pre_call_gl_callback("glGenBuffersARB", (GLADapiproc) glad_glGenBuffersARB, 2, n, buffers); + glad_glGenBuffersARB(n, buffers); + _post_call_gl_callback(NULL, "glGenBuffersARB", (GLADapiproc) glad_glGenBuffersARB, 2, n, buffers); + +} +PFNGLGENBUFFERSARBPROC glad_debug_glGenBuffersARB = glad_debug_impl_glGenBuffersARB; +PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenFramebuffers(GLsizei n, GLuint * framebuffers) { + _pre_call_gl_callback("glGenFramebuffers", (GLADapiproc) glad_glGenFramebuffers, 2, n, framebuffers); + glad_glGenFramebuffers(n, framebuffers); + _post_call_gl_callback(NULL, "glGenFramebuffers", (GLADapiproc) glad_glGenFramebuffers, 2, n, framebuffers); + +} +PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers = glad_debug_impl_glGenFramebuffers; +PFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenFramebuffersEXT(GLsizei n, GLuint * framebuffers) { + _pre_call_gl_callback("glGenFramebuffersEXT", (GLADapiproc) glad_glGenFramebuffersEXT, 2, n, framebuffers); + glad_glGenFramebuffersEXT(n, framebuffers); + _post_call_gl_callback(NULL, "glGenFramebuffersEXT", (GLADapiproc) glad_glGenFramebuffersEXT, 2, n, framebuffers); + +} +PFNGLGENFRAMEBUFFERSEXTPROC glad_debug_glGenFramebuffersEXT = glad_debug_impl_glGenFramebuffersEXT; +PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenProgramPipelines(GLsizei n, GLuint * pipelines) { + _pre_call_gl_callback("glGenProgramPipelines", (GLADapiproc) glad_glGenProgramPipelines, 2, n, pipelines); + glad_glGenProgramPipelines(n, pipelines); + _post_call_gl_callback(NULL, "glGenProgramPipelines", (GLADapiproc) glad_glGenProgramPipelines, 2, n, pipelines); + +} +PFNGLGENPROGRAMPIPELINESPROC glad_debug_glGenProgramPipelines = glad_debug_impl_glGenProgramPipelines; +PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenProgramsARB(GLsizei n, GLuint * programs) { + _pre_call_gl_callback("glGenProgramsARB", (GLADapiproc) glad_glGenProgramsARB, 2, n, programs); + glad_glGenProgramsARB(n, programs); + _post_call_gl_callback(NULL, "glGenProgramsARB", (GLADapiproc) glad_glGenProgramsARB, 2, n, programs); + +} +PFNGLGENPROGRAMSARBPROC glad_debug_glGenProgramsARB = glad_debug_impl_glGenProgramsARB; +PFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenProgramsNV(GLsizei n, GLuint * programs) { + _pre_call_gl_callback("glGenProgramsNV", (GLADapiproc) glad_glGenProgramsNV, 2, n, programs); + glad_glGenProgramsNV(n, programs); + _post_call_gl_callback(NULL, "glGenProgramsNV", (GLADapiproc) glad_glGenProgramsNV, 2, n, programs); + +} +PFNGLGENPROGRAMSNVPROC glad_debug_glGenProgramsNV = glad_debug_impl_glGenProgramsNV; +PFNGLGENQUERIESPROC glad_glGenQueries = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenQueries(GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glGenQueries", (GLADapiproc) glad_glGenQueries, 2, n, ids); + glad_glGenQueries(n, ids); + _post_call_gl_callback(NULL, "glGenQueries", (GLADapiproc) glad_glGenQueries, 2, n, ids); + +} +PFNGLGENQUERIESPROC glad_debug_glGenQueries = glad_debug_impl_glGenQueries; +PFNGLGENQUERIESARBPROC glad_glGenQueriesARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenQueriesARB(GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glGenQueriesARB", (GLADapiproc) glad_glGenQueriesARB, 2, n, ids); + glad_glGenQueriesARB(n, ids); + _post_call_gl_callback(NULL, "glGenQueriesARB", (GLADapiproc) glad_glGenQueriesARB, 2, n, ids); + +} +PFNGLGENQUERIESARBPROC glad_debug_glGenQueriesARB = glad_debug_impl_glGenQueriesARB; +PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenRenderbuffers(GLsizei n, GLuint * renderbuffers) { + _pre_call_gl_callback("glGenRenderbuffers", (GLADapiproc) glad_glGenRenderbuffers, 2, n, renderbuffers); + glad_glGenRenderbuffers(n, renderbuffers); + _post_call_gl_callback(NULL, "glGenRenderbuffers", (GLADapiproc) glad_glGenRenderbuffers, 2, n, renderbuffers); + +} +PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers = glad_debug_impl_glGenRenderbuffers; +PFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenRenderbuffersEXT(GLsizei n, GLuint * renderbuffers) { + _pre_call_gl_callback("glGenRenderbuffersEXT", (GLADapiproc) glad_glGenRenderbuffersEXT, 2, n, renderbuffers); + glad_glGenRenderbuffersEXT(n, renderbuffers); + _post_call_gl_callback(NULL, "glGenRenderbuffersEXT", (GLADapiproc) glad_glGenRenderbuffersEXT, 2, n, renderbuffers); + +} +PFNGLGENRENDERBUFFERSEXTPROC glad_debug_glGenRenderbuffersEXT = glad_debug_impl_glGenRenderbuffersEXT; +PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenSamplers(GLsizei count, GLuint * samplers) { + _pre_call_gl_callback("glGenSamplers", (GLADapiproc) glad_glGenSamplers, 2, count, samplers); + glad_glGenSamplers(count, samplers); + _post_call_gl_callback(NULL, "glGenSamplers", (GLADapiproc) glad_glGenSamplers, 2, count, samplers); + +} +PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers = glad_debug_impl_glGenSamplers; +PFNGLGENTEXTURESPROC glad_glGenTextures = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenTextures(GLsizei n, GLuint * textures) { + _pre_call_gl_callback("glGenTextures", (GLADapiproc) glad_glGenTextures, 2, n, textures); + glad_glGenTextures(n, textures); + _post_call_gl_callback(NULL, "glGenTextures", (GLADapiproc) glad_glGenTextures, 2, n, textures); + +} +PFNGLGENTEXTURESPROC glad_debug_glGenTextures = glad_debug_impl_glGenTextures; +PFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenTexturesEXT(GLsizei n, GLuint * textures) { + _pre_call_gl_callback("glGenTexturesEXT", (GLADapiproc) glad_glGenTexturesEXT, 2, n, textures); + glad_glGenTexturesEXT(n, textures); + _post_call_gl_callback(NULL, "glGenTexturesEXT", (GLADapiproc) glad_glGenTexturesEXT, 2, n, textures); + +} +PFNGLGENTEXTURESEXTPROC glad_debug_glGenTexturesEXT = glad_debug_impl_glGenTexturesEXT; +PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenTransformFeedbacks(GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glGenTransformFeedbacks", (GLADapiproc) glad_glGenTransformFeedbacks, 2, n, ids); + glad_glGenTransformFeedbacks(n, ids); + _post_call_gl_callback(NULL, "glGenTransformFeedbacks", (GLADapiproc) glad_glGenTransformFeedbacks, 2, n, ids); + +} +PFNGLGENTRANSFORMFEEDBACKSPROC glad_debug_glGenTransformFeedbacks = glad_debug_impl_glGenTransformFeedbacks; +PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenTransformFeedbacksNV(GLsizei n, GLuint * ids) { + _pre_call_gl_callback("glGenTransformFeedbacksNV", (GLADapiproc) glad_glGenTransformFeedbacksNV, 2, n, ids); + glad_glGenTransformFeedbacksNV(n, ids); + _post_call_gl_callback(NULL, "glGenTransformFeedbacksNV", (GLADapiproc) glad_glGenTransformFeedbacksNV, 2, n, ids); + +} +PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_debug_glGenTransformFeedbacksNV = glad_debug_impl_glGenTransformFeedbacksNV; +PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenVertexArrays(GLsizei n, GLuint * arrays) { + _pre_call_gl_callback("glGenVertexArrays", (GLADapiproc) glad_glGenVertexArrays, 2, n, arrays); + glad_glGenVertexArrays(n, arrays); + _post_call_gl_callback(NULL, "glGenVertexArrays", (GLADapiproc) glad_glGenVertexArrays, 2, n, arrays); + +} +PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays = glad_debug_impl_glGenVertexArrays; +PFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenVertexArraysAPPLE(GLsizei n, GLuint * arrays) { + _pre_call_gl_callback("glGenVertexArraysAPPLE", (GLADapiproc) glad_glGenVertexArraysAPPLE, 2, n, arrays); + glad_glGenVertexArraysAPPLE(n, arrays); + _post_call_gl_callback(NULL, "glGenVertexArraysAPPLE", (GLADapiproc) glad_glGenVertexArraysAPPLE, 2, n, arrays); + +} +PFNGLGENVERTEXARRAYSAPPLEPROC glad_debug_glGenVertexArraysAPPLE = glad_debug_impl_glGenVertexArraysAPPLE; +PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenerateMipmap(GLenum target) { + _pre_call_gl_callback("glGenerateMipmap", (GLADapiproc) glad_glGenerateMipmap, 1, target); + glad_glGenerateMipmap(target); + _post_call_gl_callback(NULL, "glGenerateMipmap", (GLADapiproc) glad_glGenerateMipmap, 1, target); + +} +PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap = glad_debug_impl_glGenerateMipmap; +PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenerateMipmapEXT(GLenum target) { + _pre_call_gl_callback("glGenerateMipmapEXT", (GLADapiproc) glad_glGenerateMipmapEXT, 1, target); + glad_glGenerateMipmapEXT(target); + _post_call_gl_callback(NULL, "glGenerateMipmapEXT", (GLADapiproc) glad_glGenerateMipmapEXT, 1, target); + +} +PFNGLGENERATEMIPMAPEXTPROC glad_debug_glGenerateMipmapEXT = glad_debug_impl_glGenerateMipmapEXT; +PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target) { + _pre_call_gl_callback("glGenerateMultiTexMipmapEXT", (GLADapiproc) glad_glGenerateMultiTexMipmapEXT, 2, texunit, target); + glad_glGenerateMultiTexMipmapEXT(texunit, target); + _post_call_gl_callback(NULL, "glGenerateMultiTexMipmapEXT", (GLADapiproc) glad_glGenerateMultiTexMipmapEXT, 2, texunit, target); + +} +PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_debug_glGenerateMultiTexMipmapEXT = glad_debug_impl_glGenerateMultiTexMipmapEXT; +PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenerateTextureMipmap(GLuint texture) { + _pre_call_gl_callback("glGenerateTextureMipmap", (GLADapiproc) glad_glGenerateTextureMipmap, 1, texture); + glad_glGenerateTextureMipmap(texture); + _post_call_gl_callback(NULL, "glGenerateTextureMipmap", (GLADapiproc) glad_glGenerateTextureMipmap, 1, texture); + +} +PFNGLGENERATETEXTUREMIPMAPPROC glad_debug_glGenerateTextureMipmap = glad_debug_impl_glGenerateTextureMipmap; +PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGenerateTextureMipmapEXT(GLuint texture, GLenum target) { + _pre_call_gl_callback("glGenerateTextureMipmapEXT", (GLADapiproc) glad_glGenerateTextureMipmapEXT, 2, texture, target); + glad_glGenerateTextureMipmapEXT(texture, target); + _post_call_gl_callback(NULL, "glGenerateTextureMipmapEXT", (GLADapiproc) glad_glGenerateTextureMipmapEXT, 2, texture, target); + +} +PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_debug_glGenerateTextureMipmapEXT = glad_debug_impl_glGenerateTextureMipmapEXT; +PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetActiveAtomicCounterBufferiv", (GLADapiproc) glad_glGetActiveAtomicCounterBufferiv, 4, program, bufferIndex, pname, params); + glad_glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + _post_call_gl_callback(NULL, "glGetActiveAtomicCounterBufferiv", (GLADapiproc) glad_glGetActiveAtomicCounterBufferiv, 4, program, bufferIndex, pname, params); + +} +PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_debug_glGetActiveAtomicCounterBufferiv = glad_debug_impl_glGetActiveAtomicCounterBufferiv; +PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) { + _pre_call_gl_callback("glGetActiveAttrib", (GLADapiproc) glad_glGetActiveAttrib, 7, program, index, bufSize, length, size, type, name); + glad_glGetActiveAttrib(program, index, bufSize, length, size, type, name); + _post_call_gl_callback(NULL, "glGetActiveAttrib", (GLADapiproc) glad_glGetActiveAttrib, 7, program, index, bufSize, length, size, type, name); + +} +PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib = glad_debug_impl_glGetActiveAttrib; +PFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) { + _pre_call_gl_callback("glGetActiveAttribARB", (GLADapiproc) glad_glGetActiveAttribARB, 7, programObj, index, maxLength, length, size, type, name); + glad_glGetActiveAttribARB(programObj, index, maxLength, length, size, type, name); + _post_call_gl_callback(NULL, "glGetActiveAttribARB", (GLADapiproc) glad_glGetActiveAttribARB, 7, programObj, index, maxLength, length, size, type, name); + +} +PFNGLGETACTIVEATTRIBARBPROC glad_debug_glGetActiveAttribARB = glad_debug_impl_glGetActiveAttribARB; +PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { + _pre_call_gl_callback("glGetActiveSubroutineName", (GLADapiproc) glad_glGetActiveSubroutineName, 6, program, shadertype, index, bufSize, length, name); + glad_glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name); + _post_call_gl_callback(NULL, "glGetActiveSubroutineName", (GLADapiproc) glad_glGetActiveSubroutineName, 6, program, shadertype, index, bufSize, length, name); + +} +PFNGLGETACTIVESUBROUTINENAMEPROC glad_debug_glGetActiveSubroutineName = glad_debug_impl_glGetActiveSubroutineName; +PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { + _pre_call_gl_callback("glGetActiveSubroutineUniformName", (GLADapiproc) glad_glGetActiveSubroutineUniformName, 6, program, shadertype, index, bufSize, length, name); + glad_glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name); + _post_call_gl_callback(NULL, "glGetActiveSubroutineUniformName", (GLADapiproc) glad_glGetActiveSubroutineUniformName, 6, program, shadertype, index, bufSize, length, name); + +} +PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_debug_glGetActiveSubroutineUniformName = glad_debug_impl_glGetActiveSubroutineUniformName; +PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values) { + _pre_call_gl_callback("glGetActiveSubroutineUniformiv", (GLADapiproc) glad_glGetActiveSubroutineUniformiv, 5, program, shadertype, index, pname, values); + glad_glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + _post_call_gl_callback(NULL, "glGetActiveSubroutineUniformiv", (GLADapiproc) glad_glGetActiveSubroutineUniformiv, 5, program, shadertype, index, pname, values); + +} +PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_debug_glGetActiveSubroutineUniformiv = glad_debug_impl_glGetActiveSubroutineUniformiv; +PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) { + _pre_call_gl_callback("glGetActiveUniform", (GLADapiproc) glad_glGetActiveUniform, 7, program, index, bufSize, length, size, type, name); + glad_glGetActiveUniform(program, index, bufSize, length, size, type, name); + _post_call_gl_callback(NULL, "glGetActiveUniform", (GLADapiproc) glad_glGetActiveUniform, 7, program, index, bufSize, length, size, type, name); + +} +PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform = glad_debug_impl_glGetActiveUniform; +PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) { + _pre_call_gl_callback("glGetActiveUniformARB", (GLADapiproc) glad_glGetActiveUniformARB, 7, programObj, index, maxLength, length, size, type, name); + glad_glGetActiveUniformARB(programObj, index, maxLength, length, size, type, name); + _post_call_gl_callback(NULL, "glGetActiveUniformARB", (GLADapiproc) glad_glGetActiveUniformARB, 7, programObj, index, maxLength, length, size, type, name); + +} +PFNGLGETACTIVEUNIFORMARBPROC glad_debug_glGetActiveUniformARB = glad_debug_impl_glGetActiveUniformARB; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName) { + _pre_call_gl_callback("glGetActiveUniformBlockName", (GLADapiproc) glad_glGetActiveUniformBlockName, 5, program, uniformBlockIndex, bufSize, length, uniformBlockName); + glad_glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + _post_call_gl_callback(NULL, "glGetActiveUniformBlockName", (GLADapiproc) glad_glGetActiveUniformBlockName, 5, program, uniformBlockIndex, bufSize, length, uniformBlockName); + +} +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName = glad_debug_impl_glGetActiveUniformBlockName; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetActiveUniformBlockiv", (GLADapiproc) glad_glGetActiveUniformBlockiv, 4, program, uniformBlockIndex, pname, params); + glad_glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + _post_call_gl_callback(NULL, "glGetActiveUniformBlockiv", (GLADapiproc) glad_glGetActiveUniformBlockiv, 4, program, uniformBlockIndex, pname, params); + +} +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv = glad_debug_impl_glGetActiveUniformBlockiv; +PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName) { + _pre_call_gl_callback("glGetActiveUniformName", (GLADapiproc) glad_glGetActiveUniformName, 5, program, uniformIndex, bufSize, length, uniformName); + glad_glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + _post_call_gl_callback(NULL, "glGetActiveUniformName", (GLADapiproc) glad_glGetActiveUniformName, 5, program, uniformIndex, bufSize, length, uniformName); + +} +PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName = glad_debug_impl_glGetActiveUniformName; +PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetActiveUniformsiv", (GLADapiproc) glad_glGetActiveUniformsiv, 5, program, uniformCount, uniformIndices, pname, params); + glad_glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + _post_call_gl_callback(NULL, "glGetActiveUniformsiv", (GLADapiproc) glad_glGetActiveUniformsiv, 5, program, uniformCount, uniformIndices, pname, params); + +} +PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv = glad_debug_impl_glGetActiveUniformsiv; +PFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) { + _pre_call_gl_callback("glGetActiveVaryingNV", (GLADapiproc) glad_glGetActiveVaryingNV, 7, program, index, bufSize, length, size, type, name); + glad_glGetActiveVaryingNV(program, index, bufSize, length, size, type, name); + _post_call_gl_callback(NULL, "glGetActiveVaryingNV", (GLADapiproc) glad_glGetActiveVaryingNV, 7, program, index, bufSize, length, size, type, name); + +} +PFNGLGETACTIVEVARYINGNVPROC glad_debug_glGetActiveVaryingNV = glad_debug_impl_glGetActiveVaryingNV; +PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj) { + _pre_call_gl_callback("glGetAttachedObjectsARB", (GLADapiproc) glad_glGetAttachedObjectsARB, 4, containerObj, maxCount, count, obj); + glad_glGetAttachedObjectsARB(containerObj, maxCount, count, obj); + _post_call_gl_callback(NULL, "glGetAttachedObjectsARB", (GLADapiproc) glad_glGetAttachedObjectsARB, 4, containerObj, maxCount, count, obj); + +} +PFNGLGETATTACHEDOBJECTSARBPROC glad_debug_glGetAttachedObjectsARB = glad_debug_impl_glGetAttachedObjectsARB; +PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders) { + _pre_call_gl_callback("glGetAttachedShaders", (GLADapiproc) glad_glGetAttachedShaders, 4, program, maxCount, count, shaders); + glad_glGetAttachedShaders(program, maxCount, count, shaders); + _post_call_gl_callback(NULL, "glGetAttachedShaders", (GLADapiproc) glad_glGetAttachedShaders, 4, program, maxCount, count, shaders); + +} +PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders = glad_debug_impl_glGetAttachedShaders; +PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetAttribLocation(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetAttribLocation", (GLADapiproc) glad_glGetAttribLocation, 2, program, name); + ret = glad_glGetAttribLocation(program, name); + _post_call_gl_callback((void*) &ret, "glGetAttribLocation", (GLADapiproc) glad_glGetAttribLocation, 2, program, name); + return ret; +} +PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation = glad_debug_impl_glGetAttribLocation; +PFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB * name) { + GLint ret; + _pre_call_gl_callback("glGetAttribLocationARB", (GLADapiproc) glad_glGetAttribLocationARB, 2, programObj, name); + ret = glad_glGetAttribLocationARB(programObj, name); + _post_call_gl_callback((void*) &ret, "glGetAttribLocationARB", (GLADapiproc) glad_glGetAttribLocationARB, 2, programObj, name); + return ret; +} +PFNGLGETATTRIBLOCATIONARBPROC glad_debug_glGetAttribLocationARB = glad_debug_impl_glGetAttribLocationARB; +PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean * data) { + _pre_call_gl_callback("glGetBooleanIndexedvEXT", (GLADapiproc) glad_glGetBooleanIndexedvEXT, 3, target, index, data); + glad_glGetBooleanIndexedvEXT(target, index, data); + _post_call_gl_callback(NULL, "glGetBooleanIndexedvEXT", (GLADapiproc) glad_glGetBooleanIndexedvEXT, 3, target, index, data); + +} +PFNGLGETBOOLEANINDEXEDVEXTPROC glad_debug_glGetBooleanIndexedvEXT = glad_debug_impl_glGetBooleanIndexedvEXT; +PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBooleani_v(GLenum target, GLuint index, GLboolean * data) { + _pre_call_gl_callback("glGetBooleani_v", (GLADapiproc) glad_glGetBooleani_v, 3, target, index, data); + glad_glGetBooleani_v(target, index, data); + _post_call_gl_callback(NULL, "glGetBooleani_v", (GLADapiproc) glad_glGetBooleani_v, 3, target, index, data); + +} +PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v = glad_debug_impl_glGetBooleani_v; +PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBooleanv(GLenum pname, GLboolean * data) { + _pre_call_gl_callback("glGetBooleanv", (GLADapiproc) glad_glGetBooleanv, 2, pname, data); + glad_glGetBooleanv(pname, data); + _post_call_gl_callback(NULL, "glGetBooleanv", (GLADapiproc) glad_glGetBooleanv, 2, pname, data); + +} +PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv = glad_debug_impl_glGetBooleanv; +PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 * params) { + _pre_call_gl_callback("glGetBufferParameteri64v", (GLADapiproc) glad_glGetBufferParameteri64v, 3, target, pname, params); + glad_glGetBufferParameteri64v(target, pname, params); + _post_call_gl_callback(NULL, "glGetBufferParameteri64v", (GLADapiproc) glad_glGetBufferParameteri64v, 3, target, pname, params); + +} +PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v = glad_debug_impl_glGetBufferParameteri64v; +PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferParameteriv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetBufferParameteriv", (GLADapiproc) glad_glGetBufferParameteriv, 3, target, pname, params); + glad_glGetBufferParameteriv(target, pname, params); + _post_call_gl_callback(NULL, "glGetBufferParameteriv", (GLADapiproc) glad_glGetBufferParameteriv, 3, target, pname, params); + +} +PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv = glad_debug_impl_glGetBufferParameteriv; +PFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferParameterivARB(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetBufferParameterivARB", (GLADapiproc) glad_glGetBufferParameterivARB, 3, target, pname, params); + glad_glGetBufferParameterivARB(target, pname, params); + _post_call_gl_callback(NULL, "glGetBufferParameterivARB", (GLADapiproc) glad_glGetBufferParameterivARB, 3, target, pname, params); + +} +PFNGLGETBUFFERPARAMETERIVARBPROC glad_debug_glGetBufferParameterivARB = glad_debug_impl_glGetBufferParameterivARB; +PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferPointerv(GLenum target, GLenum pname, void ** params) { + _pre_call_gl_callback("glGetBufferPointerv", (GLADapiproc) glad_glGetBufferPointerv, 3, target, pname, params); + glad_glGetBufferPointerv(target, pname, params); + _post_call_gl_callback(NULL, "glGetBufferPointerv", (GLADapiproc) glad_glGetBufferPointerv, 3, target, pname, params); + +} +PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv = glad_debug_impl_glGetBufferPointerv; +PFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferPointervARB(GLenum target, GLenum pname, void ** params) { + _pre_call_gl_callback("glGetBufferPointervARB", (GLADapiproc) glad_glGetBufferPointervARB, 3, target, pname, params); + glad_glGetBufferPointervARB(target, pname, params); + _post_call_gl_callback(NULL, "glGetBufferPointervARB", (GLADapiproc) glad_glGetBufferPointervARB, 3, target, pname, params); + +} +PFNGLGETBUFFERPOINTERVARBPROC glad_debug_glGetBufferPointervARB = glad_debug_impl_glGetBufferPointervARB; +PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void * data) { + _pre_call_gl_callback("glGetBufferSubData", (GLADapiproc) glad_glGetBufferSubData, 4, target, offset, size, data); + glad_glGetBufferSubData(target, offset, size, data); + _post_call_gl_callback(NULL, "glGetBufferSubData", (GLADapiproc) glad_glGetBufferSubData, 4, target, offset, size, data); + +} +PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData = glad_debug_impl_glGetBufferSubData; +PFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data) { + _pre_call_gl_callback("glGetBufferSubDataARB", (GLADapiproc) glad_glGetBufferSubDataARB, 4, target, offset, size, data); + glad_glGetBufferSubDataARB(target, offset, size, data); + _post_call_gl_callback(NULL, "glGetBufferSubDataARB", (GLADapiproc) glad_glGetBufferSubDataARB, 4, target, offset, size, data); + +} +PFNGLGETBUFFERSUBDATAARBPROC glad_debug_glGetBufferSubDataARB = glad_debug_impl_glGetBufferSubDataARB; +PFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetClipPlanefOES(GLenum plane, GLfloat * equation) { + _pre_call_gl_callback("glGetClipPlanefOES", (GLADapiproc) glad_glGetClipPlanefOES, 2, plane, equation); + glad_glGetClipPlanefOES(plane, equation); + _post_call_gl_callback(NULL, "glGetClipPlanefOES", (GLADapiproc) glad_glGetClipPlanefOES, 2, plane, equation); + +} +PFNGLGETCLIPPLANEFOESPROC glad_debug_glGetClipPlanefOES = glad_debug_impl_glGetClipPlanefOES; +PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, void * img) { + _pre_call_gl_callback("glGetCompressedMultiTexImageEXT", (GLADapiproc) glad_glGetCompressedMultiTexImageEXT, 4, texunit, target, lod, img); + glad_glGetCompressedMultiTexImageEXT(texunit, target, lod, img); + _post_call_gl_callback(NULL, "glGetCompressedMultiTexImageEXT", (GLADapiproc) glad_glGetCompressedMultiTexImageEXT, 4, texunit, target, lod, img); + +} +PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_debug_glGetCompressedMultiTexImageEXT = glad_debug_impl_glGetCompressedMultiTexImageEXT; +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedTexImage(GLenum target, GLint level, void * img) { + _pre_call_gl_callback("glGetCompressedTexImage", (GLADapiproc) glad_glGetCompressedTexImage, 3, target, level, img); + glad_glGetCompressedTexImage(target, level, img); + _post_call_gl_callback(NULL, "glGetCompressedTexImage", (GLADapiproc) glad_glGetCompressedTexImage, 3, target, level, img); + +} +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage = glad_debug_impl_glGetCompressedTexImage; +PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedTexImageARB(GLenum target, GLint level, void * img) { + _pre_call_gl_callback("glGetCompressedTexImageARB", (GLADapiproc) glad_glGetCompressedTexImageARB, 3, target, level, img); + glad_glGetCompressedTexImageARB(target, level, img); + _post_call_gl_callback(NULL, "glGetCompressedTexImageARB", (GLADapiproc) glad_glGetCompressedTexImageARB, 3, target, level, img); + +} +PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_debug_glGetCompressedTexImageARB = glad_debug_impl_glGetCompressedTexImageARB; +PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetCompressedTextureImage", (GLADapiproc) glad_glGetCompressedTextureImage, 4, texture, level, bufSize, pixels); + glad_glGetCompressedTextureImage(texture, level, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetCompressedTextureImage", (GLADapiproc) glad_glGetCompressedTextureImage, 4, texture, level, bufSize, pixels); + +} +PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_debug_glGetCompressedTextureImage = glad_debug_impl_glGetCompressedTextureImage; +PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, void * img) { + _pre_call_gl_callback("glGetCompressedTextureImageEXT", (GLADapiproc) glad_glGetCompressedTextureImageEXT, 4, texture, target, lod, img); + glad_glGetCompressedTextureImageEXT(texture, target, lod, img); + _post_call_gl_callback(NULL, "glGetCompressedTextureImageEXT", (GLADapiproc) glad_glGetCompressedTextureImageEXT, 4, texture, target, lod, img); + +} +PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_debug_glGetCompressedTextureImageEXT = glad_debug_impl_glGetCompressedTextureImageEXT; +PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetCompressedTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetCompressedTextureSubImage", (GLADapiproc) glad_glGetCompressedTextureSubImage, 10, texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + glad_glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetCompressedTextureSubImage", (GLADapiproc) glad_glGetCompressedTextureSubImage, 10, texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + +} +PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_debug_glGetCompressedTextureSubImage = glad_debug_impl_glGetCompressedTextureSubImage; +PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) { + GLuint ret; + _pre_call_gl_callback("glGetDebugMessageLog", (GLADapiproc) glad_glGetDebugMessageLog, 8, count, bufSize, sources, types, ids, severities, lengths, messageLog); + ret = glad_glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + _post_call_gl_callback((void*) &ret, "glGetDebugMessageLog", (GLADapiproc) glad_glGetDebugMessageLog, 8, count, bufSize, sources, types, ids, severities, lengths, messageLog); + return ret; +} +PFNGLGETDEBUGMESSAGELOGPROC glad_debug_glGetDebugMessageLog = glad_debug_impl_glGetDebugMessageLog; +PFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glGetDebugMessageLogARB(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) { + GLuint ret; + _pre_call_gl_callback("glGetDebugMessageLogARB", (GLADapiproc) glad_glGetDebugMessageLogARB, 8, count, bufSize, sources, types, ids, severities, lengths, messageLog); + ret = glad_glGetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog); + _post_call_gl_callback((void*) &ret, "glGetDebugMessageLogARB", (GLADapiproc) glad_glGetDebugMessageLogARB, 8, count, bufSize, sources, types, ids, severities, lengths, messageLog); + return ret; +} +PFNGLGETDEBUGMESSAGELOGARBPROC glad_debug_glGetDebugMessageLogARB = glad_debug_impl_glGetDebugMessageLogARB; +PFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble * data) { + _pre_call_gl_callback("glGetDoubleIndexedvEXT", (GLADapiproc) glad_glGetDoubleIndexedvEXT, 3, target, index, data); + glad_glGetDoubleIndexedvEXT(target, index, data); + _post_call_gl_callback(NULL, "glGetDoubleIndexedvEXT", (GLADapiproc) glad_glGetDoubleIndexedvEXT, 3, target, index, data); + +} +PFNGLGETDOUBLEINDEXEDVEXTPROC glad_debug_glGetDoubleIndexedvEXT = glad_debug_impl_glGetDoubleIndexedvEXT; +PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetDoublei_v(GLenum target, GLuint index, GLdouble * data) { + _pre_call_gl_callback("glGetDoublei_v", (GLADapiproc) glad_glGetDoublei_v, 3, target, index, data); + glad_glGetDoublei_v(target, index, data); + _post_call_gl_callback(NULL, "glGetDoublei_v", (GLADapiproc) glad_glGetDoublei_v, 3, target, index, data); + +} +PFNGLGETDOUBLEI_VPROC glad_debug_glGetDoublei_v = glad_debug_impl_glGetDoublei_v; +PFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetDoublei_vEXT(GLenum pname, GLuint index, GLdouble * params) { + _pre_call_gl_callback("glGetDoublei_vEXT", (GLADapiproc) glad_glGetDoublei_vEXT, 3, pname, index, params); + glad_glGetDoublei_vEXT(pname, index, params); + _post_call_gl_callback(NULL, "glGetDoublei_vEXT", (GLADapiproc) glad_glGetDoublei_vEXT, 3, pname, index, params); + +} +PFNGLGETDOUBLEI_VEXTPROC glad_debug_glGetDoublei_vEXT = glad_debug_impl_glGetDoublei_vEXT; +PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetDoublev(GLenum pname, GLdouble * data) { + _pre_call_gl_callback("glGetDoublev", (GLADapiproc) glad_glGetDoublev, 2, pname, data); + glad_glGetDoublev(pname, data); + _post_call_gl_callback(NULL, "glGetDoublev", (GLADapiproc) glad_glGetDoublev, 2, pname, data); + +} +PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev = glad_debug_impl_glGetDoublev; +PFNGLGETERRORPROC glad_glGetError = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glGetError(void) { + GLenum ret; + _pre_call_gl_callback("glGetError", (GLADapiproc) glad_glGetError, 0); + ret = glad_glGetError(); + _post_call_gl_callback((void*) &ret, "glGetError", (GLADapiproc) glad_glGetError, 0); + return ret; +} +PFNGLGETERRORPROC glad_debug_glGetError = glad_debug_impl_glGetError; +PFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat * data) { + _pre_call_gl_callback("glGetFloatIndexedvEXT", (GLADapiproc) glad_glGetFloatIndexedvEXT, 3, target, index, data); + glad_glGetFloatIndexedvEXT(target, index, data); + _post_call_gl_callback(NULL, "glGetFloatIndexedvEXT", (GLADapiproc) glad_glGetFloatIndexedvEXT, 3, target, index, data); + +} +PFNGLGETFLOATINDEXEDVEXTPROC glad_debug_glGetFloatIndexedvEXT = glad_debug_impl_glGetFloatIndexedvEXT; +PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFloati_v(GLenum target, GLuint index, GLfloat * data) { + _pre_call_gl_callback("glGetFloati_v", (GLADapiproc) glad_glGetFloati_v, 3, target, index, data); + glad_glGetFloati_v(target, index, data); + _post_call_gl_callback(NULL, "glGetFloati_v", (GLADapiproc) glad_glGetFloati_v, 3, target, index, data); + +} +PFNGLGETFLOATI_VPROC glad_debug_glGetFloati_v = glad_debug_impl_glGetFloati_v; +PFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFloati_vEXT(GLenum pname, GLuint index, GLfloat * params) { + _pre_call_gl_callback("glGetFloati_vEXT", (GLADapiproc) glad_glGetFloati_vEXT, 3, pname, index, params); + glad_glGetFloati_vEXT(pname, index, params); + _post_call_gl_callback(NULL, "glGetFloati_vEXT", (GLADapiproc) glad_glGetFloati_vEXT, 3, pname, index, params); + +} +PFNGLGETFLOATI_VEXTPROC glad_debug_glGetFloati_vEXT = glad_debug_impl_glGetFloati_vEXT; +PFNGLGETFLOATVPROC glad_glGetFloatv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFloatv(GLenum pname, GLfloat * data) { + _pre_call_gl_callback("glGetFloatv", (GLADapiproc) glad_glGetFloatv, 2, pname, data); + glad_glGetFloatv(pname, data); + _post_call_gl_callback(NULL, "glGetFloatv", (GLADapiproc) glad_glGetFloatv, 2, pname, data); + +} +PFNGLGETFLOATVPROC glad_debug_glGetFloatv = glad_debug_impl_glGetFloatv; +PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetFragDataIndex(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetFragDataIndex", (GLADapiproc) glad_glGetFragDataIndex, 2, program, name); + ret = glad_glGetFragDataIndex(program, name); + _post_call_gl_callback((void*) &ret, "glGetFragDataIndex", (GLADapiproc) glad_glGetFragDataIndex, 2, program, name); + return ret; +} +PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex = glad_debug_impl_glGetFragDataIndex; +PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetFragDataLocation(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetFragDataLocation", (GLADapiproc) glad_glGetFragDataLocation, 2, program, name); + ret = glad_glGetFragDataLocation(program, name); + _post_call_gl_callback((void*) &ret, "glGetFragDataLocation", (GLADapiproc) glad_glGetFragDataLocation, 2, program, name); + return ret; +} +PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation = glad_debug_impl_glGetFragDataLocation; +PFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetFragDataLocationEXT(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetFragDataLocationEXT", (GLADapiproc) glad_glGetFragDataLocationEXT, 2, program, name); + ret = glad_glGetFragDataLocationEXT(program, name); + _post_call_gl_callback((void*) &ret, "glGetFragDataLocationEXT", (GLADapiproc) glad_glGetFragDataLocationEXT, 2, program, name); + return ret; +} +PFNGLGETFRAGDATALOCATIONEXTPROC glad_debug_glGetFragDataLocationEXT = glad_debug_impl_glGetFragDataLocationEXT; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetFramebufferAttachmentParameteriv", (GLADapiproc) glad_glGetFramebufferAttachmentParameteriv, 4, target, attachment, pname, params); + glad_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); + _post_call_gl_callback(NULL, "glGetFramebufferAttachmentParameteriv", (GLADapiproc) glad_glGetFramebufferAttachmentParameteriv, 4, target, attachment, pname, params); + +} +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv = glad_debug_impl_glGetFramebufferAttachmentParameteriv; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetFramebufferAttachmentParameterivEXT", (GLADapiproc) glad_glGetFramebufferAttachmentParameterivEXT, 4, target, attachment, pname, params); + glad_glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params); + _post_call_gl_callback(NULL, "glGetFramebufferAttachmentParameterivEXT", (GLADapiproc) glad_glGetFramebufferAttachmentParameterivEXT, 4, target, attachment, pname, params); + +} +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_debug_glGetFramebufferAttachmentParameterivEXT = glad_debug_impl_glGetFramebufferAttachmentParameterivEXT; +PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetFramebufferParameteriv", (GLADapiproc) glad_glGetFramebufferParameteriv, 3, target, pname, params); + glad_glGetFramebufferParameteriv(target, pname, params); + _post_call_gl_callback(NULL, "glGetFramebufferParameteriv", (GLADapiproc) glad_glGetFramebufferParameteriv, 3, target, pname, params); + +} +PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_debug_glGetFramebufferParameteriv = glad_debug_impl_glGetFramebufferParameteriv; +PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetFramebufferParameterivEXT", (GLADapiproc) glad_glGetFramebufferParameterivEXT, 3, framebuffer, pname, params); + glad_glGetFramebufferParameterivEXT(framebuffer, pname, params); + _post_call_gl_callback(NULL, "glGetFramebufferParameterivEXT", (GLADapiproc) glad_glGetFramebufferParameterivEXT, 3, framebuffer, pname, params); + +} +PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_debug_glGetFramebufferParameterivEXT = glad_debug_impl_glGetFramebufferParameterivEXT; +PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glGetGraphicsResetStatus(void) { + GLenum ret; + _pre_call_gl_callback("glGetGraphicsResetStatus", (GLADapiproc) glad_glGetGraphicsResetStatus, 0); + ret = glad_glGetGraphicsResetStatus(); + _post_call_gl_callback((void*) &ret, "glGetGraphicsResetStatus", (GLADapiproc) glad_glGetGraphicsResetStatus, 0); + return ret; +} +PFNGLGETGRAPHICSRESETSTATUSPROC glad_debug_glGetGraphicsResetStatus = glad_debug_impl_glGetGraphicsResetStatus; +PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB = NULL; +static GLenum GLAD_API_PTR glad_debug_impl_glGetGraphicsResetStatusARB(void) { + GLenum ret; + _pre_call_gl_callback("glGetGraphicsResetStatusARB", (GLADapiproc) glad_glGetGraphicsResetStatusARB, 0); + ret = glad_glGetGraphicsResetStatusARB(); + _post_call_gl_callback((void*) &ret, "glGetGraphicsResetStatusARB", (GLADapiproc) glad_glGetGraphicsResetStatusARB, 0); + return ret; +} +PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_debug_glGetGraphicsResetStatusARB = glad_debug_impl_glGetGraphicsResetStatusARB; +PFNGLGETHANDLEARBPROC glad_glGetHandleARB = NULL; +static GLhandleARB GLAD_API_PTR glad_debug_impl_glGetHandleARB(GLenum pname) { + GLhandleARB ret; + _pre_call_gl_callback("glGetHandleARB", (GLADapiproc) glad_glGetHandleARB, 1, pname); + ret = glad_glGetHandleARB(pname); + _post_call_gl_callback((void*) &ret, "glGetHandleARB", (GLADapiproc) glad_glGetHandleARB, 1, pname); + return ret; +} +PFNGLGETHANDLEARBPROC glad_debug_glGetHandleARB = glad_debug_impl_glGetHandleARB; +PFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) { + GLuint64 ret; + _pre_call_gl_callback("glGetImageHandleARB", (GLADapiproc) glad_glGetImageHandleARB, 5, texture, level, layered, layer, format); + ret = glad_glGetImageHandleARB(texture, level, layered, layer, format); + _post_call_gl_callback((void*) &ret, "glGetImageHandleARB", (GLADapiproc) glad_glGetImageHandleARB, 5, texture, level, layered, layer, format); + return ret; +} +PFNGLGETIMAGEHANDLEARBPROC glad_debug_glGetImageHandleARB = glad_debug_impl_glGetImageHandleARB; +PFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) { + GLuint64 ret; + _pre_call_gl_callback("glGetImageHandleNV", (GLADapiproc) glad_glGetImageHandleNV, 5, texture, level, layered, layer, format); + ret = glad_glGetImageHandleNV(texture, level, layered, layer, format); + _post_call_gl_callback((void*) &ret, "glGetImageHandleNV", (GLADapiproc) glad_glGetImageHandleNV, 5, texture, level, layered, layer, format); + return ret; +} +PFNGLGETIMAGEHANDLENVPROC glad_debug_glGetImageHandleNV = glad_debug_impl_glGetImageHandleNV; +PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog) { + _pre_call_gl_callback("glGetInfoLogARB", (GLADapiproc) glad_glGetInfoLogARB, 4, obj, maxLength, length, infoLog); + glad_glGetInfoLogARB(obj, maxLength, length, infoLog); + _post_call_gl_callback(NULL, "glGetInfoLogARB", (GLADapiproc) glad_glGetInfoLogARB, 4, obj, maxLength, length, infoLog); + +} +PFNGLGETINFOLOGARBPROC glad_debug_glGetInfoLogARB = glad_debug_impl_glGetInfoLogARB; +PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetInteger64i_v(GLenum target, GLuint index, GLint64 * data) { + _pre_call_gl_callback("glGetInteger64i_v", (GLADapiproc) glad_glGetInteger64i_v, 3, target, index, data); + glad_glGetInteger64i_v(target, index, data); + _post_call_gl_callback(NULL, "glGetInteger64i_v", (GLADapiproc) glad_glGetInteger64i_v, 3, target, index, data); + +} +PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v = glad_debug_impl_glGetInteger64i_v; +PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetInteger64v(GLenum pname, GLint64 * data) { + _pre_call_gl_callback("glGetInteger64v", (GLADapiproc) glad_glGetInteger64v, 2, pname, data); + glad_glGetInteger64v(pname, data); + _post_call_gl_callback(NULL, "glGetInteger64v", (GLADapiproc) glad_glGetInteger64v, 2, pname, data); + +} +PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v = glad_debug_impl_glGetInteger64v; +PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint * data) { + _pre_call_gl_callback("glGetIntegerIndexedvEXT", (GLADapiproc) glad_glGetIntegerIndexedvEXT, 3, target, index, data); + glad_glGetIntegerIndexedvEXT(target, index, data); + _post_call_gl_callback(NULL, "glGetIntegerIndexedvEXT", (GLADapiproc) glad_glGetIntegerIndexedvEXT, 3, target, index, data); + +} +PFNGLGETINTEGERINDEXEDVEXTPROC glad_debug_glGetIntegerIndexedvEXT = glad_debug_impl_glGetIntegerIndexedvEXT; +PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetIntegeri_v(GLenum target, GLuint index, GLint * data) { + _pre_call_gl_callback("glGetIntegeri_v", (GLADapiproc) glad_glGetIntegeri_v, 3, target, index, data); + glad_glGetIntegeri_v(target, index, data); + _post_call_gl_callback(NULL, "glGetIntegeri_v", (GLADapiproc) glad_glGetIntegeri_v, 3, target, index, data); + +} +PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v = glad_debug_impl_glGetIntegeri_v; +PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetIntegerv(GLenum pname, GLint * data) { + _pre_call_gl_callback("glGetIntegerv", (GLADapiproc) glad_glGetIntegerv, 2, pname, data); + glad_glGetIntegerv(pname, data); + _post_call_gl_callback(NULL, "glGetIntegerv", (GLADapiproc) glad_glGetIntegerv, 2, pname, data); + +} +PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv = glad_debug_impl_glGetIntegerv; +PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 * params) { + _pre_call_gl_callback("glGetInternalformati64v", (GLADapiproc) glad_glGetInternalformati64v, 5, target, internalformat, pname, count, params); + glad_glGetInternalformati64v(target, internalformat, pname, count, params); + _post_call_gl_callback(NULL, "glGetInternalformati64v", (GLADapiproc) glad_glGetInternalformati64v, 5, target, internalformat, pname, count, params); + +} +PFNGLGETINTERNALFORMATI64VPROC glad_debug_glGetInternalformati64v = glad_debug_impl_glGetInternalformati64v; +PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint * params) { + _pre_call_gl_callback("glGetInternalformativ", (GLADapiproc) glad_glGetInternalformativ, 5, target, internalformat, pname, count, params); + glad_glGetInternalformativ(target, internalformat, pname, count, params); + _post_call_gl_callback(NULL, "glGetInternalformativ", (GLADapiproc) glad_glGetInternalformativ, 5, target, internalformat, pname, count, params); + +} +PFNGLGETINTERNALFORMATIVPROC glad_debug_glGetInternalformativ = glad_debug_impl_glGetInternalformativ; +PFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetMultiTexEnvfvEXT", (GLADapiproc) glad_glGetMultiTexEnvfvEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexEnvfvEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexEnvfvEXT", (GLADapiproc) glad_glGetMultiTexEnvfvEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXENVFVEXTPROC glad_debug_glGetMultiTexEnvfvEXT = glad_debug_impl_glGetMultiTexEnvfvEXT; +PFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetMultiTexEnvivEXT", (GLADapiproc) glad_glGetMultiTexEnvivEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexEnvivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexEnvivEXT", (GLADapiproc) glad_glGetMultiTexEnvivEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXENVIVEXTPROC glad_debug_glGetMultiTexEnvivEXT = glad_debug_impl_glGetMultiTexEnvivEXT; +PFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetMultiTexGendvEXT", (GLADapiproc) glad_glGetMultiTexGendvEXT, 4, texunit, coord, pname, params); + glad_glGetMultiTexGendvEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexGendvEXT", (GLADapiproc) glad_glGetMultiTexGendvEXT, 4, texunit, coord, pname, params); + +} +PFNGLGETMULTITEXGENDVEXTPROC glad_debug_glGetMultiTexGendvEXT = glad_debug_impl_glGetMultiTexGendvEXT; +PFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetMultiTexGenfvEXT", (GLADapiproc) glad_glGetMultiTexGenfvEXT, 4, texunit, coord, pname, params); + glad_glGetMultiTexGenfvEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexGenfvEXT", (GLADapiproc) glad_glGetMultiTexGenfvEXT, 4, texunit, coord, pname, params); + +} +PFNGLGETMULTITEXGENFVEXTPROC glad_debug_glGetMultiTexGenfvEXT = glad_debug_impl_glGetMultiTexGenfvEXT; +PFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetMultiTexGenivEXT", (GLADapiproc) glad_glGetMultiTexGenivEXT, 4, texunit, coord, pname, params); + glad_glGetMultiTexGenivEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexGenivEXT", (GLADapiproc) glad_glGetMultiTexGenivEXT, 4, texunit, coord, pname, params); + +} +PFNGLGETMULTITEXGENIVEXTPROC glad_debug_glGetMultiTexGenivEXT = glad_debug_impl_glGetMultiTexGenivEXT; +PFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void * pixels) { + _pre_call_gl_callback("glGetMultiTexImageEXT", (GLADapiproc) glad_glGetMultiTexImageEXT, 6, texunit, target, level, format, type, pixels); + glad_glGetMultiTexImageEXT(texunit, target, level, format, type, pixels); + _post_call_gl_callback(NULL, "glGetMultiTexImageEXT", (GLADapiproc) glad_glGetMultiTexImageEXT, 6, texunit, target, level, format, type, pixels); + +} +PFNGLGETMULTITEXIMAGEEXTPROC glad_debug_glGetMultiTexImageEXT = glad_debug_impl_glGetMultiTexImageEXT; +PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetMultiTexLevelParameterfvEXT", (GLADapiproc) glad_glGetMultiTexLevelParameterfvEXT, 5, texunit, target, level, pname, params); + glad_glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexLevelParameterfvEXT", (GLADapiproc) glad_glGetMultiTexLevelParameterfvEXT, 5, texunit, target, level, pname, params); + +} +PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_debug_glGetMultiTexLevelParameterfvEXT = glad_debug_impl_glGetMultiTexLevelParameterfvEXT; +PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetMultiTexLevelParameterivEXT", (GLADapiproc) glad_glGetMultiTexLevelParameterivEXT, 5, texunit, target, level, pname, params); + glad_glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexLevelParameterivEXT", (GLADapiproc) glad_glGetMultiTexLevelParameterivEXT, 5, texunit, target, level, pname, params); + +} +PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_debug_glGetMultiTexLevelParameterivEXT = glad_debug_impl_glGetMultiTexLevelParameterivEXT; +PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetMultiTexParameterIivEXT", (GLADapiproc) glad_glGetMultiTexParameterIivEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexParameterIivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexParameterIivEXT", (GLADapiproc) glad_glGetMultiTexParameterIivEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_debug_glGetMultiTexParameterIivEXT = glad_debug_impl_glGetMultiTexParameterIivEXT; +PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetMultiTexParameterIuivEXT", (GLADapiproc) glad_glGetMultiTexParameterIuivEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexParameterIuivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexParameterIuivEXT", (GLADapiproc) glad_glGetMultiTexParameterIuivEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_debug_glGetMultiTexParameterIuivEXT = glad_debug_impl_glGetMultiTexParameterIuivEXT; +PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetMultiTexParameterfvEXT", (GLADapiproc) glad_glGetMultiTexParameterfvEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexParameterfvEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexParameterfvEXT", (GLADapiproc) glad_glGetMultiTexParameterfvEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_debug_glGetMultiTexParameterfvEXT = glad_debug_impl_glGetMultiTexParameterfvEXT; +PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetMultiTexParameterivEXT", (GLADapiproc) glad_glGetMultiTexParameterivEXT, 4, texunit, target, pname, params); + glad_glGetMultiTexParameterivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glGetMultiTexParameterivEXT", (GLADapiproc) glad_glGetMultiTexParameterivEXT, 4, texunit, target, pname, params); + +} +PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_debug_glGetMultiTexParameterivEXT = glad_debug_impl_glGetMultiTexParameterivEXT; +PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat * val) { + _pre_call_gl_callback("glGetMultisamplefv", (GLADapiproc) glad_glGetMultisamplefv, 3, pname, index, val); + glad_glGetMultisamplefv(pname, index, val); + _post_call_gl_callback(NULL, "glGetMultisamplefv", (GLADapiproc) glad_glGetMultisamplefv, 3, pname, index, val); + +} +PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv = glad_debug_impl_glGetMultisamplefv; +PFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat * val) { + _pre_call_gl_callback("glGetMultisamplefvNV", (GLADapiproc) glad_glGetMultisamplefvNV, 3, pname, index, val); + glad_glGetMultisamplefvNV(pname, index, val); + _post_call_gl_callback(NULL, "glGetMultisamplefvNV", (GLADapiproc) glad_glGetMultisamplefvNV, 3, pname, index, val); + +} +PFNGLGETMULTISAMPLEFVNVPROC glad_debug_glGetMultisamplefvNV = glad_debug_impl_glGetMultisamplefvNV; +PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 * params) { + _pre_call_gl_callback("glGetNamedBufferParameteri64v", (GLADapiproc) glad_glGetNamedBufferParameteri64v, 3, buffer, pname, params); + glad_glGetNamedBufferParameteri64v(buffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedBufferParameteri64v", (GLADapiproc) glad_glGetNamedBufferParameteri64v, 3, buffer, pname, params); + +} +PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_debug_glGetNamedBufferParameteri64v = glad_debug_impl_glGetNamedBufferParameteri64v; +PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedBufferParameteriv", (GLADapiproc) glad_glGetNamedBufferParameteriv, 3, buffer, pname, params); + glad_glGetNamedBufferParameteriv(buffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedBufferParameteriv", (GLADapiproc) glad_glGetNamedBufferParameteriv, 3, buffer, pname, params); + +} +PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_debug_glGetNamedBufferParameteriv = glad_debug_impl_glGetNamedBufferParameteriv; +PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedBufferParameterivEXT", (GLADapiproc) glad_glGetNamedBufferParameterivEXT, 3, buffer, pname, params); + glad_glGetNamedBufferParameterivEXT(buffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedBufferParameterivEXT", (GLADapiproc) glad_glGetNamedBufferParameterivEXT, 3, buffer, pname, params); + +} +PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedBufferParameterivEXT = glad_debug_impl_glGetNamedBufferParameterivEXT; +PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void ** params) { + _pre_call_gl_callback("glGetNamedBufferPointerv", (GLADapiproc) glad_glGetNamedBufferPointerv, 3, buffer, pname, params); + glad_glGetNamedBufferPointerv(buffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedBufferPointerv", (GLADapiproc) glad_glGetNamedBufferPointerv, 3, buffer, pname, params); + +} +PFNGLGETNAMEDBUFFERPOINTERVPROC glad_debug_glGetNamedBufferPointerv = glad_debug_impl_glGetNamedBufferPointerv; +PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, void ** params) { + _pre_call_gl_callback("glGetNamedBufferPointervEXT", (GLADapiproc) glad_glGetNamedBufferPointervEXT, 3, buffer, pname, params); + glad_glGetNamedBufferPointervEXT(buffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedBufferPointervEXT", (GLADapiproc) glad_glGetNamedBufferPointervEXT, 3, buffer, pname, params); + +} +PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_debug_glGetNamedBufferPointervEXT = glad_debug_impl_glGetNamedBufferPointervEXT; +PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data) { + _pre_call_gl_callback("glGetNamedBufferSubData", (GLADapiproc) glad_glGetNamedBufferSubData, 4, buffer, offset, size, data); + glad_glGetNamedBufferSubData(buffer, offset, size, data); + _post_call_gl_callback(NULL, "glGetNamedBufferSubData", (GLADapiproc) glad_glGetNamedBufferSubData, 4, buffer, offset, size, data); + +} +PFNGLGETNAMEDBUFFERSUBDATAPROC glad_debug_glGetNamedBufferSubData = glad_debug_impl_glGetNamedBufferSubData; +PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data) { + _pre_call_gl_callback("glGetNamedBufferSubDataEXT", (GLADapiproc) glad_glGetNamedBufferSubDataEXT, 4, buffer, offset, size, data); + glad_glGetNamedBufferSubDataEXT(buffer, offset, size, data); + _post_call_gl_callback(NULL, "glGetNamedBufferSubDataEXT", (GLADapiproc) glad_glGetNamedBufferSubDataEXT, 4, buffer, offset, size, data); + +} +PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_debug_glGetNamedBufferSubDataEXT = glad_debug_impl_glGetNamedBufferSubDataEXT; +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedFramebufferAttachmentParameteriv", (GLADapiproc) glad_glGetNamedFramebufferAttachmentParameteriv, 4, framebuffer, attachment, pname, params); + glad_glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); + _post_call_gl_callback(NULL, "glGetNamedFramebufferAttachmentParameteriv", (GLADapiproc) glad_glGetNamedFramebufferAttachmentParameteriv, 4, framebuffer, attachment, pname, params); + +} +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetNamedFramebufferAttachmentParameteriv = glad_debug_impl_glGetNamedFramebufferAttachmentParameteriv; +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedFramebufferAttachmentParameterivEXT", (GLADapiproc) glad_glGetNamedFramebufferAttachmentParameterivEXT, 4, framebuffer, attachment, pname, params); + glad_glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params); + _post_call_gl_callback(NULL, "glGetNamedFramebufferAttachmentParameterivEXT", (GLADapiproc) glad_glGetNamedFramebufferAttachmentParameterivEXT, 4, framebuffer, attachment, pname, params); + +} +PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_debug_glGetNamedFramebufferAttachmentParameterivEXT = glad_debug_impl_glGetNamedFramebufferAttachmentParameterivEXT; +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetNamedFramebufferParameteriv", (GLADapiproc) glad_glGetNamedFramebufferParameteriv, 3, framebuffer, pname, param); + glad_glGetNamedFramebufferParameteriv(framebuffer, pname, param); + _post_call_gl_callback(NULL, "glGetNamedFramebufferParameteriv", (GLADapiproc) glad_glGetNamedFramebufferParameteriv, 3, framebuffer, pname, param); + +} +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_debug_glGetNamedFramebufferParameteriv = glad_debug_impl_glGetNamedFramebufferParameteriv; +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedFramebufferParameterivEXT", (GLADapiproc) glad_glGetNamedFramebufferParameterivEXT, 3, framebuffer, pname, params); + glad_glGetNamedFramebufferParameterivEXT(framebuffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedFramebufferParameterivEXT", (GLADapiproc) glad_glGetNamedFramebufferParameterivEXT, 3, framebuffer, pname, params); + +} +PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedFramebufferParameterivEXT = glad_debug_impl_glGetNamedFramebufferParameterivEXT; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint * params) { + _pre_call_gl_callback("glGetNamedProgramLocalParameterIivEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterIivEXT, 4, program, target, index, params); + glad_glGetNamedProgramLocalParameterIivEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glGetNamedProgramLocalParameterIivEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterIivEXT, 4, program, target, index, params); + +} +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_debug_glGetNamedProgramLocalParameterIivEXT = glad_debug_impl_glGetNamedProgramLocalParameterIivEXT; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint * params) { + _pre_call_gl_callback("glGetNamedProgramLocalParameterIuivEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterIuivEXT, 4, program, target, index, params); + glad_glGetNamedProgramLocalParameterIuivEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glGetNamedProgramLocalParameterIuivEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterIuivEXT, 4, program, target, index, params); + +} +PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_debug_glGetNamedProgramLocalParameterIuivEXT = glad_debug_impl_glGetNamedProgramLocalParameterIuivEXT; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble * params) { + _pre_call_gl_callback("glGetNamedProgramLocalParameterdvEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterdvEXT, 4, program, target, index, params); + glad_glGetNamedProgramLocalParameterdvEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glGetNamedProgramLocalParameterdvEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterdvEXT, 4, program, target, index, params); + +} +PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_debug_glGetNamedProgramLocalParameterdvEXT = glad_debug_impl_glGetNamedProgramLocalParameterdvEXT; +PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat * params) { + _pre_call_gl_callback("glGetNamedProgramLocalParameterfvEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterfvEXT, 4, program, target, index, params); + glad_glGetNamedProgramLocalParameterfvEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glGetNamedProgramLocalParameterfvEXT", (GLADapiproc) glad_glGetNamedProgramLocalParameterfvEXT, 4, program, target, index, params); + +} +PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_debug_glGetNamedProgramLocalParameterfvEXT = glad_debug_impl_glGetNamedProgramLocalParameterfvEXT; +PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, void * string) { + _pre_call_gl_callback("glGetNamedProgramStringEXT", (GLADapiproc) glad_glGetNamedProgramStringEXT, 4, program, target, pname, string); + glad_glGetNamedProgramStringEXT(program, target, pname, string); + _post_call_gl_callback(NULL, "glGetNamedProgramStringEXT", (GLADapiproc) glad_glGetNamedProgramStringEXT, 4, program, target, pname, string); + +} +PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_debug_glGetNamedProgramStringEXT = glad_debug_impl_glGetNamedProgramStringEXT; +PFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedProgramivEXT", (GLADapiproc) glad_glGetNamedProgramivEXT, 4, program, target, pname, params); + glad_glGetNamedProgramivEXT(program, target, pname, params); + _post_call_gl_callback(NULL, "glGetNamedProgramivEXT", (GLADapiproc) glad_glGetNamedProgramivEXT, 4, program, target, pname, params); + +} +PFNGLGETNAMEDPROGRAMIVEXTPROC glad_debug_glGetNamedProgramivEXT = glad_debug_impl_glGetNamedProgramivEXT; +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedRenderbufferParameteriv", (GLADapiproc) glad_glGetNamedRenderbufferParameteriv, 3, renderbuffer, pname, params); + glad_glGetNamedRenderbufferParameteriv(renderbuffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedRenderbufferParameteriv", (GLADapiproc) glad_glGetNamedRenderbufferParameteriv, 3, renderbuffer, pname, params); + +} +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_debug_glGetNamedRenderbufferParameteriv = glad_debug_impl_glGetNamedRenderbufferParameteriv; +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetNamedRenderbufferParameterivEXT", (GLADapiproc) glad_glGetNamedRenderbufferParameterivEXT, 3, renderbuffer, pname, params); + glad_glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params); + _post_call_gl_callback(NULL, "glGetNamedRenderbufferParameterivEXT", (GLADapiproc) glad_glGetNamedRenderbufferParameterivEXT, 3, renderbuffer, pname, params); + +} +PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_debug_glGetNamedRenderbufferParameterivEXT = glad_debug_impl_glGetNamedRenderbufferParameterivEXT; +PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) { + _pre_call_gl_callback("glGetObjectLabel", (GLADapiproc) glad_glGetObjectLabel, 5, identifier, name, bufSize, length, label); + glad_glGetObjectLabel(identifier, name, bufSize, length, label); + _post_call_gl_callback(NULL, "glGetObjectLabel", (GLADapiproc) glad_glGetObjectLabel, 5, identifier, name, bufSize, length, label); + +} +PFNGLGETOBJECTLABELPROC glad_debug_glGetObjectLabel = glad_debug_impl_glGetObjectLabel; +PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetObjectParameterfvARB", (GLADapiproc) glad_glGetObjectParameterfvARB, 3, obj, pname, params); + glad_glGetObjectParameterfvARB(obj, pname, params); + _post_call_gl_callback(NULL, "glGetObjectParameterfvARB", (GLADapiproc) glad_glGetObjectParameterfvARB, 3, obj, pname, params); + +} +PFNGLGETOBJECTPARAMETERFVARBPROC glad_debug_glGetObjectParameterfvARB = glad_debug_impl_glGetObjectParameterfvARB; +PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetObjectParameterivARB", (GLADapiproc) glad_glGetObjectParameterivARB, 3, obj, pname, params); + glad_glGetObjectParameterivARB(obj, pname, params); + _post_call_gl_callback(NULL, "glGetObjectParameterivARB", (GLADapiproc) glad_glGetObjectParameterivARB, 3, obj, pname, params); + +} +PFNGLGETOBJECTPARAMETERIVARBPROC glad_debug_glGetObjectParameterivARB = glad_debug_impl_glGetObjectParameterivARB; +PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetObjectPtrLabel(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label) { + _pre_call_gl_callback("glGetObjectPtrLabel", (GLADapiproc) glad_glGetObjectPtrLabel, 4, ptr, bufSize, length, label); + glad_glGetObjectPtrLabel(ptr, bufSize, length, label); + _post_call_gl_callback(NULL, "glGetObjectPtrLabel", (GLADapiproc) glad_glGetObjectPtrLabel, 4, ptr, bufSize, length, label); + +} +PFNGLGETOBJECTPTRLABELPROC glad_debug_glGetObjectPtrLabel = glad_debug_impl_glGetObjectPtrLabel; +PFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetPointerIndexedvEXT(GLenum target, GLuint index, void ** data) { + _pre_call_gl_callback("glGetPointerIndexedvEXT", (GLADapiproc) glad_glGetPointerIndexedvEXT, 3, target, index, data); + glad_glGetPointerIndexedvEXT(target, index, data); + _post_call_gl_callback(NULL, "glGetPointerIndexedvEXT", (GLADapiproc) glad_glGetPointerIndexedvEXT, 3, target, index, data); + +} +PFNGLGETPOINTERINDEXEDVEXTPROC glad_debug_glGetPointerIndexedvEXT = glad_debug_impl_glGetPointerIndexedvEXT; +PFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetPointeri_vEXT(GLenum pname, GLuint index, void ** params) { + _pre_call_gl_callback("glGetPointeri_vEXT", (GLADapiproc) glad_glGetPointeri_vEXT, 3, pname, index, params); + glad_glGetPointeri_vEXT(pname, index, params); + _post_call_gl_callback(NULL, "glGetPointeri_vEXT", (GLADapiproc) glad_glGetPointeri_vEXT, 3, pname, index, params); + +} +PFNGLGETPOINTERI_VEXTPROC glad_debug_glGetPointeri_vEXT = glad_debug_impl_glGetPointeri_vEXT; +PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetPointerv(GLenum pname, void ** params) { + _pre_call_gl_callback("glGetPointerv", (GLADapiproc) glad_glGetPointerv, 2, pname, params); + glad_glGetPointerv(pname, params); + _post_call_gl_callback(NULL, "glGetPointerv", (GLADapiproc) glad_glGetPointerv, 2, pname, params); + +} +PFNGLGETPOINTERVPROC glad_debug_glGetPointerv = glad_debug_impl_glGetPointerv; +PFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetPointervEXT(GLenum pname, void ** params) { + _pre_call_gl_callback("glGetPointervEXT", (GLADapiproc) glad_glGetPointervEXT, 2, pname, params); + glad_glGetPointervEXT(pname, params); + _post_call_gl_callback(NULL, "glGetPointervEXT", (GLADapiproc) glad_glGetPointervEXT, 2, pname, params); + +} +PFNGLGETPOINTERVEXTPROC glad_debug_glGetPointervEXT = glad_debug_impl_glGetPointervEXT; +PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) { + _pre_call_gl_callback("glGetProgramBinary", (GLADapiproc) glad_glGetProgramBinary, 5, program, bufSize, length, binaryFormat, binary); + glad_glGetProgramBinary(program, bufSize, length, binaryFormat, binary); + _post_call_gl_callback(NULL, "glGetProgramBinary", (GLADapiproc) glad_glGetProgramBinary, 5, program, bufSize, length, binaryFormat, binary); + +} +PFNGLGETPROGRAMBINARYPROC glad_debug_glGetProgramBinary = glad_debug_impl_glGetProgramBinary; +PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble * params) { + _pre_call_gl_callback("glGetProgramEnvParameterdvARB", (GLADapiproc) glad_glGetProgramEnvParameterdvARB, 3, target, index, params); + glad_glGetProgramEnvParameterdvARB(target, index, params); + _post_call_gl_callback(NULL, "glGetProgramEnvParameterdvARB", (GLADapiproc) glad_glGetProgramEnvParameterdvARB, 3, target, index, params); + +} +PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_debug_glGetProgramEnvParameterdvARB = glad_debug_impl_glGetProgramEnvParameterdvARB; +PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat * params) { + _pre_call_gl_callback("glGetProgramEnvParameterfvARB", (GLADapiproc) glad_glGetProgramEnvParameterfvARB, 3, target, index, params); + glad_glGetProgramEnvParameterfvARB(target, index, params); + _post_call_gl_callback(NULL, "glGetProgramEnvParameterfvARB", (GLADapiproc) glad_glGetProgramEnvParameterfvARB, 3, target, index, params); + +} +PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_debug_glGetProgramEnvParameterfvARB = glad_debug_impl_glGetProgramEnvParameterfvARB; +PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + _pre_call_gl_callback("glGetProgramInfoLog", (GLADapiproc) glad_glGetProgramInfoLog, 4, program, bufSize, length, infoLog); + glad_glGetProgramInfoLog(program, bufSize, length, infoLog); + _post_call_gl_callback(NULL, "glGetProgramInfoLog", (GLADapiproc) glad_glGetProgramInfoLog, 4, program, bufSize, length, infoLog); + +} +PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog = glad_debug_impl_glGetProgramInfoLog; +PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetProgramInterfaceiv", (GLADapiproc) glad_glGetProgramInterfaceiv, 4, program, programInterface, pname, params); + glad_glGetProgramInterfaceiv(program, programInterface, pname, params); + _post_call_gl_callback(NULL, "glGetProgramInterfaceiv", (GLADapiproc) glad_glGetProgramInterfaceiv, 4, program, programInterface, pname, params); + +} +PFNGLGETPROGRAMINTERFACEIVPROC glad_debug_glGetProgramInterfaceiv = glad_debug_impl_glGetProgramInterfaceiv; +PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble * params) { + _pre_call_gl_callback("glGetProgramLocalParameterdvARB", (GLADapiproc) glad_glGetProgramLocalParameterdvARB, 3, target, index, params); + glad_glGetProgramLocalParameterdvARB(target, index, params); + _post_call_gl_callback(NULL, "glGetProgramLocalParameterdvARB", (GLADapiproc) glad_glGetProgramLocalParameterdvARB, 3, target, index, params); + +} +PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_debug_glGetProgramLocalParameterdvARB = glad_debug_impl_glGetProgramLocalParameterdvARB; +PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat * params) { + _pre_call_gl_callback("glGetProgramLocalParameterfvARB", (GLADapiproc) glad_glGetProgramLocalParameterfvARB, 3, target, index, params); + glad_glGetProgramLocalParameterfvARB(target, index, params); + _post_call_gl_callback(NULL, "glGetProgramLocalParameterfvARB", (GLADapiproc) glad_glGetProgramLocalParameterfvARB, 3, target, index, params); + +} +PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_debug_glGetProgramLocalParameterfvARB = glad_debug_impl_glGetProgramLocalParameterfvARB; +PFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetProgramParameterdvNV", (GLADapiproc) glad_glGetProgramParameterdvNV, 4, target, index, pname, params); + glad_glGetProgramParameterdvNV(target, index, pname, params); + _post_call_gl_callback(NULL, "glGetProgramParameterdvNV", (GLADapiproc) glad_glGetProgramParameterdvNV, 4, target, index, pname, params); + +} +PFNGLGETPROGRAMPARAMETERDVNVPROC glad_debug_glGetProgramParameterdvNV = glad_debug_impl_glGetProgramParameterdvNV; +PFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetProgramParameterfvNV", (GLADapiproc) glad_glGetProgramParameterfvNV, 4, target, index, pname, params); + glad_glGetProgramParameterfvNV(target, index, pname, params); + _post_call_gl_callback(NULL, "glGetProgramParameterfvNV", (GLADapiproc) glad_glGetProgramParameterfvNV, 4, target, index, pname, params); + +} +PFNGLGETPROGRAMPARAMETERFVNVPROC glad_debug_glGetProgramParameterfvNV = glad_debug_impl_glGetProgramParameterfvNV; +PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + _pre_call_gl_callback("glGetProgramPipelineInfoLog", (GLADapiproc) glad_glGetProgramPipelineInfoLog, 4, pipeline, bufSize, length, infoLog); + glad_glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + _post_call_gl_callback(NULL, "glGetProgramPipelineInfoLog", (GLADapiproc) glad_glGetProgramPipelineInfoLog, 4, pipeline, bufSize, length, infoLog); + +} +PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_debug_glGetProgramPipelineInfoLog = glad_debug_impl_glGetProgramPipelineInfoLog; +PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetProgramPipelineiv", (GLADapiproc) glad_glGetProgramPipelineiv, 3, pipeline, pname, params); + glad_glGetProgramPipelineiv(pipeline, pname, params); + _post_call_gl_callback(NULL, "glGetProgramPipelineiv", (GLADapiproc) glad_glGetProgramPipelineiv, 3, pipeline, pname, params); + +} +PFNGLGETPROGRAMPIPELINEIVPROC glad_debug_glGetProgramPipelineiv = glad_debug_impl_glGetProgramPipelineiv; +PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name) { + GLuint ret; + _pre_call_gl_callback("glGetProgramResourceIndex", (GLADapiproc) glad_glGetProgramResourceIndex, 3, program, programInterface, name); + ret = glad_glGetProgramResourceIndex(program, programInterface, name); + _post_call_gl_callback((void*) &ret, "glGetProgramResourceIndex", (GLADapiproc) glad_glGetProgramResourceIndex, 3, program, programInterface, name); + return ret; +} +PFNGLGETPROGRAMRESOURCEINDEXPROC glad_debug_glGetProgramResourceIndex = glad_debug_impl_glGetProgramResourceIndex; +PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetProgramResourceLocation", (GLADapiproc) glad_glGetProgramResourceLocation, 3, program, programInterface, name); + ret = glad_glGetProgramResourceLocation(program, programInterface, name); + _post_call_gl_callback((void*) &ret, "glGetProgramResourceLocation", (GLADapiproc) glad_glGetProgramResourceLocation, 3, program, programInterface, name); + return ret; +} +PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_debug_glGetProgramResourceLocation = glad_debug_impl_glGetProgramResourceLocation; +PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetProgramResourceLocationIndex", (GLADapiproc) glad_glGetProgramResourceLocationIndex, 3, program, programInterface, name); + ret = glad_glGetProgramResourceLocationIndex(program, programInterface, name); + _post_call_gl_callback((void*) &ret, "glGetProgramResourceLocationIndex", (GLADapiproc) glad_glGetProgramResourceLocationIndex, 3, program, programInterface, name); + return ret; +} +PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_debug_glGetProgramResourceLocationIndex = glad_debug_impl_glGetProgramResourceLocationIndex; +PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) { + _pre_call_gl_callback("glGetProgramResourceName", (GLADapiproc) glad_glGetProgramResourceName, 6, program, programInterface, index, bufSize, length, name); + glad_glGetProgramResourceName(program, programInterface, index, bufSize, length, name); + _post_call_gl_callback(NULL, "glGetProgramResourceName", (GLADapiproc) glad_glGetProgramResourceName, 6, program, programInterface, index, bufSize, length, name); + +} +PFNGLGETPROGRAMRESOURCENAMEPROC glad_debug_glGetProgramResourceName = glad_debug_impl_glGetProgramResourceName; +PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei count, GLsizei * length, GLint * params) { + _pre_call_gl_callback("glGetProgramResourceiv", (GLADapiproc) glad_glGetProgramResourceiv, 8, program, programInterface, index, propCount, props, count, length, params); + glad_glGetProgramResourceiv(program, programInterface, index, propCount, props, count, length, params); + _post_call_gl_callback(NULL, "glGetProgramResourceiv", (GLADapiproc) glad_glGetProgramResourceiv, 8, program, programInterface, index, propCount, props, count, length, params); + +} +PFNGLGETPROGRAMRESOURCEIVPROC glad_debug_glGetProgramResourceiv = glad_debug_impl_glGetProgramResourceiv; +PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint * values) { + _pre_call_gl_callback("glGetProgramStageiv", (GLADapiproc) glad_glGetProgramStageiv, 4, program, shadertype, pname, values); + glad_glGetProgramStageiv(program, shadertype, pname, values); + _post_call_gl_callback(NULL, "glGetProgramStageiv", (GLADapiproc) glad_glGetProgramStageiv, 4, program, shadertype, pname, values); + +} +PFNGLGETPROGRAMSTAGEIVPROC glad_debug_glGetProgramStageiv = glad_debug_impl_glGetProgramStageiv; +PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramStringARB(GLenum target, GLenum pname, void * string) { + _pre_call_gl_callback("glGetProgramStringARB", (GLADapiproc) glad_glGetProgramStringARB, 3, target, pname, string); + glad_glGetProgramStringARB(target, pname, string); + _post_call_gl_callback(NULL, "glGetProgramStringARB", (GLADapiproc) glad_glGetProgramStringARB, 3, target, pname, string); + +} +PFNGLGETPROGRAMSTRINGARBPROC glad_debug_glGetProgramStringARB = glad_debug_impl_glGetProgramStringARB; +PFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte * program) { + _pre_call_gl_callback("glGetProgramStringNV", (GLADapiproc) glad_glGetProgramStringNV, 3, id, pname, program); + glad_glGetProgramStringNV(id, pname, program); + _post_call_gl_callback(NULL, "glGetProgramStringNV", (GLADapiproc) glad_glGetProgramStringNV, 3, id, pname, program); + +} +PFNGLGETPROGRAMSTRINGNVPROC glad_debug_glGetProgramStringNV = glad_debug_impl_glGetProgramStringNV; +PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramiv(GLuint program, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetProgramiv", (GLADapiproc) glad_glGetProgramiv, 3, program, pname, params); + glad_glGetProgramiv(program, pname, params); + _post_call_gl_callback(NULL, "glGetProgramiv", (GLADapiproc) glad_glGetProgramiv, 3, program, pname, params); + +} +PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv = glad_debug_impl_glGetProgramiv; +PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramivARB(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetProgramivARB", (GLADapiproc) glad_glGetProgramivARB, 3, target, pname, params); + glad_glGetProgramivARB(target, pname, params); + _post_call_gl_callback(NULL, "glGetProgramivARB", (GLADapiproc) glad_glGetProgramivARB, 3, target, pname, params); + +} +PFNGLGETPROGRAMIVARBPROC glad_debug_glGetProgramivARB = glad_debug_impl_glGetProgramivARB; +PFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetProgramivNV(GLuint id, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetProgramivNV", (GLADapiproc) glad_glGetProgramivNV, 3, id, pname, params); + glad_glGetProgramivNV(id, pname, params); + _post_call_gl_callback(NULL, "glGetProgramivNV", (GLADapiproc) glad_glGetProgramivNV, 3, id, pname, params); + +} +PFNGLGETPROGRAMIVNVPROC glad_debug_glGetProgramivNV = glad_debug_impl_glGetProgramivNV; +PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryBufferObjecti64v(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) { + _pre_call_gl_callback("glGetQueryBufferObjecti64v", (GLADapiproc) glad_glGetQueryBufferObjecti64v, 4, id, buffer, pname, offset); + glad_glGetQueryBufferObjecti64v(id, buffer, pname, offset); + _post_call_gl_callback(NULL, "glGetQueryBufferObjecti64v", (GLADapiproc) glad_glGetQueryBufferObjecti64v, 4, id, buffer, pname, offset); + +} +PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_debug_glGetQueryBufferObjecti64v = glad_debug_impl_glGetQueryBufferObjecti64v; +PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryBufferObjectiv(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) { + _pre_call_gl_callback("glGetQueryBufferObjectiv", (GLADapiproc) glad_glGetQueryBufferObjectiv, 4, id, buffer, pname, offset); + glad_glGetQueryBufferObjectiv(id, buffer, pname, offset); + _post_call_gl_callback(NULL, "glGetQueryBufferObjectiv", (GLADapiproc) glad_glGetQueryBufferObjectiv, 4, id, buffer, pname, offset); + +} +PFNGLGETQUERYBUFFEROBJECTIVPROC glad_debug_glGetQueryBufferObjectiv = glad_debug_impl_glGetQueryBufferObjectiv; +PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryBufferObjectui64v(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) { + _pre_call_gl_callback("glGetQueryBufferObjectui64v", (GLADapiproc) glad_glGetQueryBufferObjectui64v, 4, id, buffer, pname, offset); + glad_glGetQueryBufferObjectui64v(id, buffer, pname, offset); + _post_call_gl_callback(NULL, "glGetQueryBufferObjectui64v", (GLADapiproc) glad_glGetQueryBufferObjectui64v, 4, id, buffer, pname, offset); + +} +PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_debug_glGetQueryBufferObjectui64v = glad_debug_impl_glGetQueryBufferObjectui64v; +PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryBufferObjectuiv(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) { + _pre_call_gl_callback("glGetQueryBufferObjectuiv", (GLADapiproc) glad_glGetQueryBufferObjectuiv, 4, id, buffer, pname, offset); + glad_glGetQueryBufferObjectuiv(id, buffer, pname, offset); + _post_call_gl_callback(NULL, "glGetQueryBufferObjectuiv", (GLADapiproc) glad_glGetQueryBufferObjectuiv, 4, id, buffer, pname, offset); + +} +PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_debug_glGetQueryBufferObjectuiv = glad_debug_impl_glGetQueryBufferObjectuiv; +PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetQueryIndexediv", (GLADapiproc) glad_glGetQueryIndexediv, 4, target, index, pname, params); + glad_glGetQueryIndexediv(target, index, pname, params); + _post_call_gl_callback(NULL, "glGetQueryIndexediv", (GLADapiproc) glad_glGetQueryIndexediv, 4, target, index, pname, params); + +} +PFNGLGETQUERYINDEXEDIVPROC glad_debug_glGetQueryIndexediv = glad_debug_impl_glGetQueryIndexediv; +PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 * params) { + _pre_call_gl_callback("glGetQueryObjecti64v", (GLADapiproc) glad_glGetQueryObjecti64v, 3, id, pname, params); + glad_glGetQueryObjecti64v(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjecti64v", (GLADapiproc) glad_glGetQueryObjecti64v, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v = glad_debug_impl_glGetQueryObjecti64v; +PFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 * params) { + _pre_call_gl_callback("glGetQueryObjecti64vEXT", (GLADapiproc) glad_glGetQueryObjecti64vEXT, 3, id, pname, params); + glad_glGetQueryObjecti64vEXT(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjecti64vEXT", (GLADapiproc) glad_glGetQueryObjecti64vEXT, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTI64VEXTPROC glad_debug_glGetQueryObjecti64vEXT = glad_debug_impl_glGetQueryObjecti64vEXT; +PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectiv(GLuint id, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetQueryObjectiv", (GLADapiproc) glad_glGetQueryObjectiv, 3, id, pname, params); + glad_glGetQueryObjectiv(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectiv", (GLADapiproc) glad_glGetQueryObjectiv, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv = glad_debug_impl_glGetQueryObjectiv; +PFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectivARB(GLuint id, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetQueryObjectivARB", (GLADapiproc) glad_glGetQueryObjectivARB, 3, id, pname, params); + glad_glGetQueryObjectivARB(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectivARB", (GLADapiproc) glad_glGetQueryObjectivARB, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTIVARBPROC glad_debug_glGetQueryObjectivARB = glad_debug_impl_glGetQueryObjectivARB; +PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 * params) { + _pre_call_gl_callback("glGetQueryObjectui64v", (GLADapiproc) glad_glGetQueryObjectui64v, 3, id, pname, params); + glad_glGetQueryObjectui64v(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectui64v", (GLADapiproc) glad_glGetQueryObjectui64v, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v = glad_debug_impl_glGetQueryObjectui64v; +PFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 * params) { + _pre_call_gl_callback("glGetQueryObjectui64vEXT", (GLADapiproc) glad_glGetQueryObjectui64vEXT, 3, id, pname, params); + glad_glGetQueryObjectui64vEXT(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectui64vEXT", (GLADapiproc) glad_glGetQueryObjectui64vEXT, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTUI64VEXTPROC glad_debug_glGetQueryObjectui64vEXT = glad_debug_impl_glGetQueryObjectui64vEXT; +PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetQueryObjectuiv", (GLADapiproc) glad_glGetQueryObjectuiv, 3, id, pname, params); + glad_glGetQueryObjectuiv(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectuiv", (GLADapiproc) glad_glGetQueryObjectuiv, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv = glad_debug_impl_glGetQueryObjectuiv; +PFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetQueryObjectuivARB", (GLADapiproc) glad_glGetQueryObjectuivARB, 3, id, pname, params); + glad_glGetQueryObjectuivARB(id, pname, params); + _post_call_gl_callback(NULL, "glGetQueryObjectuivARB", (GLADapiproc) glad_glGetQueryObjectuivARB, 3, id, pname, params); + +} +PFNGLGETQUERYOBJECTUIVARBPROC glad_debug_glGetQueryObjectuivARB = glad_debug_impl_glGetQueryObjectuivARB; +PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryiv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetQueryiv", (GLADapiproc) glad_glGetQueryiv, 3, target, pname, params); + glad_glGetQueryiv(target, pname, params); + _post_call_gl_callback(NULL, "glGetQueryiv", (GLADapiproc) glad_glGetQueryiv, 3, target, pname, params); + +} +PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv = glad_debug_impl_glGetQueryiv; +PFNGLGETQUERYIVARBPROC glad_glGetQueryivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetQueryivARB(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetQueryivARB", (GLADapiproc) glad_glGetQueryivARB, 3, target, pname, params); + glad_glGetQueryivARB(target, pname, params); + _post_call_gl_callback(NULL, "glGetQueryivARB", (GLADapiproc) glad_glGetQueryivARB, 3, target, pname, params); + +} +PFNGLGETQUERYIVARBPROC glad_debug_glGetQueryivARB = glad_debug_impl_glGetQueryivARB; +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetRenderbufferParameteriv", (GLADapiproc) glad_glGetRenderbufferParameteriv, 3, target, pname, params); + glad_glGetRenderbufferParameteriv(target, pname, params); + _post_call_gl_callback(NULL, "glGetRenderbufferParameteriv", (GLADapiproc) glad_glGetRenderbufferParameteriv, 3, target, pname, params); + +} +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv = glad_debug_impl_glGetRenderbufferParameteriv; +PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetRenderbufferParameterivEXT", (GLADapiproc) glad_glGetRenderbufferParameterivEXT, 3, target, pname, params); + glad_glGetRenderbufferParameterivEXT(target, pname, params); + _post_call_gl_callback(NULL, "glGetRenderbufferParameterivEXT", (GLADapiproc) glad_glGetRenderbufferParameterivEXT, 3, target, pname, params); + +} +PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_debug_glGetRenderbufferParameterivEXT = glad_debug_impl_glGetRenderbufferParameterivEXT; +PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetSamplerParameterIiv", (GLADapiproc) glad_glGetSamplerParameterIiv, 3, sampler, pname, params); + glad_glGetSamplerParameterIiv(sampler, pname, params); + _post_call_gl_callback(NULL, "glGetSamplerParameterIiv", (GLADapiproc) glad_glGetSamplerParameterIiv, 3, sampler, pname, params); + +} +PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv = glad_debug_impl_glGetSamplerParameterIiv; +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetSamplerParameterIuiv", (GLADapiproc) glad_glGetSamplerParameterIuiv, 3, sampler, pname, params); + glad_glGetSamplerParameterIuiv(sampler, pname, params); + _post_call_gl_callback(NULL, "glGetSamplerParameterIuiv", (GLADapiproc) glad_glGetSamplerParameterIuiv, 3, sampler, pname, params); + +} +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv = glad_debug_impl_glGetSamplerParameterIuiv; +PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetSamplerParameterfv", (GLADapiproc) glad_glGetSamplerParameterfv, 3, sampler, pname, params); + glad_glGetSamplerParameterfv(sampler, pname, params); + _post_call_gl_callback(NULL, "glGetSamplerParameterfv", (GLADapiproc) glad_glGetSamplerParameterfv, 3, sampler, pname, params); + +} +PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv = glad_debug_impl_glGetSamplerParameterfv; +PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetSamplerParameteriv", (GLADapiproc) glad_glGetSamplerParameteriv, 3, sampler, pname, params); + glad_glGetSamplerParameteriv(sampler, pname, params); + _post_call_gl_callback(NULL, "glGetSamplerParameteriv", (GLADapiproc) glad_glGetSamplerParameteriv, 3, sampler, pname, params); + +} +PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv = glad_debug_impl_glGetSamplerParameteriv; +PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) { + _pre_call_gl_callback("glGetShaderInfoLog", (GLADapiproc) glad_glGetShaderInfoLog, 4, shader, bufSize, length, infoLog); + glad_glGetShaderInfoLog(shader, bufSize, length, infoLog); + _post_call_gl_callback(NULL, "glGetShaderInfoLog", (GLADapiproc) glad_glGetShaderInfoLog, 4, shader, bufSize, length, infoLog); + +} +PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog = glad_debug_impl_glGetShaderInfoLog; +PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision) { + _pre_call_gl_callback("glGetShaderPrecisionFormat", (GLADapiproc) glad_glGetShaderPrecisionFormat, 4, shadertype, precisiontype, range, precision); + glad_glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + _post_call_gl_callback(NULL, "glGetShaderPrecisionFormat", (GLADapiproc) glad_glGetShaderPrecisionFormat, 4, shadertype, precisiontype, range, precision); + +} +PFNGLGETSHADERPRECISIONFORMATPROC glad_debug_glGetShaderPrecisionFormat = glad_debug_impl_glGetShaderPrecisionFormat; +PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source) { + _pre_call_gl_callback("glGetShaderSource", (GLADapiproc) glad_glGetShaderSource, 4, shader, bufSize, length, source); + glad_glGetShaderSource(shader, bufSize, length, source); + _post_call_gl_callback(NULL, "glGetShaderSource", (GLADapiproc) glad_glGetShaderSource, 4, shader, bufSize, length, source); + +} +PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource = glad_debug_impl_glGetShaderSource; +PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source) { + _pre_call_gl_callback("glGetShaderSourceARB", (GLADapiproc) glad_glGetShaderSourceARB, 4, obj, maxLength, length, source); + glad_glGetShaderSourceARB(obj, maxLength, length, source); + _post_call_gl_callback(NULL, "glGetShaderSourceARB", (GLADapiproc) glad_glGetShaderSourceARB, 4, obj, maxLength, length, source); + +} +PFNGLGETSHADERSOURCEARBPROC glad_debug_glGetShaderSourceARB = glad_debug_impl_glGetShaderSourceARB; +PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetShaderiv(GLuint shader, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetShaderiv", (GLADapiproc) glad_glGetShaderiv, 3, shader, pname, params); + glad_glGetShaderiv(shader, pname, params); + _post_call_gl_callback(NULL, "glGetShaderiv", (GLADapiproc) glad_glGetShaderiv, 3, shader, pname, params); + +} +PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv = glad_debug_impl_glGetShaderiv; +PFNGLGETSTRINGPROC glad_glGetString = NULL; +static const GLubyte * GLAD_API_PTR glad_debug_impl_glGetString(GLenum name) { + const GLubyte * ret; + _pre_call_gl_callback("glGetString", (GLADapiproc) glad_glGetString, 1, name); + ret = glad_glGetString(name); + _post_call_gl_callback((void*) &ret, "glGetString", (GLADapiproc) glad_glGetString, 1, name); + return ret; +} +PFNGLGETSTRINGPROC glad_debug_glGetString = glad_debug_impl_glGetString; +PFNGLGETSTRINGIPROC glad_glGetStringi = NULL; +static const GLubyte * GLAD_API_PTR glad_debug_impl_glGetStringi(GLenum name, GLuint index) { + const GLubyte * ret; + _pre_call_gl_callback("glGetStringi", (GLADapiproc) glad_glGetStringi, 2, name, index); + ret = glad_glGetStringi(name, index); + _post_call_gl_callback((void*) &ret, "glGetStringi", (GLADapiproc) glad_glGetStringi, 2, name, index); + return ret; +} +PFNGLGETSTRINGIPROC glad_debug_glGetStringi = glad_debug_impl_glGetStringi; +PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar * name) { + GLuint ret; + _pre_call_gl_callback("glGetSubroutineIndex", (GLADapiproc) glad_glGetSubroutineIndex, 3, program, shadertype, name); + ret = glad_glGetSubroutineIndex(program, shadertype, name); + _post_call_gl_callback((void*) &ret, "glGetSubroutineIndex", (GLADapiproc) glad_glGetSubroutineIndex, 3, program, shadertype, name); + return ret; +} +PFNGLGETSUBROUTINEINDEXPROC glad_debug_glGetSubroutineIndex = glad_debug_impl_glGetSubroutineIndex; +PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetSubroutineUniformLocation", (GLADapiproc) glad_glGetSubroutineUniformLocation, 3, program, shadertype, name); + ret = glad_glGetSubroutineUniformLocation(program, shadertype, name); + _post_call_gl_callback((void*) &ret, "glGetSubroutineUniformLocation", (GLADapiproc) glad_glGetSubroutineUniformLocation, 3, program, shadertype, name); + return ret; +} +PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_debug_glGetSubroutineUniformLocation = glad_debug_impl_glGetSubroutineUniformLocation; +PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetSynciv(GLsync sync, GLenum pname, GLsizei count, GLsizei * length, GLint * values) { + _pre_call_gl_callback("glGetSynciv", (GLADapiproc) glad_glGetSynciv, 5, sync, pname, count, length, values); + glad_glGetSynciv(sync, pname, count, length, values); + _post_call_gl_callback(NULL, "glGetSynciv", (GLADapiproc) glad_glGetSynciv, 5, sync, pname, count, length, values); + +} +PFNGLGETSYNCIVPROC glad_debug_glGetSynciv = glad_debug_impl_glGetSynciv; +PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void * pixels) { + _pre_call_gl_callback("glGetTexImage", (GLADapiproc) glad_glGetTexImage, 5, target, level, format, type, pixels); + glad_glGetTexImage(target, level, format, type, pixels); + _post_call_gl_callback(NULL, "glGetTexImage", (GLADapiproc) glad_glGetTexImage, 5, target, level, format, type, pixels); + +} +PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage = glad_debug_impl_glGetTexImage; +PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTexLevelParameterfv", (GLADapiproc) glad_glGetTexLevelParameterfv, 4, target, level, pname, params); + glad_glGetTexLevelParameterfv(target, level, pname, params); + _post_call_gl_callback(NULL, "glGetTexLevelParameterfv", (GLADapiproc) glad_glGetTexLevelParameterfv, 4, target, level, pname, params); + +} +PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv = glad_debug_impl_glGetTexLevelParameterfv; +PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTexLevelParameteriv", (GLADapiproc) glad_glGetTexLevelParameteriv, 4, target, level, pname, params); + glad_glGetTexLevelParameteriv(target, level, pname, params); + _post_call_gl_callback(NULL, "glGetTexLevelParameteriv", (GLADapiproc) glad_glGetTexLevelParameteriv, 4, target, level, pname, params); + +} +PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv = glad_debug_impl_glGetTexLevelParameteriv; +PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameterIiv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTexParameterIiv", (GLADapiproc) glad_glGetTexParameterIiv, 3, target, pname, params); + glad_glGetTexParameterIiv(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameterIiv", (GLADapiproc) glad_glGetTexParameterIiv, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv = glad_debug_impl_glGetTexParameterIiv; +PFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTexParameterIivEXT", (GLADapiproc) glad_glGetTexParameterIivEXT, 3, target, pname, params); + glad_glGetTexParameterIivEXT(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameterIivEXT", (GLADapiproc) glad_glGetTexParameterIivEXT, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERIIVEXTPROC glad_debug_glGetTexParameterIivEXT = glad_debug_impl_glGetTexParameterIivEXT; +PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetTexParameterIuiv", (GLADapiproc) glad_glGetTexParameterIuiv, 3, target, pname, params); + glad_glGetTexParameterIuiv(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameterIuiv", (GLADapiproc) glad_glGetTexParameterIuiv, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv = glad_debug_impl_glGetTexParameterIuiv; +PFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetTexParameterIuivEXT", (GLADapiproc) glad_glGetTexParameterIuivEXT, 3, target, pname, params); + glad_glGetTexParameterIuivEXT(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameterIuivEXT", (GLADapiproc) glad_glGetTexParameterIuivEXT, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERIUIVEXTPROC glad_debug_glGetTexParameterIuivEXT = glad_debug_impl_glGetTexParameterIuivEXT; +PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTexParameterfv", (GLADapiproc) glad_glGetTexParameterfv, 3, target, pname, params); + glad_glGetTexParameterfv(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameterfv", (GLADapiproc) glad_glGetTexParameterfv, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv = glad_debug_impl_glGetTexParameterfv; +PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTexParameteriv(GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTexParameteriv", (GLADapiproc) glad_glGetTexParameteriv, 3, target, pname, params); + glad_glGetTexParameteriv(target, pname, params); + _post_call_gl_callback(NULL, "glGetTexParameteriv", (GLADapiproc) glad_glGetTexParameteriv, 3, target, pname, params); + +} +PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv = glad_debug_impl_glGetTexParameteriv; +PFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetTextureHandleARB(GLuint texture) { + GLuint64 ret; + _pre_call_gl_callback("glGetTextureHandleARB", (GLADapiproc) glad_glGetTextureHandleARB, 1, texture); + ret = glad_glGetTextureHandleARB(texture); + _post_call_gl_callback((void*) &ret, "glGetTextureHandleARB", (GLADapiproc) glad_glGetTextureHandleARB, 1, texture); + return ret; +} +PFNGLGETTEXTUREHANDLEARBPROC glad_debug_glGetTextureHandleARB = glad_debug_impl_glGetTextureHandleARB; +PFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetTextureHandleNV(GLuint texture) { + GLuint64 ret; + _pre_call_gl_callback("glGetTextureHandleNV", (GLADapiproc) glad_glGetTextureHandleNV, 1, texture); + ret = glad_glGetTextureHandleNV(texture); + _post_call_gl_callback((void*) &ret, "glGetTextureHandleNV", (GLADapiproc) glad_glGetTextureHandleNV, 1, texture); + return ret; +} +PFNGLGETTEXTUREHANDLENVPROC glad_debug_glGetTextureHandleNV = glad_debug_impl_glGetTextureHandleNV; +PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetTextureImage", (GLADapiproc) glad_glGetTextureImage, 6, texture, level, format, type, bufSize, pixels); + glad_glGetTextureImage(texture, level, format, type, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetTextureImage", (GLADapiproc) glad_glGetTextureImage, 6, texture, level, format, type, bufSize, pixels); + +} +PFNGLGETTEXTUREIMAGEPROC glad_debug_glGetTextureImage = glad_debug_impl_glGetTextureImage; +PFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void * pixels) { + _pre_call_gl_callback("glGetTextureImageEXT", (GLADapiproc) glad_glGetTextureImageEXT, 6, texture, target, level, format, type, pixels); + glad_glGetTextureImageEXT(texture, target, level, format, type, pixels); + _post_call_gl_callback(NULL, "glGetTextureImageEXT", (GLADapiproc) glad_glGetTextureImageEXT, 6, texture, target, level, format, type, pixels); + +} +PFNGLGETTEXTUREIMAGEEXTPROC glad_debug_glGetTextureImageEXT = glad_debug_impl_glGetTextureImageEXT; +PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTextureLevelParameterfv", (GLADapiproc) glad_glGetTextureLevelParameterfv, 4, texture, level, pname, params); + glad_glGetTextureLevelParameterfv(texture, level, pname, params); + _post_call_gl_callback(NULL, "glGetTextureLevelParameterfv", (GLADapiproc) glad_glGetTextureLevelParameterfv, 4, texture, level, pname, params); + +} +PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_debug_glGetTextureLevelParameterfv = glad_debug_impl_glGetTextureLevelParameterfv; +PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTextureLevelParameterfvEXT", (GLADapiproc) glad_glGetTextureLevelParameterfvEXT, 5, texture, target, level, pname, params); + glad_glGetTextureLevelParameterfvEXT(texture, target, level, pname, params); + _post_call_gl_callback(NULL, "glGetTextureLevelParameterfvEXT", (GLADapiproc) glad_glGetTextureLevelParameterfvEXT, 5, texture, target, level, pname, params); + +} +PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_debug_glGetTextureLevelParameterfvEXT = glad_debug_impl_glGetTextureLevelParameterfvEXT; +PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureLevelParameteriv", (GLADapiproc) glad_glGetTextureLevelParameteriv, 4, texture, level, pname, params); + glad_glGetTextureLevelParameteriv(texture, level, pname, params); + _post_call_gl_callback(NULL, "glGetTextureLevelParameteriv", (GLADapiproc) glad_glGetTextureLevelParameteriv, 4, texture, level, pname, params); + +} +PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_debug_glGetTextureLevelParameteriv = glad_debug_impl_glGetTextureLevelParameteriv; +PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureLevelParameterivEXT", (GLADapiproc) glad_glGetTextureLevelParameterivEXT, 5, texture, target, level, pname, params); + glad_glGetTextureLevelParameterivEXT(texture, target, level, pname, params); + _post_call_gl_callback(NULL, "glGetTextureLevelParameterivEXT", (GLADapiproc) glad_glGetTextureLevelParameterivEXT, 5, texture, target, level, pname, params); + +} +PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_debug_glGetTextureLevelParameterivEXT = glad_debug_impl_glGetTextureLevelParameterivEXT; +PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterIiv(GLuint texture, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureParameterIiv", (GLADapiproc) glad_glGetTextureParameterIiv, 3, texture, pname, params); + glad_glGetTextureParameterIiv(texture, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterIiv", (GLADapiproc) glad_glGetTextureParameterIiv, 3, texture, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIIVPROC glad_debug_glGetTextureParameterIiv = glad_debug_impl_glGetTextureParameterIiv; +PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureParameterIivEXT", (GLADapiproc) glad_glGetTextureParameterIivEXT, 4, texture, target, pname, params); + glad_glGetTextureParameterIivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterIivEXT", (GLADapiproc) glad_glGetTextureParameterIivEXT, 4, texture, target, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_debug_glGetTextureParameterIivEXT = glad_debug_impl_glGetTextureParameterIivEXT; +PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetTextureParameterIuiv", (GLADapiproc) glad_glGetTextureParameterIuiv, 3, texture, pname, params); + glad_glGetTextureParameterIuiv(texture, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterIuiv", (GLADapiproc) glad_glGetTextureParameterIuiv, 3, texture, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIUIVPROC glad_debug_glGetTextureParameterIuiv = glad_debug_impl_glGetTextureParameterIuiv; +PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetTextureParameterIuivEXT", (GLADapiproc) glad_glGetTextureParameterIuivEXT, 4, texture, target, pname, params); + glad_glGetTextureParameterIuivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterIuivEXT", (GLADapiproc) glad_glGetTextureParameterIuivEXT, 4, texture, target, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_debug_glGetTextureParameterIuivEXT = glad_debug_impl_glGetTextureParameterIuivEXT; +PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterfv(GLuint texture, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTextureParameterfv", (GLADapiproc) glad_glGetTextureParameterfv, 3, texture, pname, params); + glad_glGetTextureParameterfv(texture, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterfv", (GLADapiproc) glad_glGetTextureParameterfv, 3, texture, pname, params); + +} +PFNGLGETTEXTUREPARAMETERFVPROC glad_debug_glGetTextureParameterfv = glad_debug_impl_glGetTextureParameterfv; +PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetTextureParameterfvEXT", (GLADapiproc) glad_glGetTextureParameterfvEXT, 4, texture, target, pname, params); + glad_glGetTextureParameterfvEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterfvEXT", (GLADapiproc) glad_glGetTextureParameterfvEXT, 4, texture, target, pname, params); + +} +PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_debug_glGetTextureParameterfvEXT = glad_debug_impl_glGetTextureParameterfvEXT; +PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameteriv(GLuint texture, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureParameteriv", (GLADapiproc) glad_glGetTextureParameteriv, 3, texture, pname, params); + glad_glGetTextureParameteriv(texture, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameteriv", (GLADapiproc) glad_glGetTextureParameteriv, 3, texture, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIVPROC glad_debug_glGetTextureParameteriv = glad_debug_impl_glGetTextureParameteriv; +PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTextureParameterivEXT", (GLADapiproc) glad_glGetTextureParameterivEXT, 4, texture, target, pname, params); + glad_glGetTextureParameterivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glGetTextureParameterivEXT", (GLADapiproc) glad_glGetTextureParameterivEXT, 4, texture, target, pname, params); + +} +PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_debug_glGetTextureParameterivEXT = glad_debug_impl_glGetTextureParameterivEXT; +PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler) { + GLuint64 ret; + _pre_call_gl_callback("glGetTextureSamplerHandleARB", (GLADapiproc) glad_glGetTextureSamplerHandleARB, 2, texture, sampler); + ret = glad_glGetTextureSamplerHandleARB(texture, sampler); + _post_call_gl_callback((void*) &ret, "glGetTextureSamplerHandleARB", (GLADapiproc) glad_glGetTextureSamplerHandleARB, 2, texture, sampler); + return ret; +} +PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_debug_glGetTextureSamplerHandleARB = glad_debug_impl_glGetTextureSamplerHandleARB; +PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV = NULL; +static GLuint64 GLAD_API_PTR glad_debug_impl_glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler) { + GLuint64 ret; + _pre_call_gl_callback("glGetTextureSamplerHandleNV", (GLADapiproc) glad_glGetTextureSamplerHandleNV, 2, texture, sampler); + ret = glad_glGetTextureSamplerHandleNV(texture, sampler); + _post_call_gl_callback((void*) &ret, "glGetTextureSamplerHandleNV", (GLADapiproc) glad_glGetTextureSamplerHandleNV, 2, texture, sampler); + return ret; +} +PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_debug_glGetTextureSamplerHandleNV = glad_debug_impl_glGetTextureSamplerHandleNV; +PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetTextureSubImage", (GLADapiproc) glad_glGetTextureSubImage, 12, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + glad_glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetTextureSubImage", (GLADapiproc) glad_glGetTextureSubImage, 12, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + +} +PFNGLGETTEXTURESUBIMAGEPROC glad_debug_glGetTextureSubImage = glad_debug_impl_glGetTextureSubImage; +PFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetTrackMatrixivNV", (GLADapiproc) glad_glGetTrackMatrixivNV, 4, target, address, pname, params); + glad_glGetTrackMatrixivNV(target, address, pname, params); + _post_call_gl_callback(NULL, "glGetTrackMatrixivNV", (GLADapiproc) glad_glGetTrackMatrixivNV, 4, target, address, pname, params); + +} +PFNGLGETTRACKMATRIXIVNVPROC glad_debug_glGetTrackMatrixivNV = glad_debug_impl_glGetTrackMatrixivNV; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) { + _pre_call_gl_callback("glGetTransformFeedbackVarying", (GLADapiproc) glad_glGetTransformFeedbackVarying, 7, program, index, bufSize, length, size, type, name); + glad_glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + _post_call_gl_callback(NULL, "glGetTransformFeedbackVarying", (GLADapiproc) glad_glGetTransformFeedbackVarying, 7, program, index, bufSize, length, size, type, name); + +} +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying = glad_debug_impl_glGetTransformFeedbackVarying; +PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) { + _pre_call_gl_callback("glGetTransformFeedbackVaryingEXT", (GLADapiproc) glad_glGetTransformFeedbackVaryingEXT, 7, program, index, bufSize, length, size, type, name); + glad_glGetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name); + _post_call_gl_callback(NULL, "glGetTransformFeedbackVaryingEXT", (GLADapiproc) glad_glGetTransformFeedbackVaryingEXT, 7, program, index, bufSize, length, size, type, name); + +} +PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_debug_glGetTransformFeedbackVaryingEXT = glad_debug_impl_glGetTransformFeedbackVaryingEXT; +PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint * location) { + _pre_call_gl_callback("glGetTransformFeedbackVaryingNV", (GLADapiproc) glad_glGetTransformFeedbackVaryingNV, 3, program, index, location); + glad_glGetTransformFeedbackVaryingNV(program, index, location); + _post_call_gl_callback(NULL, "glGetTransformFeedbackVaryingNV", (GLADapiproc) glad_glGetTransformFeedbackVaryingNV, 3, program, index, location); + +} +PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_debug_glGetTransformFeedbackVaryingNV = glad_debug_impl_glGetTransformFeedbackVaryingNV; +PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 * param) { + _pre_call_gl_callback("glGetTransformFeedbacki64_v", (GLADapiproc) glad_glGetTransformFeedbacki64_v, 4, xfb, pname, index, param); + glad_glGetTransformFeedbacki64_v(xfb, pname, index, param); + _post_call_gl_callback(NULL, "glGetTransformFeedbacki64_v", (GLADapiproc) glad_glGetTransformFeedbacki64_v, 4, xfb, pname, index, param); + +} +PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_debug_glGetTransformFeedbacki64_v = glad_debug_impl_glGetTransformFeedbacki64_v; +PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint * param) { + _pre_call_gl_callback("glGetTransformFeedbacki_v", (GLADapiproc) glad_glGetTransformFeedbacki_v, 4, xfb, pname, index, param); + glad_glGetTransformFeedbacki_v(xfb, pname, index, param); + _post_call_gl_callback(NULL, "glGetTransformFeedbacki_v", (GLADapiproc) glad_glGetTransformFeedbacki_v, 4, xfb, pname, index, param); + +} +PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_debug_glGetTransformFeedbacki_v = glad_debug_impl_glGetTransformFeedbacki_v; +PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetTransformFeedbackiv", (GLADapiproc) glad_glGetTransformFeedbackiv, 3, xfb, pname, param); + glad_glGetTransformFeedbackiv(xfb, pname, param); + _post_call_gl_callback(NULL, "glGetTransformFeedbackiv", (GLADapiproc) glad_glGetTransformFeedbackiv, 3, xfb, pname, param); + +} +PFNGLGETTRANSFORMFEEDBACKIVPROC glad_debug_glGetTransformFeedbackiv = glad_debug_impl_glGetTransformFeedbackiv; +PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL; +static GLuint GLAD_API_PTR glad_debug_impl_glGetUniformBlockIndex(GLuint program, const GLchar * uniformBlockName) { + GLuint ret; + _pre_call_gl_callback("glGetUniformBlockIndex", (GLADapiproc) glad_glGetUniformBlockIndex, 2, program, uniformBlockName); + ret = glad_glGetUniformBlockIndex(program, uniformBlockName); + _post_call_gl_callback((void*) &ret, "glGetUniformBlockIndex", (GLADapiproc) glad_glGetUniformBlockIndex, 2, program, uniformBlockName); + return ret; +} +PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex = glad_debug_impl_glGetUniformBlockIndex; +PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices) { + _pre_call_gl_callback("glGetUniformIndices", (GLADapiproc) glad_glGetUniformIndices, 4, program, uniformCount, uniformNames, uniformIndices); + glad_glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + _post_call_gl_callback(NULL, "glGetUniformIndices", (GLADapiproc) glad_glGetUniformIndices, 4, program, uniformCount, uniformNames, uniformIndices); + +} +PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices = glad_debug_impl_glGetUniformIndices; +PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetUniformLocation(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetUniformLocation", (GLADapiproc) glad_glGetUniformLocation, 2, program, name); + ret = glad_glGetUniformLocation(program, name); + _post_call_gl_callback((void*) &ret, "glGetUniformLocation", (GLADapiproc) glad_glGetUniformLocation, 2, program, name); + return ret; +} +PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation = glad_debug_impl_glGetUniformLocation; +PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB * name) { + GLint ret; + _pre_call_gl_callback("glGetUniformLocationARB", (GLADapiproc) glad_glGetUniformLocationARB, 2, programObj, name); + ret = glad_glGetUniformLocationARB(programObj, name); + _post_call_gl_callback((void*) &ret, "glGetUniformLocationARB", (GLADapiproc) glad_glGetUniformLocationARB, 2, programObj, name); + return ret; +} +PFNGLGETUNIFORMLOCATIONARBPROC glad_debug_glGetUniformLocationARB = glad_debug_impl_glGetUniformLocationARB; +PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint * params) { + _pre_call_gl_callback("glGetUniformSubroutineuiv", (GLADapiproc) glad_glGetUniformSubroutineuiv, 3, shadertype, location, params); + glad_glGetUniformSubroutineuiv(shadertype, location, params); + _post_call_gl_callback(NULL, "glGetUniformSubroutineuiv", (GLADapiproc) glad_glGetUniformSubroutineuiv, 3, shadertype, location, params); + +} +PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_debug_glGetUniformSubroutineuiv = glad_debug_impl_glGetUniformSubroutineuiv; +PFNGLGETUNIFORMDVPROC glad_glGetUniformdv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformdv(GLuint program, GLint location, GLdouble * params) { + _pre_call_gl_callback("glGetUniformdv", (GLADapiproc) glad_glGetUniformdv, 3, program, location, params); + glad_glGetUniformdv(program, location, params); + _post_call_gl_callback(NULL, "glGetUniformdv", (GLADapiproc) glad_glGetUniformdv, 3, program, location, params); + +} +PFNGLGETUNIFORMDVPROC glad_debug_glGetUniformdv = glad_debug_impl_glGetUniformdv; +PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformfv(GLuint program, GLint location, GLfloat * params) { + _pre_call_gl_callback("glGetUniformfv", (GLADapiproc) glad_glGetUniformfv, 3, program, location, params); + glad_glGetUniformfv(program, location, params); + _post_call_gl_callback(NULL, "glGetUniformfv", (GLADapiproc) glad_glGetUniformfv, 3, program, location, params); + +} +PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv = glad_debug_impl_glGetUniformfv; +PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat * params) { + _pre_call_gl_callback("glGetUniformfvARB", (GLADapiproc) glad_glGetUniformfvARB, 3, programObj, location, params); + glad_glGetUniformfvARB(programObj, location, params); + _post_call_gl_callback(NULL, "glGetUniformfvARB", (GLADapiproc) glad_glGetUniformfvARB, 3, programObj, location, params); + +} +PFNGLGETUNIFORMFVARBPROC glad_debug_glGetUniformfvARB = glad_debug_impl_glGetUniformfvARB; +PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformiv(GLuint program, GLint location, GLint * params) { + _pre_call_gl_callback("glGetUniformiv", (GLADapiproc) glad_glGetUniformiv, 3, program, location, params); + glad_glGetUniformiv(program, location, params); + _post_call_gl_callback(NULL, "glGetUniformiv", (GLADapiproc) glad_glGetUniformiv, 3, program, location, params); + +} +PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv = glad_debug_impl_glGetUniformiv; +PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformivARB(GLhandleARB programObj, GLint location, GLint * params) { + _pre_call_gl_callback("glGetUniformivARB", (GLADapiproc) glad_glGetUniformivARB, 3, programObj, location, params); + glad_glGetUniformivARB(programObj, location, params); + _post_call_gl_callback(NULL, "glGetUniformivARB", (GLADapiproc) glad_glGetUniformivARB, 3, programObj, location, params); + +} +PFNGLGETUNIFORMIVARBPROC glad_debug_glGetUniformivARB = glad_debug_impl_glGetUniformivARB; +PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformuiv(GLuint program, GLint location, GLuint * params) { + _pre_call_gl_callback("glGetUniformuiv", (GLADapiproc) glad_glGetUniformuiv, 3, program, location, params); + glad_glGetUniformuiv(program, location, params); + _post_call_gl_callback(NULL, "glGetUniformuiv", (GLADapiproc) glad_glGetUniformuiv, 3, program, location, params); + +} +PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv = glad_debug_impl_glGetUniformuiv; +PFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetUniformuivEXT(GLuint program, GLint location, GLuint * params) { + _pre_call_gl_callback("glGetUniformuivEXT", (GLADapiproc) glad_glGetUniformuivEXT, 3, program, location, params); + glad_glGetUniformuivEXT(program, location, params); + _post_call_gl_callback(NULL, "glGetUniformuivEXT", (GLADapiproc) glad_glGetUniformuivEXT, 3, program, location, params); + +} +PFNGLGETUNIFORMUIVEXTPROC glad_debug_glGetUniformuivEXT = glad_debug_impl_glGetUniformuivEXT; +PFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV = NULL; +static GLint GLAD_API_PTR glad_debug_impl_glGetVaryingLocationNV(GLuint program, const GLchar * name) { + GLint ret; + _pre_call_gl_callback("glGetVaryingLocationNV", (GLADapiproc) glad_glGetVaryingLocationNV, 2, program, name); + ret = glad_glGetVaryingLocationNV(program, name); + _post_call_gl_callback((void*) &ret, "glGetVaryingLocationNV", (GLADapiproc) glad_glGetVaryingLocationNV, 2, program, name); + return ret; +} +PFNGLGETVARYINGLOCATIONNVPROC glad_debug_glGetVaryingLocationNV = glad_debug_impl_glGetVaryingLocationNV; +PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayIndexed64iv(GLuint vaobj, GLuint index, GLenum pname, GLint64 * param) { + _pre_call_gl_callback("glGetVertexArrayIndexed64iv", (GLADapiproc) glad_glGetVertexArrayIndexed64iv, 4, vaobj, index, pname, param); + glad_glGetVertexArrayIndexed64iv(vaobj, index, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayIndexed64iv", (GLADapiproc) glad_glGetVertexArrayIndexed64iv, 4, vaobj, index, pname, param); + +} +PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_debug_glGetVertexArrayIndexed64iv = glad_debug_impl_glGetVertexArrayIndexed64iv; +PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayIndexediv(GLuint vaobj, GLuint index, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetVertexArrayIndexediv", (GLADapiproc) glad_glGetVertexArrayIndexediv, 4, vaobj, index, pname, param); + glad_glGetVertexArrayIndexediv(vaobj, index, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayIndexediv", (GLADapiproc) glad_glGetVertexArrayIndexediv, 4, vaobj, index, pname, param); + +} +PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_debug_glGetVertexArrayIndexediv = glad_debug_impl_glGetVertexArrayIndexediv; +PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetVertexArrayIntegeri_vEXT", (GLADapiproc) glad_glGetVertexArrayIntegeri_vEXT, 4, vaobj, index, pname, param); + glad_glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayIntegeri_vEXT", (GLADapiproc) glad_glGetVertexArrayIntegeri_vEXT, 4, vaobj, index, pname, param); + +} +PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_debug_glGetVertexArrayIntegeri_vEXT = glad_debug_impl_glGetVertexArrayIntegeri_vEXT; +PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetVertexArrayIntegervEXT", (GLADapiproc) glad_glGetVertexArrayIntegervEXT, 3, vaobj, pname, param); + glad_glGetVertexArrayIntegervEXT(vaobj, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayIntegervEXT", (GLADapiproc) glad_glGetVertexArrayIntegervEXT, 3, vaobj, pname, param); + +} +PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_debug_glGetVertexArrayIntegervEXT = glad_debug_impl_glGetVertexArrayIntegervEXT; +PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, void ** param) { + _pre_call_gl_callback("glGetVertexArrayPointeri_vEXT", (GLADapiproc) glad_glGetVertexArrayPointeri_vEXT, 4, vaobj, index, pname, param); + glad_glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayPointeri_vEXT", (GLADapiproc) glad_glGetVertexArrayPointeri_vEXT, 4, vaobj, index, pname, param); + +} +PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_debug_glGetVertexArrayPointeri_vEXT = glad_debug_impl_glGetVertexArrayPointeri_vEXT; +PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, void ** param) { + _pre_call_gl_callback("glGetVertexArrayPointervEXT", (GLADapiproc) glad_glGetVertexArrayPointervEXT, 3, vaobj, pname, param); + glad_glGetVertexArrayPointervEXT(vaobj, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayPointervEXT", (GLADapiproc) glad_glGetVertexArrayPointervEXT, 3, vaobj, pname, param); + +} +PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_debug_glGetVertexArrayPointervEXT = glad_debug_impl_glGetVertexArrayPointervEXT; +PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexArrayiv(GLuint vaobj, GLenum pname, GLint * param) { + _pre_call_gl_callback("glGetVertexArrayiv", (GLADapiproc) glad_glGetVertexArrayiv, 3, vaobj, pname, param); + glad_glGetVertexArrayiv(vaobj, pname, param); + _post_call_gl_callback(NULL, "glGetVertexArrayiv", (GLADapiproc) glad_glGetVertexArrayiv, 3, vaobj, pname, param); + +} +PFNGLGETVERTEXARRAYIVPROC glad_debug_glGetVertexArrayiv = glad_debug_impl_glGetVertexArrayiv; +PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetVertexAttribIiv", (GLADapiproc) glad_glGetVertexAttribIiv, 3, index, pname, params); + glad_glGetVertexAttribIiv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribIiv", (GLADapiproc) glad_glGetVertexAttribIiv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv = glad_debug_impl_glGetVertexAttribIiv; +PFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetVertexAttribIivEXT", (GLADapiproc) glad_glGetVertexAttribIivEXT, 3, index, pname, params); + glad_glGetVertexAttribIivEXT(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribIivEXT", (GLADapiproc) glad_glGetVertexAttribIivEXT, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIIVEXTPROC glad_debug_glGetVertexAttribIivEXT = glad_debug_impl_glGetVertexAttribIivEXT; +PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetVertexAttribIuiv", (GLADapiproc) glad_glGetVertexAttribIuiv, 3, index, pname, params); + glad_glGetVertexAttribIuiv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribIuiv", (GLADapiproc) glad_glGetVertexAttribIuiv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv = glad_debug_impl_glGetVertexAttribIuiv; +PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint * params) { + _pre_call_gl_callback("glGetVertexAttribIuivEXT", (GLADapiproc) glad_glGetVertexAttribIuivEXT, 3, index, pname, params); + glad_glGetVertexAttribIuivEXT(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribIuivEXT", (GLADapiproc) glad_glGetVertexAttribIuivEXT, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_debug_glGetVertexAttribIuivEXT = glad_debug_impl_glGetVertexAttribIuivEXT; +PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetVertexAttribLdv", (GLADapiproc) glad_glGetVertexAttribLdv, 3, index, pname, params); + glad_glGetVertexAttribLdv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribLdv", (GLADapiproc) glad_glGetVertexAttribLdv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBLDVPROC glad_debug_glGetVertexAttribLdv = glad_debug_impl_glGetVertexAttribLdv; +PFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetVertexAttribLdvEXT", (GLADapiproc) glad_glGetVertexAttribLdvEXT, 3, index, pname, params); + glad_glGetVertexAttribLdvEXT(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribLdvEXT", (GLADapiproc) glad_glGetVertexAttribLdvEXT, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBLDVEXTPROC glad_debug_glGetVertexAttribLdvEXT = glad_debug_impl_glGetVertexAttribLdvEXT; +PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT * params) { + _pre_call_gl_callback("glGetVertexAttribLui64vARB", (GLADapiproc) glad_glGetVertexAttribLui64vARB, 3, index, pname, params); + glad_glGetVertexAttribLui64vARB(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribLui64vARB", (GLADapiproc) glad_glGetVertexAttribLui64vARB, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_debug_glGetVertexAttribLui64vARB = glad_debug_impl_glGetVertexAttribLui64vARB; +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribPointerv(GLuint index, GLenum pname, void ** pointer) { + _pre_call_gl_callback("glGetVertexAttribPointerv", (GLADapiproc) glad_glGetVertexAttribPointerv, 3, index, pname, pointer); + glad_glGetVertexAttribPointerv(index, pname, pointer); + _post_call_gl_callback(NULL, "glGetVertexAttribPointerv", (GLADapiproc) glad_glGetVertexAttribPointerv, 3, index, pname, pointer); + +} +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv = glad_debug_impl_glGetVertexAttribPointerv; +PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribPointervARB(GLuint index, GLenum pname, void ** pointer) { + _pre_call_gl_callback("glGetVertexAttribPointervARB", (GLADapiproc) glad_glGetVertexAttribPointervARB, 3, index, pname, pointer); + glad_glGetVertexAttribPointervARB(index, pname, pointer); + _post_call_gl_callback(NULL, "glGetVertexAttribPointervARB", (GLADapiproc) glad_glGetVertexAttribPointervARB, 3, index, pname, pointer); + +} +PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_debug_glGetVertexAttribPointervARB = glad_debug_impl_glGetVertexAttribPointervARB; +PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribPointervNV(GLuint index, GLenum pname, void ** pointer) { + _pre_call_gl_callback("glGetVertexAttribPointervNV", (GLADapiproc) glad_glGetVertexAttribPointervNV, 3, index, pname, pointer); + glad_glGetVertexAttribPointervNV(index, pname, pointer); + _post_call_gl_callback(NULL, "glGetVertexAttribPointervNV", (GLADapiproc) glad_glGetVertexAttribPointervNV, 3, index, pname, pointer); + +} +PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_debug_glGetVertexAttribPointervNV = glad_debug_impl_glGetVertexAttribPointervNV; +PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetVertexAttribdv", (GLADapiproc) glad_glGetVertexAttribdv, 3, index, pname, params); + glad_glGetVertexAttribdv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribdv", (GLADapiproc) glad_glGetVertexAttribdv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv = glad_debug_impl_glGetVertexAttribdv; +PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetVertexAttribdvARB", (GLADapiproc) glad_glGetVertexAttribdvARB, 3, index, pname, params); + glad_glGetVertexAttribdvARB(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribdvARB", (GLADapiproc) glad_glGetVertexAttribdvARB, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBDVARBPROC glad_debug_glGetVertexAttribdvARB = glad_debug_impl_glGetVertexAttribdvARB; +PFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble * params) { + _pre_call_gl_callback("glGetVertexAttribdvNV", (GLADapiproc) glad_glGetVertexAttribdvNV, 3, index, pname, params); + glad_glGetVertexAttribdvNV(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribdvNV", (GLADapiproc) glad_glGetVertexAttribdvNV, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBDVNVPROC glad_debug_glGetVertexAttribdvNV = glad_debug_impl_glGetVertexAttribdvNV; +PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetVertexAttribfv", (GLADapiproc) glad_glGetVertexAttribfv, 3, index, pname, params); + glad_glGetVertexAttribfv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribfv", (GLADapiproc) glad_glGetVertexAttribfv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv = glad_debug_impl_glGetVertexAttribfv; +PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetVertexAttribfvARB", (GLADapiproc) glad_glGetVertexAttribfvARB, 3, index, pname, params); + glad_glGetVertexAttribfvARB(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribfvARB", (GLADapiproc) glad_glGetVertexAttribfvARB, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBFVARBPROC glad_debug_glGetVertexAttribfvARB = glad_debug_impl_glGetVertexAttribfvARB; +PFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat * params) { + _pre_call_gl_callback("glGetVertexAttribfvNV", (GLADapiproc) glad_glGetVertexAttribfvNV, 3, index, pname, params); + glad_glGetVertexAttribfvNV(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribfvNV", (GLADapiproc) glad_glGetVertexAttribfvNV, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBFVNVPROC glad_debug_glGetVertexAttribfvNV = glad_debug_impl_glGetVertexAttribfvNV; +PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribiv(GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetVertexAttribiv", (GLADapiproc) glad_glGetVertexAttribiv, 3, index, pname, params); + glad_glGetVertexAttribiv(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribiv", (GLADapiproc) glad_glGetVertexAttribiv, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv = glad_debug_impl_glGetVertexAttribiv; +PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribivARB(GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetVertexAttribivARB", (GLADapiproc) glad_glGetVertexAttribivARB, 3, index, pname, params); + glad_glGetVertexAttribivARB(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribivARB", (GLADapiproc) glad_glGetVertexAttribivARB, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIVARBPROC glad_debug_glGetVertexAttribivARB = glad_debug_impl_glGetVertexAttribivARB; +PFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint * params) { + _pre_call_gl_callback("glGetVertexAttribivNV", (GLADapiproc) glad_glGetVertexAttribivNV, 3, index, pname, params); + glad_glGetVertexAttribivNV(index, pname, params); + _post_call_gl_callback(NULL, "glGetVertexAttribivNV", (GLADapiproc) glad_glGetVertexAttribivNV, 3, index, pname, params); + +} +PFNGLGETVERTEXATTRIBIVNVPROC glad_debug_glGetVertexAttribivNV = glad_debug_impl_glGetVertexAttribivNV; +PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetnCompressedTexImage", (GLADapiproc) glad_glGetnCompressedTexImage, 4, target, lod, bufSize, pixels); + glad_glGetnCompressedTexImage(target, lod, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetnCompressedTexImage", (GLADapiproc) glad_glGetnCompressedTexImage, 4, target, lod, bufSize, pixels); + +} +PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_debug_glGetnCompressedTexImage = glad_debug_impl_glGetnCompressedTexImage; +PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, void * img) { + _pre_call_gl_callback("glGetnCompressedTexImageARB", (GLADapiproc) glad_glGetnCompressedTexImageARB, 4, target, lod, bufSize, img); + glad_glGetnCompressedTexImageARB(target, lod, bufSize, img); + _post_call_gl_callback(NULL, "glGetnCompressedTexImageARB", (GLADapiproc) glad_glGetnCompressedTexImageARB, 4, target, lod, bufSize, img); + +} +PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_debug_glGetnCompressedTexImageARB = glad_debug_impl_glGetnCompressedTexImageARB; +PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels) { + _pre_call_gl_callback("glGetnTexImage", (GLADapiproc) glad_glGetnTexImage, 6, target, level, format, type, bufSize, pixels); + glad_glGetnTexImage(target, level, format, type, bufSize, pixels); + _post_call_gl_callback(NULL, "glGetnTexImage", (GLADapiproc) glad_glGetnTexImage, 6, target, level, format, type, bufSize, pixels); + +} +PFNGLGETNTEXIMAGEPROC glad_debug_glGetnTexImage = glad_debug_impl_glGetnTexImage; +PFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * img) { + _pre_call_gl_callback("glGetnTexImageARB", (GLADapiproc) glad_glGetnTexImageARB, 6, target, level, format, type, bufSize, img); + glad_glGetnTexImageARB(target, level, format, type, bufSize, img); + _post_call_gl_callback(NULL, "glGetnTexImageARB", (GLADapiproc) glad_glGetnTexImageARB, 6, target, level, format, type, bufSize, img); + +} +PFNGLGETNTEXIMAGEARBPROC glad_debug_glGetnTexImageARB = glad_debug_impl_glGetnTexImageARB; +PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformdv(GLuint program, GLint location, GLsizei bufSize, GLdouble * params) { + _pre_call_gl_callback("glGetnUniformdv", (GLADapiproc) glad_glGetnUniformdv, 4, program, location, bufSize, params); + glad_glGetnUniformdv(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformdv", (GLADapiproc) glad_glGetnUniformdv, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMDVPROC glad_debug_glGetnUniformdv = glad_debug_impl_glGetnUniformdv; +PFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble * params) { + _pre_call_gl_callback("glGetnUniformdvARB", (GLADapiproc) glad_glGetnUniformdvARB, 4, program, location, bufSize, params); + glad_glGetnUniformdvARB(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformdvARB", (GLADapiproc) glad_glGetnUniformdvARB, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMDVARBPROC glad_debug_glGetnUniformdvARB = glad_debug_impl_glGetnUniformdvARB; +PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat * params) { + _pre_call_gl_callback("glGetnUniformfv", (GLADapiproc) glad_glGetnUniformfv, 4, program, location, bufSize, params); + glad_glGetnUniformfv(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformfv", (GLADapiproc) glad_glGetnUniformfv, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMFVPROC glad_debug_glGetnUniformfv = glad_debug_impl_glGetnUniformfv; +PFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat * params) { + _pre_call_gl_callback("glGetnUniformfvARB", (GLADapiproc) glad_glGetnUniformfvARB, 4, program, location, bufSize, params); + glad_glGetnUniformfvARB(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformfvARB", (GLADapiproc) glad_glGetnUniformfvARB, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMFVARBPROC glad_debug_glGetnUniformfvARB = glad_debug_impl_glGetnUniformfvARB; +PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint * params) { + _pre_call_gl_callback("glGetnUniformiv", (GLADapiproc) glad_glGetnUniformiv, 4, program, location, bufSize, params); + glad_glGetnUniformiv(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformiv", (GLADapiproc) glad_glGetnUniformiv, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMIVPROC glad_debug_glGetnUniformiv = glad_debug_impl_glGetnUniformiv; +PFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint * params) { + _pre_call_gl_callback("glGetnUniformivARB", (GLADapiproc) glad_glGetnUniformivARB, 4, program, location, bufSize, params); + glad_glGetnUniformivARB(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformivARB", (GLADapiproc) glad_glGetnUniformivARB, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMIVARBPROC glad_debug_glGetnUniformivARB = glad_debug_impl_glGetnUniformivARB; +PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint * params) { + _pre_call_gl_callback("glGetnUniformuiv", (GLADapiproc) glad_glGetnUniformuiv, 4, program, location, bufSize, params); + glad_glGetnUniformuiv(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformuiv", (GLADapiproc) glad_glGetnUniformuiv, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMUIVPROC glad_debug_glGetnUniformuiv = glad_debug_impl_glGetnUniformuiv; +PFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint * params) { + _pre_call_gl_callback("glGetnUniformuivARB", (GLADapiproc) glad_glGetnUniformuivARB, 4, program, location, bufSize, params); + glad_glGetnUniformuivARB(program, location, bufSize, params); + _post_call_gl_callback(NULL, "glGetnUniformuivARB", (GLADapiproc) glad_glGetnUniformuivARB, 4, program, location, bufSize, params); + +} +PFNGLGETNUNIFORMUIVARBPROC glad_debug_glGetnUniformuivARB = glad_debug_impl_glGetnUniformuivARB; +PFNGLHINTPROC glad_glHint = NULL; +static void GLAD_API_PTR glad_debug_impl_glHint(GLenum target, GLenum mode) { + _pre_call_gl_callback("glHint", (GLADapiproc) glad_glHint, 2, target, mode); + glad_glHint(target, mode); + _post_call_gl_callback(NULL, "glHint", (GLADapiproc) glad_glHint, 2, target, mode); + +} +PFNGLHINTPROC glad_debug_glHint = glad_debug_impl_glHint; +PFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void * pointer) { + _pre_call_gl_callback("glIndexPointerEXT", (GLADapiproc) glad_glIndexPointerEXT, 4, type, stride, count, pointer); + glad_glIndexPointerEXT(type, stride, count, pointer); + _post_call_gl_callback(NULL, "glIndexPointerEXT", (GLADapiproc) glad_glIndexPointerEXT, 4, type, stride, count, pointer); + +} +PFNGLINDEXPOINTEREXTPROC glad_debug_glIndexPointerEXT = glad_debug_impl_glIndexPointerEXT; +PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateBufferData(GLuint buffer) { + _pre_call_gl_callback("glInvalidateBufferData", (GLADapiproc) glad_glInvalidateBufferData, 1, buffer); + glad_glInvalidateBufferData(buffer); + _post_call_gl_callback(NULL, "glInvalidateBufferData", (GLADapiproc) glad_glInvalidateBufferData, 1, buffer); + +} +PFNGLINVALIDATEBUFFERDATAPROC glad_debug_glInvalidateBufferData = glad_debug_impl_glInvalidateBufferData; +PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { + _pre_call_gl_callback("glInvalidateBufferSubData", (GLADapiproc) glad_glInvalidateBufferSubData, 3, buffer, offset, length); + glad_glInvalidateBufferSubData(buffer, offset, length); + _post_call_gl_callback(NULL, "glInvalidateBufferSubData", (GLADapiproc) glad_glInvalidateBufferSubData, 3, buffer, offset, length); + +} +PFNGLINVALIDATEBUFFERSUBDATAPROC glad_debug_glInvalidateBufferSubData = glad_debug_impl_glInvalidateBufferSubData; +PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments) { + _pre_call_gl_callback("glInvalidateFramebuffer", (GLADapiproc) glad_glInvalidateFramebuffer, 3, target, numAttachments, attachments); + glad_glInvalidateFramebuffer(target, numAttachments, attachments); + _post_call_gl_callback(NULL, "glInvalidateFramebuffer", (GLADapiproc) glad_glInvalidateFramebuffer, 3, target, numAttachments, attachments); + +} +PFNGLINVALIDATEFRAMEBUFFERPROC glad_debug_glInvalidateFramebuffer = glad_debug_impl_glInvalidateFramebuffer; +PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateNamedFramebufferData(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments) { + _pre_call_gl_callback("glInvalidateNamedFramebufferData", (GLADapiproc) glad_glInvalidateNamedFramebufferData, 3, framebuffer, numAttachments, attachments); + glad_glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); + _post_call_gl_callback(NULL, "glInvalidateNamedFramebufferData", (GLADapiproc) glad_glInvalidateNamedFramebufferData, 3, framebuffer, numAttachments, attachments); + +} +PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_debug_glInvalidateNamedFramebufferData = glad_debug_impl_glInvalidateNamedFramebufferData; +PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateNamedFramebufferSubData(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glInvalidateNamedFramebufferSubData", (GLADapiproc) glad_glInvalidateNamedFramebufferSubData, 7, framebuffer, numAttachments, attachments, x, y, width, height); + glad_glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); + _post_call_gl_callback(NULL, "glInvalidateNamedFramebufferSubData", (GLADapiproc) glad_glInvalidateNamedFramebufferSubData, 7, framebuffer, numAttachments, attachments, x, y, width, height); + +} +PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_debug_glInvalidateNamedFramebufferSubData = glad_debug_impl_glInvalidateNamedFramebufferSubData; +PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glInvalidateSubFramebuffer", (GLADapiproc) glad_glInvalidateSubFramebuffer, 7, target, numAttachments, attachments, x, y, width, height); + glad_glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + _post_call_gl_callback(NULL, "glInvalidateSubFramebuffer", (GLADapiproc) glad_glInvalidateSubFramebuffer, 7, target, numAttachments, attachments, x, y, width, height); + +} +PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_debug_glInvalidateSubFramebuffer = glad_debug_impl_glInvalidateSubFramebuffer; +PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateTexImage(GLuint texture, GLint level) { + _pre_call_gl_callback("glInvalidateTexImage", (GLADapiproc) glad_glInvalidateTexImage, 2, texture, level); + glad_glInvalidateTexImage(texture, level); + _post_call_gl_callback(NULL, "glInvalidateTexImage", (GLADapiproc) glad_glInvalidateTexImage, 2, texture, level); + +} +PFNGLINVALIDATETEXIMAGEPROC glad_debug_glInvalidateTexImage = glad_debug_impl_glInvalidateTexImage; +PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage = NULL; +static void GLAD_API_PTR glad_debug_impl_glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { + _pre_call_gl_callback("glInvalidateTexSubImage", (GLADapiproc) glad_glInvalidateTexSubImage, 8, texture, level, xoffset, yoffset, zoffset, width, height, depth); + glad_glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + _post_call_gl_callback(NULL, "glInvalidateTexSubImage", (GLADapiproc) glad_glInvalidateTexSubImage, 8, texture, level, xoffset, yoffset, zoffset, width, height, depth); + +} +PFNGLINVALIDATETEXSUBIMAGEPROC glad_debug_glInvalidateTexSubImage = glad_debug_impl_glInvalidateTexSubImage; +PFNGLISBUFFERPROC glad_glIsBuffer = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsBuffer(GLuint buffer) { + GLboolean ret; + _pre_call_gl_callback("glIsBuffer", (GLADapiproc) glad_glIsBuffer, 1, buffer); + ret = glad_glIsBuffer(buffer); + _post_call_gl_callback((void*) &ret, "glIsBuffer", (GLADapiproc) glad_glIsBuffer, 1, buffer); + return ret; +} +PFNGLISBUFFERPROC glad_debug_glIsBuffer = glad_debug_impl_glIsBuffer; +PFNGLISBUFFERARBPROC glad_glIsBufferARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsBufferARB(GLuint buffer) { + GLboolean ret; + _pre_call_gl_callback("glIsBufferARB", (GLADapiproc) glad_glIsBufferARB, 1, buffer); + ret = glad_glIsBufferARB(buffer); + _post_call_gl_callback((void*) &ret, "glIsBufferARB", (GLADapiproc) glad_glIsBufferARB, 1, buffer); + return ret; +} +PFNGLISBUFFERARBPROC glad_debug_glIsBufferARB = glad_debug_impl_glIsBufferARB; +PFNGLISENABLEDPROC glad_glIsEnabled = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsEnabled(GLenum cap) { + GLboolean ret; + _pre_call_gl_callback("glIsEnabled", (GLADapiproc) glad_glIsEnabled, 1, cap); + ret = glad_glIsEnabled(cap); + _post_call_gl_callback((void*) &ret, "glIsEnabled", (GLADapiproc) glad_glIsEnabled, 1, cap); + return ret; +} +PFNGLISENABLEDPROC glad_debug_glIsEnabled = glad_debug_impl_glIsEnabled; +PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsEnabledIndexedEXT(GLenum target, GLuint index) { + GLboolean ret; + _pre_call_gl_callback("glIsEnabledIndexedEXT", (GLADapiproc) glad_glIsEnabledIndexedEXT, 2, target, index); + ret = glad_glIsEnabledIndexedEXT(target, index); + _post_call_gl_callback((void*) &ret, "glIsEnabledIndexedEXT", (GLADapiproc) glad_glIsEnabledIndexedEXT, 2, target, index); + return ret; +} +PFNGLISENABLEDINDEXEDEXTPROC glad_debug_glIsEnabledIndexedEXT = glad_debug_impl_glIsEnabledIndexedEXT; +PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsEnabledi(GLenum target, GLuint index) { + GLboolean ret; + _pre_call_gl_callback("glIsEnabledi", (GLADapiproc) glad_glIsEnabledi, 2, target, index); + ret = glad_glIsEnabledi(target, index); + _post_call_gl_callback((void*) &ret, "glIsEnabledi", (GLADapiproc) glad_glIsEnabledi, 2, target, index); + return ret; +} +PFNGLISENABLEDIPROC glad_debug_glIsEnabledi = glad_debug_impl_glIsEnabledi; +PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsFramebuffer(GLuint framebuffer) { + GLboolean ret; + _pre_call_gl_callback("glIsFramebuffer", (GLADapiproc) glad_glIsFramebuffer, 1, framebuffer); + ret = glad_glIsFramebuffer(framebuffer); + _post_call_gl_callback((void*) &ret, "glIsFramebuffer", (GLADapiproc) glad_glIsFramebuffer, 1, framebuffer); + return ret; +} +PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer = glad_debug_impl_glIsFramebuffer; +PFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsFramebufferEXT(GLuint framebuffer) { + GLboolean ret; + _pre_call_gl_callback("glIsFramebufferEXT", (GLADapiproc) glad_glIsFramebufferEXT, 1, framebuffer); + ret = glad_glIsFramebufferEXT(framebuffer); + _post_call_gl_callback((void*) &ret, "glIsFramebufferEXT", (GLADapiproc) glad_glIsFramebufferEXT, 1, framebuffer); + return ret; +} +PFNGLISFRAMEBUFFEREXTPROC glad_debug_glIsFramebufferEXT = glad_debug_impl_glIsFramebufferEXT; +PFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsImageHandleResidentARB(GLuint64 handle) { + GLboolean ret; + _pre_call_gl_callback("glIsImageHandleResidentARB", (GLADapiproc) glad_glIsImageHandleResidentARB, 1, handle); + ret = glad_glIsImageHandleResidentARB(handle); + _post_call_gl_callback((void*) &ret, "glIsImageHandleResidentARB", (GLADapiproc) glad_glIsImageHandleResidentARB, 1, handle); + return ret; +} +PFNGLISIMAGEHANDLERESIDENTARBPROC glad_debug_glIsImageHandleResidentARB = glad_debug_impl_glIsImageHandleResidentARB; +PFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsImageHandleResidentNV(GLuint64 handle) { + GLboolean ret; + _pre_call_gl_callback("glIsImageHandleResidentNV", (GLADapiproc) glad_glIsImageHandleResidentNV, 1, handle); + ret = glad_glIsImageHandleResidentNV(handle); + _post_call_gl_callback((void*) &ret, "glIsImageHandleResidentNV", (GLADapiproc) glad_glIsImageHandleResidentNV, 1, handle); + return ret; +} +PFNGLISIMAGEHANDLERESIDENTNVPROC glad_debug_glIsImageHandleResidentNV = glad_debug_impl_glIsImageHandleResidentNV; +PFNGLISPROGRAMPROC glad_glIsProgram = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsProgram(GLuint program) { + GLboolean ret; + _pre_call_gl_callback("glIsProgram", (GLADapiproc) glad_glIsProgram, 1, program); + ret = glad_glIsProgram(program); + _post_call_gl_callback((void*) &ret, "glIsProgram", (GLADapiproc) glad_glIsProgram, 1, program); + return ret; +} +PFNGLISPROGRAMPROC glad_debug_glIsProgram = glad_debug_impl_glIsProgram; +PFNGLISPROGRAMARBPROC glad_glIsProgramARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsProgramARB(GLuint program) { + GLboolean ret; + _pre_call_gl_callback("glIsProgramARB", (GLADapiproc) glad_glIsProgramARB, 1, program); + ret = glad_glIsProgramARB(program); + _post_call_gl_callback((void*) &ret, "glIsProgramARB", (GLADapiproc) glad_glIsProgramARB, 1, program); + return ret; +} +PFNGLISPROGRAMARBPROC glad_debug_glIsProgramARB = glad_debug_impl_glIsProgramARB; +PFNGLISPROGRAMNVPROC glad_glIsProgramNV = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsProgramNV(GLuint id) { + GLboolean ret; + _pre_call_gl_callback("glIsProgramNV", (GLADapiproc) glad_glIsProgramNV, 1, id); + ret = glad_glIsProgramNV(id); + _post_call_gl_callback((void*) &ret, "glIsProgramNV", (GLADapiproc) glad_glIsProgramNV, 1, id); + return ret; +} +PFNGLISPROGRAMNVPROC glad_debug_glIsProgramNV = glad_debug_impl_glIsProgramNV; +PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsProgramPipeline(GLuint pipeline) { + GLboolean ret; + _pre_call_gl_callback("glIsProgramPipeline", (GLADapiproc) glad_glIsProgramPipeline, 1, pipeline); + ret = glad_glIsProgramPipeline(pipeline); + _post_call_gl_callback((void*) &ret, "glIsProgramPipeline", (GLADapiproc) glad_glIsProgramPipeline, 1, pipeline); + return ret; +} +PFNGLISPROGRAMPIPELINEPROC glad_debug_glIsProgramPipeline = glad_debug_impl_glIsProgramPipeline; +PFNGLISQUERYPROC glad_glIsQuery = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsQuery(GLuint id) { + GLboolean ret; + _pre_call_gl_callback("glIsQuery", (GLADapiproc) glad_glIsQuery, 1, id); + ret = glad_glIsQuery(id); + _post_call_gl_callback((void*) &ret, "glIsQuery", (GLADapiproc) glad_glIsQuery, 1, id); + return ret; +} +PFNGLISQUERYPROC glad_debug_glIsQuery = glad_debug_impl_glIsQuery; +PFNGLISQUERYARBPROC glad_glIsQueryARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsQueryARB(GLuint id) { + GLboolean ret; + _pre_call_gl_callback("glIsQueryARB", (GLADapiproc) glad_glIsQueryARB, 1, id); + ret = glad_glIsQueryARB(id); + _post_call_gl_callback((void*) &ret, "glIsQueryARB", (GLADapiproc) glad_glIsQueryARB, 1, id); + return ret; +} +PFNGLISQUERYARBPROC glad_debug_glIsQueryARB = glad_debug_impl_glIsQueryARB; +PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsRenderbuffer(GLuint renderbuffer) { + GLboolean ret; + _pre_call_gl_callback("glIsRenderbuffer", (GLADapiproc) glad_glIsRenderbuffer, 1, renderbuffer); + ret = glad_glIsRenderbuffer(renderbuffer); + _post_call_gl_callback((void*) &ret, "glIsRenderbuffer", (GLADapiproc) glad_glIsRenderbuffer, 1, renderbuffer); + return ret; +} +PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer = glad_debug_impl_glIsRenderbuffer; +PFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsRenderbufferEXT(GLuint renderbuffer) { + GLboolean ret; + _pre_call_gl_callback("glIsRenderbufferEXT", (GLADapiproc) glad_glIsRenderbufferEXT, 1, renderbuffer); + ret = glad_glIsRenderbufferEXT(renderbuffer); + _post_call_gl_callback((void*) &ret, "glIsRenderbufferEXT", (GLADapiproc) glad_glIsRenderbufferEXT, 1, renderbuffer); + return ret; +} +PFNGLISRENDERBUFFEREXTPROC glad_debug_glIsRenderbufferEXT = glad_debug_impl_glIsRenderbufferEXT; +PFNGLISSAMPLERPROC glad_glIsSampler = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsSampler(GLuint sampler) { + GLboolean ret; + _pre_call_gl_callback("glIsSampler", (GLADapiproc) glad_glIsSampler, 1, sampler); + ret = glad_glIsSampler(sampler); + _post_call_gl_callback((void*) &ret, "glIsSampler", (GLADapiproc) glad_glIsSampler, 1, sampler); + return ret; +} +PFNGLISSAMPLERPROC glad_debug_glIsSampler = glad_debug_impl_glIsSampler; +PFNGLISSHADERPROC glad_glIsShader = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsShader(GLuint shader) { + GLboolean ret; + _pre_call_gl_callback("glIsShader", (GLADapiproc) glad_glIsShader, 1, shader); + ret = glad_glIsShader(shader); + _post_call_gl_callback((void*) &ret, "glIsShader", (GLADapiproc) glad_glIsShader, 1, shader); + return ret; +} +PFNGLISSHADERPROC glad_debug_glIsShader = glad_debug_impl_glIsShader; +PFNGLISSYNCPROC glad_glIsSync = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsSync(GLsync sync) { + GLboolean ret; + _pre_call_gl_callback("glIsSync", (GLADapiproc) glad_glIsSync, 1, sync); + ret = glad_glIsSync(sync); + _post_call_gl_callback((void*) &ret, "glIsSync", (GLADapiproc) glad_glIsSync, 1, sync); + return ret; +} +PFNGLISSYNCPROC glad_debug_glIsSync = glad_debug_impl_glIsSync; +PFNGLISTEXTUREPROC glad_glIsTexture = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTexture(GLuint texture) { + GLboolean ret; + _pre_call_gl_callback("glIsTexture", (GLADapiproc) glad_glIsTexture, 1, texture); + ret = glad_glIsTexture(texture); + _post_call_gl_callback((void*) &ret, "glIsTexture", (GLADapiproc) glad_glIsTexture, 1, texture); + return ret; +} +PFNGLISTEXTUREPROC glad_debug_glIsTexture = glad_debug_impl_glIsTexture; +PFNGLISTEXTUREEXTPROC glad_glIsTextureEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTextureEXT(GLuint texture) { + GLboolean ret; + _pre_call_gl_callback("glIsTextureEXT", (GLADapiproc) glad_glIsTextureEXT, 1, texture); + ret = glad_glIsTextureEXT(texture); + _post_call_gl_callback((void*) &ret, "glIsTextureEXT", (GLADapiproc) glad_glIsTextureEXT, 1, texture); + return ret; +} +PFNGLISTEXTUREEXTPROC glad_debug_glIsTextureEXT = glad_debug_impl_glIsTextureEXT; +PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTextureHandleResidentARB(GLuint64 handle) { + GLboolean ret; + _pre_call_gl_callback("glIsTextureHandleResidentARB", (GLADapiproc) glad_glIsTextureHandleResidentARB, 1, handle); + ret = glad_glIsTextureHandleResidentARB(handle); + _post_call_gl_callback((void*) &ret, "glIsTextureHandleResidentARB", (GLADapiproc) glad_glIsTextureHandleResidentARB, 1, handle); + return ret; +} +PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_debug_glIsTextureHandleResidentARB = glad_debug_impl_glIsTextureHandleResidentARB; +PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTextureHandleResidentNV(GLuint64 handle) { + GLboolean ret; + _pre_call_gl_callback("glIsTextureHandleResidentNV", (GLADapiproc) glad_glIsTextureHandleResidentNV, 1, handle); + ret = glad_glIsTextureHandleResidentNV(handle); + _post_call_gl_callback((void*) &ret, "glIsTextureHandleResidentNV", (GLADapiproc) glad_glIsTextureHandleResidentNV, 1, handle); + return ret; +} +PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_debug_glIsTextureHandleResidentNV = glad_debug_impl_glIsTextureHandleResidentNV; +PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTransformFeedback(GLuint id) { + GLboolean ret; + _pre_call_gl_callback("glIsTransformFeedback", (GLADapiproc) glad_glIsTransformFeedback, 1, id); + ret = glad_glIsTransformFeedback(id); + _post_call_gl_callback((void*) &ret, "glIsTransformFeedback", (GLADapiproc) glad_glIsTransformFeedback, 1, id); + return ret; +} +PFNGLISTRANSFORMFEEDBACKPROC glad_debug_glIsTransformFeedback = glad_debug_impl_glIsTransformFeedback; +PFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsTransformFeedbackNV(GLuint id) { + GLboolean ret; + _pre_call_gl_callback("glIsTransformFeedbackNV", (GLADapiproc) glad_glIsTransformFeedbackNV, 1, id); + ret = glad_glIsTransformFeedbackNV(id); + _post_call_gl_callback((void*) &ret, "glIsTransformFeedbackNV", (GLADapiproc) glad_glIsTransformFeedbackNV, 1, id); + return ret; +} +PFNGLISTRANSFORMFEEDBACKNVPROC glad_debug_glIsTransformFeedbackNV = glad_debug_impl_glIsTransformFeedbackNV; +PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsVertexArray(GLuint array) { + GLboolean ret; + _pre_call_gl_callback("glIsVertexArray", (GLADapiproc) glad_glIsVertexArray, 1, array); + ret = glad_glIsVertexArray(array); + _post_call_gl_callback((void*) &ret, "glIsVertexArray", (GLADapiproc) glad_glIsVertexArray, 1, array); + return ret; +} +PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray = glad_debug_impl_glIsVertexArray; +PFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glIsVertexArrayAPPLE(GLuint array) { + GLboolean ret; + _pre_call_gl_callback("glIsVertexArrayAPPLE", (GLADapiproc) glad_glIsVertexArrayAPPLE, 1, array); + ret = glad_glIsVertexArrayAPPLE(array); + _post_call_gl_callback((void*) &ret, "glIsVertexArrayAPPLE", (GLADapiproc) glad_glIsVertexArrayAPPLE, 1, array); + return ret; +} +PFNGLISVERTEXARRAYAPPLEPROC glad_debug_glIsVertexArrayAPPLE = glad_debug_impl_glIsVertexArrayAPPLE; +PFNGLLINEWIDTHPROC glad_glLineWidth = NULL; +static void GLAD_API_PTR glad_debug_impl_glLineWidth(GLfloat width) { + _pre_call_gl_callback("glLineWidth", (GLADapiproc) glad_glLineWidth, 1, width); + glad_glLineWidth(width); + _post_call_gl_callback(NULL, "glLineWidth", (GLADapiproc) glad_glLineWidth, 1, width); + +} +PFNGLLINEWIDTHPROC glad_debug_glLineWidth = glad_debug_impl_glLineWidth; +PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL; +static void GLAD_API_PTR glad_debug_impl_glLinkProgram(GLuint program) { + _pre_call_gl_callback("glLinkProgram", (GLADapiproc) glad_glLinkProgram, 1, program); + glad_glLinkProgram(program); + _post_call_gl_callback(NULL, "glLinkProgram", (GLADapiproc) glad_glLinkProgram, 1, program); + +} +PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram = glad_debug_impl_glLinkProgram; +PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glLinkProgramARB(GLhandleARB programObj) { + _pre_call_gl_callback("glLinkProgramARB", (GLADapiproc) glad_glLinkProgramARB, 1, programObj); + glad_glLinkProgramARB(programObj); + _post_call_gl_callback(NULL, "glLinkProgramARB", (GLADapiproc) glad_glLinkProgramARB, 1, programObj); + +} +PFNGLLINKPROGRAMARBPROC glad_debug_glLinkProgramARB = glad_debug_impl_glLinkProgramARB; +PFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte * program) { + _pre_call_gl_callback("glLoadProgramNV", (GLADapiproc) glad_glLoadProgramNV, 4, target, id, len, program); + glad_glLoadProgramNV(target, id, len, program); + _post_call_gl_callback(NULL, "glLoadProgramNV", (GLADapiproc) glad_glLoadProgramNV, 4, target, id, len, program); + +} +PFNGLLOADPROGRAMNVPROC glad_debug_glLoadProgramNV = glad_debug_impl_glLoadProgramNV; +PFNGLLOGICOPPROC glad_glLogicOp = NULL; +static void GLAD_API_PTR glad_debug_impl_glLogicOp(GLenum opcode) { + _pre_call_gl_callback("glLogicOp", (GLADapiproc) glad_glLogicOp, 1, opcode); + glad_glLogicOp(opcode); + _post_call_gl_callback(NULL, "glLogicOp", (GLADapiproc) glad_glLogicOp, 1, opcode); + +} +PFNGLLOGICOPPROC glad_debug_glLogicOp = glad_debug_impl_glLogicOp; +PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeImageHandleNonResidentARB(GLuint64 handle) { + _pre_call_gl_callback("glMakeImageHandleNonResidentARB", (GLADapiproc) glad_glMakeImageHandleNonResidentARB, 1, handle); + glad_glMakeImageHandleNonResidentARB(handle); + _post_call_gl_callback(NULL, "glMakeImageHandleNonResidentARB", (GLADapiproc) glad_glMakeImageHandleNonResidentARB, 1, handle); + +} +PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_debug_glMakeImageHandleNonResidentARB = glad_debug_impl_glMakeImageHandleNonResidentARB; +PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeImageHandleNonResidentNV(GLuint64 handle) { + _pre_call_gl_callback("glMakeImageHandleNonResidentNV", (GLADapiproc) glad_glMakeImageHandleNonResidentNV, 1, handle); + glad_glMakeImageHandleNonResidentNV(handle); + _post_call_gl_callback(NULL, "glMakeImageHandleNonResidentNV", (GLADapiproc) glad_glMakeImageHandleNonResidentNV, 1, handle); + +} +PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_debug_glMakeImageHandleNonResidentNV = glad_debug_impl_glMakeImageHandleNonResidentNV; +PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeImageHandleResidentARB(GLuint64 handle, GLenum access) { + _pre_call_gl_callback("glMakeImageHandleResidentARB", (GLADapiproc) glad_glMakeImageHandleResidentARB, 2, handle, access); + glad_glMakeImageHandleResidentARB(handle, access); + _post_call_gl_callback(NULL, "glMakeImageHandleResidentARB", (GLADapiproc) glad_glMakeImageHandleResidentARB, 2, handle, access); + +} +PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_debug_glMakeImageHandleResidentARB = glad_debug_impl_glMakeImageHandleResidentARB; +PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeImageHandleResidentNV(GLuint64 handle, GLenum access) { + _pre_call_gl_callback("glMakeImageHandleResidentNV", (GLADapiproc) glad_glMakeImageHandleResidentNV, 2, handle, access); + glad_glMakeImageHandleResidentNV(handle, access); + _post_call_gl_callback(NULL, "glMakeImageHandleResidentNV", (GLADapiproc) glad_glMakeImageHandleResidentNV, 2, handle, access); + +} +PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_debug_glMakeImageHandleResidentNV = glad_debug_impl_glMakeImageHandleResidentNV; +PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeTextureHandleNonResidentARB(GLuint64 handle) { + _pre_call_gl_callback("glMakeTextureHandleNonResidentARB", (GLADapiproc) glad_glMakeTextureHandleNonResidentARB, 1, handle); + glad_glMakeTextureHandleNonResidentARB(handle); + _post_call_gl_callback(NULL, "glMakeTextureHandleNonResidentARB", (GLADapiproc) glad_glMakeTextureHandleNonResidentARB, 1, handle); + +} +PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_debug_glMakeTextureHandleNonResidentARB = glad_debug_impl_glMakeTextureHandleNonResidentARB; +PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeTextureHandleNonResidentNV(GLuint64 handle) { + _pre_call_gl_callback("glMakeTextureHandleNonResidentNV", (GLADapiproc) glad_glMakeTextureHandleNonResidentNV, 1, handle); + glad_glMakeTextureHandleNonResidentNV(handle); + _post_call_gl_callback(NULL, "glMakeTextureHandleNonResidentNV", (GLADapiproc) glad_glMakeTextureHandleNonResidentNV, 1, handle); + +} +PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_debug_glMakeTextureHandleNonResidentNV = glad_debug_impl_glMakeTextureHandleNonResidentNV; +PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeTextureHandleResidentARB(GLuint64 handle) { + _pre_call_gl_callback("glMakeTextureHandleResidentARB", (GLADapiproc) glad_glMakeTextureHandleResidentARB, 1, handle); + glad_glMakeTextureHandleResidentARB(handle); + _post_call_gl_callback(NULL, "glMakeTextureHandleResidentARB", (GLADapiproc) glad_glMakeTextureHandleResidentARB, 1, handle); + +} +PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_debug_glMakeTextureHandleResidentARB = glad_debug_impl_glMakeTextureHandleResidentARB; +PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMakeTextureHandleResidentNV(GLuint64 handle) { + _pre_call_gl_callback("glMakeTextureHandleResidentNV", (GLADapiproc) glad_glMakeTextureHandleResidentNV, 1, handle); + glad_glMakeTextureHandleResidentNV(handle); + _post_call_gl_callback(NULL, "glMakeTextureHandleResidentNV", (GLADapiproc) glad_glMakeTextureHandleResidentNV, 1, handle); + +} +PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_debug_glMakeTextureHandleResidentNV = glad_debug_impl_glMakeTextureHandleResidentNV; +PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapBuffer(GLenum target, GLenum access) { + void * ret; + _pre_call_gl_callback("glMapBuffer", (GLADapiproc) glad_glMapBuffer, 2, target, access); + ret = glad_glMapBuffer(target, access); + _post_call_gl_callback((void*) &ret, "glMapBuffer", (GLADapiproc) glad_glMapBuffer, 2, target, access); + return ret; +} +PFNGLMAPBUFFERPROC glad_debug_glMapBuffer = glad_debug_impl_glMapBuffer; +PFNGLMAPBUFFERARBPROC glad_glMapBufferARB = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapBufferARB(GLenum target, GLenum access) { + void * ret; + _pre_call_gl_callback("glMapBufferARB", (GLADapiproc) glad_glMapBufferARB, 2, target, access); + ret = glad_glMapBufferARB(target, access); + _post_call_gl_callback((void*) &ret, "glMapBufferARB", (GLADapiproc) glad_glMapBufferARB, 2, target, access); + return ret; +} +PFNGLMAPBUFFERARBPROC glad_debug_glMapBufferARB = glad_debug_impl_glMapBufferARB; +PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { + void * ret; + _pre_call_gl_callback("glMapBufferRange", (GLADapiproc) glad_glMapBufferRange, 4, target, offset, length, access); + ret = glad_glMapBufferRange(target, offset, length, access); + _post_call_gl_callback((void*) &ret, "glMapBufferRange", (GLADapiproc) glad_glMapBufferRange, 4, target, offset, length, access); + return ret; +} +PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange = glad_debug_impl_glMapBufferRange; +PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapNamedBuffer(GLuint buffer, GLenum access) { + void * ret; + _pre_call_gl_callback("glMapNamedBuffer", (GLADapiproc) glad_glMapNamedBuffer, 2, buffer, access); + ret = glad_glMapNamedBuffer(buffer, access); + _post_call_gl_callback((void*) &ret, "glMapNamedBuffer", (GLADapiproc) glad_glMapNamedBuffer, 2, buffer, access); + return ret; +} +PFNGLMAPNAMEDBUFFERPROC glad_debug_glMapNamedBuffer = glad_debug_impl_glMapNamedBuffer; +PFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapNamedBufferEXT(GLuint buffer, GLenum access) { + void * ret; + _pre_call_gl_callback("glMapNamedBufferEXT", (GLADapiproc) glad_glMapNamedBufferEXT, 2, buffer, access); + ret = glad_glMapNamedBufferEXT(buffer, access); + _post_call_gl_callback((void*) &ret, "glMapNamedBufferEXT", (GLADapiproc) glad_glMapNamedBufferEXT, 2, buffer, access); + return ret; +} +PFNGLMAPNAMEDBUFFEREXTPROC glad_debug_glMapNamedBufferEXT = glad_debug_impl_glMapNamedBufferEXT; +PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) { + void * ret; + _pre_call_gl_callback("glMapNamedBufferRange", (GLADapiproc) glad_glMapNamedBufferRange, 4, buffer, offset, length, access); + ret = glad_glMapNamedBufferRange(buffer, offset, length, access); + _post_call_gl_callback((void*) &ret, "glMapNamedBufferRange", (GLADapiproc) glad_glMapNamedBufferRange, 4, buffer, offset, length, access); + return ret; +} +PFNGLMAPNAMEDBUFFERRANGEPROC glad_debug_glMapNamedBufferRange = glad_debug_impl_glMapNamedBufferRange; +PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT = NULL; +static void * GLAD_API_PTR glad_debug_impl_glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) { + void * ret; + _pre_call_gl_callback("glMapNamedBufferRangeEXT", (GLADapiproc) glad_glMapNamedBufferRangeEXT, 4, buffer, offset, length, access); + ret = glad_glMapNamedBufferRangeEXT(buffer, offset, length, access); + _post_call_gl_callback((void*) &ret, "glMapNamedBufferRangeEXT", (GLADapiproc) glad_glMapNamedBufferRangeEXT, 4, buffer, offset, length, access); + return ret; +} +PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_debug_glMapNamedBufferRangeEXT = glad_debug_impl_glMapNamedBufferRangeEXT; +PFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { + _pre_call_gl_callback("glMatrixFrustumEXT", (GLADapiproc) glad_glMatrixFrustumEXT, 7, mode, left, right, bottom, top, zNear, zFar); + glad_glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar); + _post_call_gl_callback(NULL, "glMatrixFrustumEXT", (GLADapiproc) glad_glMatrixFrustumEXT, 7, mode, left, right, bottom, top, zNear, zFar); + +} +PFNGLMATRIXFRUSTUMEXTPROC glad_debug_glMatrixFrustumEXT = glad_debug_impl_glMatrixFrustumEXT; +PFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixLoadIdentityEXT(GLenum mode) { + _pre_call_gl_callback("glMatrixLoadIdentityEXT", (GLADapiproc) glad_glMatrixLoadIdentityEXT, 1, mode); + glad_glMatrixLoadIdentityEXT(mode); + _post_call_gl_callback(NULL, "glMatrixLoadIdentityEXT", (GLADapiproc) glad_glMatrixLoadIdentityEXT, 1, mode); + +} +PFNGLMATRIXLOADIDENTITYEXTPROC glad_debug_glMatrixLoadIdentityEXT = glad_debug_impl_glMatrixLoadIdentityEXT; +PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixLoadTransposedEXT(GLenum mode, const GLdouble * m) { + _pre_call_gl_callback("glMatrixLoadTransposedEXT", (GLADapiproc) glad_glMatrixLoadTransposedEXT, 2, mode, m); + glad_glMatrixLoadTransposedEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixLoadTransposedEXT", (GLADapiproc) glad_glMatrixLoadTransposedEXT, 2, mode, m); + +} +PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_debug_glMatrixLoadTransposedEXT = glad_debug_impl_glMatrixLoadTransposedEXT; +PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixLoadTransposefEXT(GLenum mode, const GLfloat * m) { + _pre_call_gl_callback("glMatrixLoadTransposefEXT", (GLADapiproc) glad_glMatrixLoadTransposefEXT, 2, mode, m); + glad_glMatrixLoadTransposefEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixLoadTransposefEXT", (GLADapiproc) glad_glMatrixLoadTransposefEXT, 2, mode, m); + +} +PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_debug_glMatrixLoadTransposefEXT = glad_debug_impl_glMatrixLoadTransposefEXT; +PFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixLoaddEXT(GLenum mode, const GLdouble * m) { + _pre_call_gl_callback("glMatrixLoaddEXT", (GLADapiproc) glad_glMatrixLoaddEXT, 2, mode, m); + glad_glMatrixLoaddEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixLoaddEXT", (GLADapiproc) glad_glMatrixLoaddEXT, 2, mode, m); + +} +PFNGLMATRIXLOADDEXTPROC glad_debug_glMatrixLoaddEXT = glad_debug_impl_glMatrixLoaddEXT; +PFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixLoadfEXT(GLenum mode, const GLfloat * m) { + _pre_call_gl_callback("glMatrixLoadfEXT", (GLADapiproc) glad_glMatrixLoadfEXT, 2, mode, m); + glad_glMatrixLoadfEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixLoadfEXT", (GLADapiproc) glad_glMatrixLoadfEXT, 2, mode, m); + +} +PFNGLMATRIXLOADFEXTPROC glad_debug_glMatrixLoadfEXT = glad_debug_impl_glMatrixLoadfEXT; +PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixMultTransposedEXT(GLenum mode, const GLdouble * m) { + _pre_call_gl_callback("glMatrixMultTransposedEXT", (GLADapiproc) glad_glMatrixMultTransposedEXT, 2, mode, m); + glad_glMatrixMultTransposedEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixMultTransposedEXT", (GLADapiproc) glad_glMatrixMultTransposedEXT, 2, mode, m); + +} +PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_debug_glMatrixMultTransposedEXT = glad_debug_impl_glMatrixMultTransposedEXT; +PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixMultTransposefEXT(GLenum mode, const GLfloat * m) { + _pre_call_gl_callback("glMatrixMultTransposefEXT", (GLADapiproc) glad_glMatrixMultTransposefEXT, 2, mode, m); + glad_glMatrixMultTransposefEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixMultTransposefEXT", (GLADapiproc) glad_glMatrixMultTransposefEXT, 2, mode, m); + +} +PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_debug_glMatrixMultTransposefEXT = glad_debug_impl_glMatrixMultTransposefEXT; +PFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixMultdEXT(GLenum mode, const GLdouble * m) { + _pre_call_gl_callback("glMatrixMultdEXT", (GLADapiproc) glad_glMatrixMultdEXT, 2, mode, m); + glad_glMatrixMultdEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixMultdEXT", (GLADapiproc) glad_glMatrixMultdEXT, 2, mode, m); + +} +PFNGLMATRIXMULTDEXTPROC glad_debug_glMatrixMultdEXT = glad_debug_impl_glMatrixMultdEXT; +PFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixMultfEXT(GLenum mode, const GLfloat * m) { + _pre_call_gl_callback("glMatrixMultfEXT", (GLADapiproc) glad_glMatrixMultfEXT, 2, mode, m); + glad_glMatrixMultfEXT(mode, m); + _post_call_gl_callback(NULL, "glMatrixMultfEXT", (GLADapiproc) glad_glMatrixMultfEXT, 2, mode, m); + +} +PFNGLMATRIXMULTFEXTPROC glad_debug_glMatrixMultfEXT = glad_debug_impl_glMatrixMultfEXT; +PFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { + _pre_call_gl_callback("glMatrixOrthoEXT", (GLADapiproc) glad_glMatrixOrthoEXT, 7, mode, left, right, bottom, top, zNear, zFar); + glad_glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar); + _post_call_gl_callback(NULL, "glMatrixOrthoEXT", (GLADapiproc) glad_glMatrixOrthoEXT, 7, mode, left, right, bottom, top, zNear, zFar); + +} +PFNGLMATRIXORTHOEXTPROC glad_debug_glMatrixOrthoEXT = glad_debug_impl_glMatrixOrthoEXT; +PFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixPopEXT(GLenum mode) { + _pre_call_gl_callback("glMatrixPopEXT", (GLADapiproc) glad_glMatrixPopEXT, 1, mode); + glad_glMatrixPopEXT(mode); + _post_call_gl_callback(NULL, "glMatrixPopEXT", (GLADapiproc) glad_glMatrixPopEXT, 1, mode); + +} +PFNGLMATRIXPOPEXTPROC glad_debug_glMatrixPopEXT = glad_debug_impl_glMatrixPopEXT; +PFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixPushEXT(GLenum mode) { + _pre_call_gl_callback("glMatrixPushEXT", (GLADapiproc) glad_glMatrixPushEXT, 1, mode); + glad_glMatrixPushEXT(mode); + _post_call_gl_callback(NULL, "glMatrixPushEXT", (GLADapiproc) glad_glMatrixPushEXT, 1, mode); + +} +PFNGLMATRIXPUSHEXTPROC glad_debug_glMatrixPushEXT = glad_debug_impl_glMatrixPushEXT; +PFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glMatrixRotatedEXT", (GLADapiproc) glad_glMatrixRotatedEXT, 5, mode, angle, x, y, z); + glad_glMatrixRotatedEXT(mode, angle, x, y, z); + _post_call_gl_callback(NULL, "glMatrixRotatedEXT", (GLADapiproc) glad_glMatrixRotatedEXT, 5, mode, angle, x, y, z); + +} +PFNGLMATRIXROTATEDEXTPROC glad_debug_glMatrixRotatedEXT = glad_debug_impl_glMatrixRotatedEXT; +PFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glMatrixRotatefEXT", (GLADapiproc) glad_glMatrixRotatefEXT, 5, mode, angle, x, y, z); + glad_glMatrixRotatefEXT(mode, angle, x, y, z); + _post_call_gl_callback(NULL, "glMatrixRotatefEXT", (GLADapiproc) glad_glMatrixRotatefEXT, 5, mode, angle, x, y, z); + +} +PFNGLMATRIXROTATEFEXTPROC glad_debug_glMatrixRotatefEXT = glad_debug_impl_glMatrixRotatefEXT; +PFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glMatrixScaledEXT", (GLADapiproc) glad_glMatrixScaledEXT, 4, mode, x, y, z); + glad_glMatrixScaledEXT(mode, x, y, z); + _post_call_gl_callback(NULL, "glMatrixScaledEXT", (GLADapiproc) glad_glMatrixScaledEXT, 4, mode, x, y, z); + +} +PFNGLMATRIXSCALEDEXTPROC glad_debug_glMatrixScaledEXT = glad_debug_impl_glMatrixScaledEXT; +PFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glMatrixScalefEXT", (GLADapiproc) glad_glMatrixScalefEXT, 4, mode, x, y, z); + glad_glMatrixScalefEXT(mode, x, y, z); + _post_call_gl_callback(NULL, "glMatrixScalefEXT", (GLADapiproc) glad_glMatrixScalefEXT, 4, mode, x, y, z); + +} +PFNGLMATRIXSCALEFEXTPROC glad_debug_glMatrixScalefEXT = glad_debug_impl_glMatrixScalefEXT; +PFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glMatrixTranslatedEXT", (GLADapiproc) glad_glMatrixTranslatedEXT, 4, mode, x, y, z); + glad_glMatrixTranslatedEXT(mode, x, y, z); + _post_call_gl_callback(NULL, "glMatrixTranslatedEXT", (GLADapiproc) glad_glMatrixTranslatedEXT, 4, mode, x, y, z); + +} +PFNGLMATRIXTRANSLATEDEXTPROC glad_debug_glMatrixTranslatedEXT = glad_debug_impl_glMatrixTranslatedEXT; +PFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glMatrixTranslatefEXT", (GLADapiproc) glad_glMatrixTranslatefEXT, 4, mode, x, y, z); + glad_glMatrixTranslatefEXT(mode, x, y, z); + _post_call_gl_callback(NULL, "glMatrixTranslatefEXT", (GLADapiproc) glad_glMatrixTranslatefEXT, 4, mode, x, y, z); + +} +PFNGLMATRIXTRANSLATEFEXTPROC glad_debug_glMatrixTranslatefEXT = glad_debug_impl_glMatrixTranslatefEXT; +PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier = NULL; +static void GLAD_API_PTR glad_debug_impl_glMemoryBarrier(GLbitfield barriers) { + _pre_call_gl_callback("glMemoryBarrier", (GLADapiproc) glad_glMemoryBarrier, 1, barriers); + glad_glMemoryBarrier(barriers); + _post_call_gl_callback(NULL, "glMemoryBarrier", (GLADapiproc) glad_glMemoryBarrier, 1, barriers); + +} +PFNGLMEMORYBARRIERPROC glad_debug_glMemoryBarrier = glad_debug_impl_glMemoryBarrier; +PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion = NULL; +static void GLAD_API_PTR glad_debug_impl_glMemoryBarrierByRegion(GLbitfield barriers) { + _pre_call_gl_callback("glMemoryBarrierByRegion", (GLADapiproc) glad_glMemoryBarrierByRegion, 1, barriers); + glad_glMemoryBarrierByRegion(barriers); + _post_call_gl_callback(NULL, "glMemoryBarrierByRegion", (GLADapiproc) glad_glMemoryBarrierByRegion, 1, barriers); + +} +PFNGLMEMORYBARRIERBYREGIONPROC glad_debug_glMemoryBarrierByRegion = glad_debug_impl_glMemoryBarrierByRegion; +PFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMemoryBarrierEXT(GLbitfield barriers) { + _pre_call_gl_callback("glMemoryBarrierEXT", (GLADapiproc) glad_glMemoryBarrierEXT, 1, barriers); + glad_glMemoryBarrierEXT(barriers); + _post_call_gl_callback(NULL, "glMemoryBarrierEXT", (GLADapiproc) glad_glMemoryBarrierEXT, 1, barriers); + +} +PFNGLMEMORYBARRIEREXTPROC glad_debug_glMemoryBarrierEXT = glad_debug_impl_glMemoryBarrierEXT; +PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading = NULL; +static void GLAD_API_PTR glad_debug_impl_glMinSampleShading(GLfloat value) { + _pre_call_gl_callback("glMinSampleShading", (GLADapiproc) glad_glMinSampleShading, 1, value); + glad_glMinSampleShading(value); + _post_call_gl_callback(NULL, "glMinSampleShading", (GLADapiproc) glad_glMinSampleShading, 1, value); + +} +PFNGLMINSAMPLESHADINGPROC glad_debug_glMinSampleShading = glad_debug_impl_glMinSampleShading; +PFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMinSampleShadingARB(GLfloat value) { + _pre_call_gl_callback("glMinSampleShadingARB", (GLADapiproc) glad_glMinSampleShadingARB, 1, value); + glad_glMinSampleShadingARB(value); + _post_call_gl_callback(NULL, "glMinSampleShadingARB", (GLADapiproc) glad_glMinSampleShadingARB, 1, value); + +} +PFNGLMINSAMPLESHADINGARBPROC glad_debug_glMinSampleShadingARB = glad_debug_impl_glMinSampleShadingARB; +PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArrays(GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount) { + _pre_call_gl_callback("glMultiDrawArrays", (GLADapiproc) glad_glMultiDrawArrays, 4, mode, first, count, drawcount); + glad_glMultiDrawArrays(mode, first, count, drawcount); + _post_call_gl_callback(NULL, "glMultiDrawArrays", (GLADapiproc) glad_glMultiDrawArrays, 4, mode, first, count, drawcount); + +} +PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays = glad_debug_impl_glMultiDrawArrays; +PFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) { + _pre_call_gl_callback("glMultiDrawArraysEXT", (GLADapiproc) glad_glMultiDrawArraysEXT, 4, mode, first, count, primcount); + glad_glMultiDrawArraysEXT(mode, first, count, primcount); + _post_call_gl_callback(NULL, "glMultiDrawArraysEXT", (GLADapiproc) glad_glMultiDrawArraysEXT, 4, mode, first, count, primcount); + +} +PFNGLMULTIDRAWARRAYSEXTPROC glad_debug_glMultiDrawArraysEXT = glad_debug_impl_glMultiDrawArraysEXT; +PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirect(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawArraysIndirect", (GLADapiproc) glad_glMultiDrawArraysIndirect, 4, mode, indirect, drawcount, stride); + glad_glMultiDrawArraysIndirect(mode, indirect, drawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirect", (GLADapiproc) glad_glMultiDrawArraysIndirect, 4, mode, indirect, drawcount, stride); + +} +PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_debug_glMultiDrawArraysIndirect = glad_debug_impl_glMultiDrawArraysIndirect; +PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirectAMD(GLenum mode, const void * indirect, GLsizei primcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawArraysIndirectAMD", (GLADapiproc) glad_glMultiDrawArraysIndirectAMD, 4, mode, indirect, primcount, stride); + glad_glMultiDrawArraysIndirectAMD(mode, indirect, primcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirectAMD", (GLADapiproc) glad_glMultiDrawArraysIndirectAMD, 4, mode, indirect, primcount, stride); + +} +PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_debug_glMultiDrawArraysIndirectAMD = glad_debug_impl_glMultiDrawArraysIndirectAMD; +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawArraysIndirectBindlessCountNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirectBindlessCountNV(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) { + _pre_call_gl_callback("glMultiDrawArraysIndirectBindlessCountNV", (GLADapiproc) glad_glMultiDrawArraysIndirectBindlessCountNV, 6, mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + glad_glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirectBindlessCountNV", (GLADapiproc) glad_glMultiDrawArraysIndirectBindlessCountNV, 6, mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + +} +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_debug_glMultiDrawArraysIndirectBindlessCountNV = glad_debug_impl_glMultiDrawArraysIndirectBindlessCountNV; +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirectBindlessNV(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) { + _pre_call_gl_callback("glMultiDrawArraysIndirectBindlessNV", (GLADapiproc) glad_glMultiDrawArraysIndirectBindlessNV, 5, mode, indirect, drawCount, stride, vertexBufferCount); + glad_glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirectBindlessNV", (GLADapiproc) glad_glMultiDrawArraysIndirectBindlessNV, 5, mode, indirect, drawCount, stride, vertexBufferCount); + +} +PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_debug_glMultiDrawArraysIndirectBindlessNV = glad_debug_impl_glMultiDrawArraysIndirectBindlessNV; +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirectCount(GLenum mode, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawArraysIndirectCount", (GLADapiproc) glad_glMultiDrawArraysIndirectCount, 5, mode, indirect, drawcount, maxdrawcount, stride); + glad_glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirectCount", (GLADapiproc) glad_glMultiDrawArraysIndirectCount, 5, mode, indirect, drawcount, maxdrawcount, stride); + +} +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_debug_glMultiDrawArraysIndirectCount = glad_debug_impl_glMultiDrawArraysIndirectCount; +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawArraysIndirectCountARB(GLenum mode, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawArraysIndirectCountARB", (GLADapiproc) glad_glMultiDrawArraysIndirectCountARB, 5, mode, indirect, drawcount, maxdrawcount, stride); + glad_glMultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawArraysIndirectCountARB", (GLADapiproc) glad_glMultiDrawArraysIndirectCountARB, 5, mode, indirect, drawcount, maxdrawcount, stride); + +} +PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_debug_glMultiDrawArraysIndirectCountARB = glad_debug_impl_glMultiDrawArraysIndirectCountARB; +PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElements(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount) { + _pre_call_gl_callback("glMultiDrawElements", (GLADapiproc) glad_glMultiDrawElements, 5, mode, count, type, indices, drawcount); + glad_glMultiDrawElements(mode, count, type, indices, drawcount); + _post_call_gl_callback(NULL, "glMultiDrawElements", (GLADapiproc) glad_glMultiDrawElements, 5, mode, count, type, indices, drawcount); + +} +PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements = glad_debug_impl_glMultiDrawElements; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount, const GLint * basevertex) { + _pre_call_gl_callback("glMultiDrawElementsBaseVertex", (GLADapiproc) glad_glMultiDrawElementsBaseVertex, 6, mode, count, type, indices, drawcount, basevertex); + glad_glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + _post_call_gl_callback(NULL, "glMultiDrawElementsBaseVertex", (GLADapiproc) glad_glMultiDrawElementsBaseVertex, 6, mode, count, type, indices, drawcount, basevertex); + +} +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex = glad_debug_impl_glMultiDrawElementsBaseVertex; +PFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount) { + _pre_call_gl_callback("glMultiDrawElementsEXT", (GLADapiproc) glad_glMultiDrawElementsEXT, 5, mode, count, type, indices, primcount); + glad_glMultiDrawElementsEXT(mode, count, type, indices, primcount); + _post_call_gl_callback(NULL, "glMultiDrawElementsEXT", (GLADapiproc) glad_glMultiDrawElementsEXT, 5, mode, count, type, indices, primcount); + +} +PFNGLMULTIDRAWELEMENTSEXTPROC glad_debug_glMultiDrawElementsEXT = glad_debug_impl_glMultiDrawElementsEXT; +PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawElementsIndirect", (GLADapiproc) glad_glMultiDrawElementsIndirect, 5, mode, type, indirect, drawcount, stride); + glad_glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirect", (GLADapiproc) glad_glMultiDrawElementsIndirect, 5, mode, type, indirect, drawcount, stride); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_debug_glMultiDrawElementsIndirect = glad_debug_impl_glMultiDrawElementsIndirect; +PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const void * indirect, GLsizei primcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawElementsIndirectAMD", (GLADapiproc) glad_glMultiDrawElementsIndirectAMD, 5, mode, type, indirect, primcount, stride); + glad_glMultiDrawElementsIndirectAMD(mode, type, indirect, primcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirectAMD", (GLADapiproc) glad_glMultiDrawElementsIndirectAMD, 5, mode, type, indirect, primcount, stride); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_debug_glMultiDrawElementsIndirectAMD = glad_debug_impl_glMultiDrawElementsIndirectAMD; +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawElementsIndirectBindlessCountNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirectBindlessCountNV(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) { + _pre_call_gl_callback("glMultiDrawElementsIndirectBindlessCountNV", (GLADapiproc) glad_glMultiDrawElementsIndirectBindlessCountNV, 7, mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + glad_glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirectBindlessCountNV", (GLADapiproc) glad_glMultiDrawElementsIndirectBindlessCountNV, 7, mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_debug_glMultiDrawElementsIndirectBindlessCountNV = glad_debug_impl_glMultiDrawElementsIndirectBindlessCountNV; +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirectBindlessNV(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) { + _pre_call_gl_callback("glMultiDrawElementsIndirectBindlessNV", (GLADapiproc) glad_glMultiDrawElementsIndirectBindlessNV, 6, mode, type, indirect, drawCount, stride, vertexBufferCount); + glad_glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirectBindlessNV", (GLADapiproc) glad_glMultiDrawElementsIndirectBindlessNV, 6, mode, type, indirect, drawCount, stride, vertexBufferCount); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_debug_glMultiDrawElementsIndirectBindlessNV = glad_debug_impl_glMultiDrawElementsIndirectBindlessNV; +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirectCount(GLenum mode, GLenum type, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawElementsIndirectCount", (GLADapiproc) glad_glMultiDrawElementsIndirectCount, 6, mode, type, indirect, drawcount, maxdrawcount, stride); + glad_glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirectCount", (GLADapiproc) glad_glMultiDrawElementsIndirectCount, 6, mode, type, indirect, drawcount, maxdrawcount, stride); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_debug_glMultiDrawElementsIndirectCount = glad_debug_impl_glMultiDrawElementsIndirectCount; +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { + _pre_call_gl_callback("glMultiDrawElementsIndirectCountARB", (GLADapiproc) glad_glMultiDrawElementsIndirectCountARB, 6, mode, type, indirect, drawcount, maxdrawcount, stride); + glad_glMultiDrawElementsIndirectCountARB(mode, type, indirect, drawcount, maxdrawcount, stride); + _post_call_gl_callback(NULL, "glMultiDrawElementsIndirectCountARB", (GLADapiproc) glad_glMultiDrawElementsIndirectCountARB, 6, mode, type, indirect, drawcount, maxdrawcount, stride); + +} +PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_debug_glMultiDrawElementsIndirectCountARB = glad_debug_impl_glMultiDrawElementsIndirectCountARB; +PFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glMultiTexBufferEXT", (GLADapiproc) glad_glMultiTexBufferEXT, 4, texunit, target, internalformat, buffer); + glad_glMultiTexBufferEXT(texunit, target, internalformat, buffer); + _post_call_gl_callback(NULL, "glMultiTexBufferEXT", (GLADapiproc) glad_glMultiTexBufferEXT, 4, texunit, target, internalformat, buffer); + +} +PFNGLMULTITEXBUFFEREXTPROC glad_debug_glMultiTexBufferEXT = glad_debug_impl_glMultiTexBufferEXT; +PFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1dARB(GLenum target, GLdouble s) { + _pre_call_gl_callback("glMultiTexCoord1dARB", (GLADapiproc) glad_glMultiTexCoord1dARB, 2, target, s); + glad_glMultiTexCoord1dARB(target, s); + _post_call_gl_callback(NULL, "glMultiTexCoord1dARB", (GLADapiproc) glad_glMultiTexCoord1dARB, 2, target, s); + +} +PFNGLMULTITEXCOORD1DARBPROC glad_debug_glMultiTexCoord1dARB = glad_debug_impl_glMultiTexCoord1dARB; +PFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1dvARB(GLenum target, const GLdouble * v) { + _pre_call_gl_callback("glMultiTexCoord1dvARB", (GLADapiproc) glad_glMultiTexCoord1dvARB, 2, target, v); + glad_glMultiTexCoord1dvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord1dvARB", (GLADapiproc) glad_glMultiTexCoord1dvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD1DVARBPROC glad_debug_glMultiTexCoord1dvARB = glad_debug_impl_glMultiTexCoord1dvARB; +PFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1fARB(GLenum target, GLfloat s) { + _pre_call_gl_callback("glMultiTexCoord1fARB", (GLADapiproc) glad_glMultiTexCoord1fARB, 2, target, s); + glad_glMultiTexCoord1fARB(target, s); + _post_call_gl_callback(NULL, "glMultiTexCoord1fARB", (GLADapiproc) glad_glMultiTexCoord1fARB, 2, target, s); + +} +PFNGLMULTITEXCOORD1FARBPROC glad_debug_glMultiTexCoord1fARB = glad_debug_impl_glMultiTexCoord1fARB; +PFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1fvARB(GLenum target, const GLfloat * v) { + _pre_call_gl_callback("glMultiTexCoord1fvARB", (GLADapiproc) glad_glMultiTexCoord1fvARB, 2, target, v); + glad_glMultiTexCoord1fvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord1fvARB", (GLADapiproc) glad_glMultiTexCoord1fvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD1FVARBPROC glad_debug_glMultiTexCoord1fvARB = glad_debug_impl_glMultiTexCoord1fvARB; +PFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1iARB(GLenum target, GLint s) { + _pre_call_gl_callback("glMultiTexCoord1iARB", (GLADapiproc) glad_glMultiTexCoord1iARB, 2, target, s); + glad_glMultiTexCoord1iARB(target, s); + _post_call_gl_callback(NULL, "glMultiTexCoord1iARB", (GLADapiproc) glad_glMultiTexCoord1iARB, 2, target, s); + +} +PFNGLMULTITEXCOORD1IARBPROC glad_debug_glMultiTexCoord1iARB = glad_debug_impl_glMultiTexCoord1iARB; +PFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1ivARB(GLenum target, const GLint * v) { + _pre_call_gl_callback("glMultiTexCoord1ivARB", (GLADapiproc) glad_glMultiTexCoord1ivARB, 2, target, v); + glad_glMultiTexCoord1ivARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord1ivARB", (GLADapiproc) glad_glMultiTexCoord1ivARB, 2, target, v); + +} +PFNGLMULTITEXCOORD1IVARBPROC glad_debug_glMultiTexCoord1ivARB = glad_debug_impl_glMultiTexCoord1ivARB; +PFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1sARB(GLenum target, GLshort s) { + _pre_call_gl_callback("glMultiTexCoord1sARB", (GLADapiproc) glad_glMultiTexCoord1sARB, 2, target, s); + glad_glMultiTexCoord1sARB(target, s); + _post_call_gl_callback(NULL, "glMultiTexCoord1sARB", (GLADapiproc) glad_glMultiTexCoord1sARB, 2, target, s); + +} +PFNGLMULTITEXCOORD1SARBPROC glad_debug_glMultiTexCoord1sARB = glad_debug_impl_glMultiTexCoord1sARB; +PFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord1svARB(GLenum target, const GLshort * v) { + _pre_call_gl_callback("glMultiTexCoord1svARB", (GLADapiproc) glad_glMultiTexCoord1svARB, 2, target, v); + glad_glMultiTexCoord1svARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord1svARB", (GLADapiproc) glad_glMultiTexCoord1svARB, 2, target, v); + +} +PFNGLMULTITEXCOORD1SVARBPROC glad_debug_glMultiTexCoord1svARB = glad_debug_impl_glMultiTexCoord1svARB; +PFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) { + _pre_call_gl_callback("glMultiTexCoord2dARB", (GLADapiproc) glad_glMultiTexCoord2dARB, 3, target, s, t); + glad_glMultiTexCoord2dARB(target, s, t); + _post_call_gl_callback(NULL, "glMultiTexCoord2dARB", (GLADapiproc) glad_glMultiTexCoord2dARB, 3, target, s, t); + +} +PFNGLMULTITEXCOORD2DARBPROC glad_debug_glMultiTexCoord2dARB = glad_debug_impl_glMultiTexCoord2dARB; +PFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2dvARB(GLenum target, const GLdouble * v) { + _pre_call_gl_callback("glMultiTexCoord2dvARB", (GLADapiproc) glad_glMultiTexCoord2dvARB, 2, target, v); + glad_glMultiTexCoord2dvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord2dvARB", (GLADapiproc) glad_glMultiTexCoord2dvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD2DVARBPROC glad_debug_glMultiTexCoord2dvARB = glad_debug_impl_glMultiTexCoord2dvARB; +PFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) { + _pre_call_gl_callback("glMultiTexCoord2fARB", (GLADapiproc) glad_glMultiTexCoord2fARB, 3, target, s, t); + glad_glMultiTexCoord2fARB(target, s, t); + _post_call_gl_callback(NULL, "glMultiTexCoord2fARB", (GLADapiproc) glad_glMultiTexCoord2fARB, 3, target, s, t); + +} +PFNGLMULTITEXCOORD2FARBPROC glad_debug_glMultiTexCoord2fARB = glad_debug_impl_glMultiTexCoord2fARB; +PFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2fvARB(GLenum target, const GLfloat * v) { + _pre_call_gl_callback("glMultiTexCoord2fvARB", (GLADapiproc) glad_glMultiTexCoord2fvARB, 2, target, v); + glad_glMultiTexCoord2fvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord2fvARB", (GLADapiproc) glad_glMultiTexCoord2fvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD2FVARBPROC glad_debug_glMultiTexCoord2fvARB = glad_debug_impl_glMultiTexCoord2fvARB; +PFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t) { + _pre_call_gl_callback("glMultiTexCoord2iARB", (GLADapiproc) glad_glMultiTexCoord2iARB, 3, target, s, t); + glad_glMultiTexCoord2iARB(target, s, t); + _post_call_gl_callback(NULL, "glMultiTexCoord2iARB", (GLADapiproc) glad_glMultiTexCoord2iARB, 3, target, s, t); + +} +PFNGLMULTITEXCOORD2IARBPROC glad_debug_glMultiTexCoord2iARB = glad_debug_impl_glMultiTexCoord2iARB; +PFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2ivARB(GLenum target, const GLint * v) { + _pre_call_gl_callback("glMultiTexCoord2ivARB", (GLADapiproc) glad_glMultiTexCoord2ivARB, 2, target, v); + glad_glMultiTexCoord2ivARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord2ivARB", (GLADapiproc) glad_glMultiTexCoord2ivARB, 2, target, v); + +} +PFNGLMULTITEXCOORD2IVARBPROC glad_debug_glMultiTexCoord2ivARB = glad_debug_impl_glMultiTexCoord2ivARB; +PFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) { + _pre_call_gl_callback("glMultiTexCoord2sARB", (GLADapiproc) glad_glMultiTexCoord2sARB, 3, target, s, t); + glad_glMultiTexCoord2sARB(target, s, t); + _post_call_gl_callback(NULL, "glMultiTexCoord2sARB", (GLADapiproc) glad_glMultiTexCoord2sARB, 3, target, s, t); + +} +PFNGLMULTITEXCOORD2SARBPROC glad_debug_glMultiTexCoord2sARB = glad_debug_impl_glMultiTexCoord2sARB; +PFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord2svARB(GLenum target, const GLshort * v) { + _pre_call_gl_callback("glMultiTexCoord2svARB", (GLADapiproc) glad_glMultiTexCoord2svARB, 2, target, v); + glad_glMultiTexCoord2svARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord2svARB", (GLADapiproc) glad_glMultiTexCoord2svARB, 2, target, v); + +} +PFNGLMULTITEXCOORD2SVARBPROC glad_debug_glMultiTexCoord2svARB = glad_debug_impl_glMultiTexCoord2svARB; +PFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) { + _pre_call_gl_callback("glMultiTexCoord3dARB", (GLADapiproc) glad_glMultiTexCoord3dARB, 4, target, s, t, r); + glad_glMultiTexCoord3dARB(target, s, t, r); + _post_call_gl_callback(NULL, "glMultiTexCoord3dARB", (GLADapiproc) glad_glMultiTexCoord3dARB, 4, target, s, t, r); + +} +PFNGLMULTITEXCOORD3DARBPROC glad_debug_glMultiTexCoord3dARB = glad_debug_impl_glMultiTexCoord3dARB; +PFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3dvARB(GLenum target, const GLdouble * v) { + _pre_call_gl_callback("glMultiTexCoord3dvARB", (GLADapiproc) glad_glMultiTexCoord3dvARB, 2, target, v); + glad_glMultiTexCoord3dvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord3dvARB", (GLADapiproc) glad_glMultiTexCoord3dvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD3DVARBPROC glad_debug_glMultiTexCoord3dvARB = glad_debug_impl_glMultiTexCoord3dvARB; +PFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) { + _pre_call_gl_callback("glMultiTexCoord3fARB", (GLADapiproc) glad_glMultiTexCoord3fARB, 4, target, s, t, r); + glad_glMultiTexCoord3fARB(target, s, t, r); + _post_call_gl_callback(NULL, "glMultiTexCoord3fARB", (GLADapiproc) glad_glMultiTexCoord3fARB, 4, target, s, t, r); + +} +PFNGLMULTITEXCOORD3FARBPROC glad_debug_glMultiTexCoord3fARB = glad_debug_impl_glMultiTexCoord3fARB; +PFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3fvARB(GLenum target, const GLfloat * v) { + _pre_call_gl_callback("glMultiTexCoord3fvARB", (GLADapiproc) glad_glMultiTexCoord3fvARB, 2, target, v); + glad_glMultiTexCoord3fvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord3fvARB", (GLADapiproc) glad_glMultiTexCoord3fvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD3FVARBPROC glad_debug_glMultiTexCoord3fvARB = glad_debug_impl_glMultiTexCoord3fvARB; +PFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) { + _pre_call_gl_callback("glMultiTexCoord3iARB", (GLADapiproc) glad_glMultiTexCoord3iARB, 4, target, s, t, r); + glad_glMultiTexCoord3iARB(target, s, t, r); + _post_call_gl_callback(NULL, "glMultiTexCoord3iARB", (GLADapiproc) glad_glMultiTexCoord3iARB, 4, target, s, t, r); + +} +PFNGLMULTITEXCOORD3IARBPROC glad_debug_glMultiTexCoord3iARB = glad_debug_impl_glMultiTexCoord3iARB; +PFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3ivARB(GLenum target, const GLint * v) { + _pre_call_gl_callback("glMultiTexCoord3ivARB", (GLADapiproc) glad_glMultiTexCoord3ivARB, 2, target, v); + glad_glMultiTexCoord3ivARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord3ivARB", (GLADapiproc) glad_glMultiTexCoord3ivARB, 2, target, v); + +} +PFNGLMULTITEXCOORD3IVARBPROC glad_debug_glMultiTexCoord3ivARB = glad_debug_impl_glMultiTexCoord3ivARB; +PFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) { + _pre_call_gl_callback("glMultiTexCoord3sARB", (GLADapiproc) glad_glMultiTexCoord3sARB, 4, target, s, t, r); + glad_glMultiTexCoord3sARB(target, s, t, r); + _post_call_gl_callback(NULL, "glMultiTexCoord3sARB", (GLADapiproc) glad_glMultiTexCoord3sARB, 4, target, s, t, r); + +} +PFNGLMULTITEXCOORD3SARBPROC glad_debug_glMultiTexCoord3sARB = glad_debug_impl_glMultiTexCoord3sARB; +PFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord3svARB(GLenum target, const GLshort * v) { + _pre_call_gl_callback("glMultiTexCoord3svARB", (GLADapiproc) glad_glMultiTexCoord3svARB, 2, target, v); + glad_glMultiTexCoord3svARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord3svARB", (GLADapiproc) glad_glMultiTexCoord3svARB, 2, target, v); + +} +PFNGLMULTITEXCOORD3SVARBPROC glad_debug_glMultiTexCoord3svARB = glad_debug_impl_glMultiTexCoord3svARB; +PFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { + _pre_call_gl_callback("glMultiTexCoord4dARB", (GLADapiproc) glad_glMultiTexCoord4dARB, 5, target, s, t, r, q); + glad_glMultiTexCoord4dARB(target, s, t, r, q); + _post_call_gl_callback(NULL, "glMultiTexCoord4dARB", (GLADapiproc) glad_glMultiTexCoord4dARB, 5, target, s, t, r, q); + +} +PFNGLMULTITEXCOORD4DARBPROC glad_debug_glMultiTexCoord4dARB = glad_debug_impl_glMultiTexCoord4dARB; +PFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4dvARB(GLenum target, const GLdouble * v) { + _pre_call_gl_callback("glMultiTexCoord4dvARB", (GLADapiproc) glad_glMultiTexCoord4dvARB, 2, target, v); + glad_glMultiTexCoord4dvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord4dvARB", (GLADapiproc) glad_glMultiTexCoord4dvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD4DVARBPROC glad_debug_glMultiTexCoord4dvARB = glad_debug_impl_glMultiTexCoord4dvARB; +PFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { + _pre_call_gl_callback("glMultiTexCoord4fARB", (GLADapiproc) glad_glMultiTexCoord4fARB, 5, target, s, t, r, q); + glad_glMultiTexCoord4fARB(target, s, t, r, q); + _post_call_gl_callback(NULL, "glMultiTexCoord4fARB", (GLADapiproc) glad_glMultiTexCoord4fARB, 5, target, s, t, r, q); + +} +PFNGLMULTITEXCOORD4FARBPROC glad_debug_glMultiTexCoord4fARB = glad_debug_impl_glMultiTexCoord4fARB; +PFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4fvARB(GLenum target, const GLfloat * v) { + _pre_call_gl_callback("glMultiTexCoord4fvARB", (GLADapiproc) glad_glMultiTexCoord4fvARB, 2, target, v); + glad_glMultiTexCoord4fvARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord4fvARB", (GLADapiproc) glad_glMultiTexCoord4fvARB, 2, target, v); + +} +PFNGLMULTITEXCOORD4FVARBPROC glad_debug_glMultiTexCoord4fvARB = glad_debug_impl_glMultiTexCoord4fvARB; +PFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) { + _pre_call_gl_callback("glMultiTexCoord4iARB", (GLADapiproc) glad_glMultiTexCoord4iARB, 5, target, s, t, r, q); + glad_glMultiTexCoord4iARB(target, s, t, r, q); + _post_call_gl_callback(NULL, "glMultiTexCoord4iARB", (GLADapiproc) glad_glMultiTexCoord4iARB, 5, target, s, t, r, q); + +} +PFNGLMULTITEXCOORD4IARBPROC glad_debug_glMultiTexCoord4iARB = glad_debug_impl_glMultiTexCoord4iARB; +PFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4ivARB(GLenum target, const GLint * v) { + _pre_call_gl_callback("glMultiTexCoord4ivARB", (GLADapiproc) glad_glMultiTexCoord4ivARB, 2, target, v); + glad_glMultiTexCoord4ivARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord4ivARB", (GLADapiproc) glad_glMultiTexCoord4ivARB, 2, target, v); + +} +PFNGLMULTITEXCOORD4IVARBPROC glad_debug_glMultiTexCoord4ivARB = glad_debug_impl_glMultiTexCoord4ivARB; +PFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { + _pre_call_gl_callback("glMultiTexCoord4sARB", (GLADapiproc) glad_glMultiTexCoord4sARB, 5, target, s, t, r, q); + glad_glMultiTexCoord4sARB(target, s, t, r, q); + _post_call_gl_callback(NULL, "glMultiTexCoord4sARB", (GLADapiproc) glad_glMultiTexCoord4sARB, 5, target, s, t, r, q); + +} +PFNGLMULTITEXCOORD4SARBPROC glad_debug_glMultiTexCoord4sARB = glad_debug_impl_glMultiTexCoord4sARB; +PFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoord4svARB(GLenum target, const GLshort * v) { + _pre_call_gl_callback("glMultiTexCoord4svARB", (GLADapiproc) glad_glMultiTexCoord4svARB, 2, target, v); + glad_glMultiTexCoord4svARB(target, v); + _post_call_gl_callback(NULL, "glMultiTexCoord4svARB", (GLADapiproc) glad_glMultiTexCoord4svARB, 2, target, v); + +} +PFNGLMULTITEXCOORD4SVARBPROC glad_debug_glMultiTexCoord4svARB = glad_debug_impl_glMultiTexCoord4svARB; +PFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glMultiTexCoordPointerEXT", (GLADapiproc) glad_glMultiTexCoordPointerEXT, 5, texunit, size, type, stride, pointer); + glad_glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer); + _post_call_gl_callback(NULL, "glMultiTexCoordPointerEXT", (GLADapiproc) glad_glMultiTexCoordPointerEXT, 5, texunit, size, type, stride, pointer); + +} +PFNGLMULTITEXCOORDPOINTEREXTPROC glad_debug_glMultiTexCoordPointerEXT = glad_debug_impl_glMultiTexCoordPointerEXT; +PFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glMultiTexEnvfEXT", (GLADapiproc) glad_glMultiTexEnvfEXT, 4, texunit, target, pname, param); + glad_glMultiTexEnvfEXT(texunit, target, pname, param); + _post_call_gl_callback(NULL, "glMultiTexEnvfEXT", (GLADapiproc) glad_glMultiTexEnvfEXT, 4, texunit, target, pname, param); + +} +PFNGLMULTITEXENVFEXTPROC glad_debug_glMultiTexEnvfEXT = glad_debug_impl_glMultiTexEnvfEXT; +PFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glMultiTexEnvfvEXT", (GLADapiproc) glad_glMultiTexEnvfvEXT, 4, texunit, target, pname, params); + glad_glMultiTexEnvfvEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexEnvfvEXT", (GLADapiproc) glad_glMultiTexEnvfvEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXENVFVEXTPROC glad_debug_glMultiTexEnvfvEXT = glad_debug_impl_glMultiTexEnvfvEXT; +PFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glMultiTexEnviEXT", (GLADapiproc) glad_glMultiTexEnviEXT, 4, texunit, target, pname, param); + glad_glMultiTexEnviEXT(texunit, target, pname, param); + _post_call_gl_callback(NULL, "glMultiTexEnviEXT", (GLADapiproc) glad_glMultiTexEnviEXT, 4, texunit, target, pname, param); + +} +PFNGLMULTITEXENVIEXTPROC glad_debug_glMultiTexEnviEXT = glad_debug_impl_glMultiTexEnviEXT; +PFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glMultiTexEnvivEXT", (GLADapiproc) glad_glMultiTexEnvivEXT, 4, texunit, target, pname, params); + glad_glMultiTexEnvivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexEnvivEXT", (GLADapiproc) glad_glMultiTexEnvivEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXENVIVEXTPROC glad_debug_glMultiTexEnvivEXT = glad_debug_impl_glMultiTexEnvivEXT; +PFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) { + _pre_call_gl_callback("glMultiTexGendEXT", (GLADapiproc) glad_glMultiTexGendEXT, 4, texunit, coord, pname, param); + glad_glMultiTexGendEXT(texunit, coord, pname, param); + _post_call_gl_callback(NULL, "glMultiTexGendEXT", (GLADapiproc) glad_glMultiTexGendEXT, 4, texunit, coord, pname, param); + +} +PFNGLMULTITEXGENDEXTPROC glad_debug_glMultiTexGendEXT = glad_debug_impl_glMultiTexGendEXT; +PFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params) { + _pre_call_gl_callback("glMultiTexGendvEXT", (GLADapiproc) glad_glMultiTexGendvEXT, 4, texunit, coord, pname, params); + glad_glMultiTexGendvEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glMultiTexGendvEXT", (GLADapiproc) glad_glMultiTexGendvEXT, 4, texunit, coord, pname, params); + +} +PFNGLMULTITEXGENDVEXTPROC glad_debug_glMultiTexGendvEXT = glad_debug_impl_glMultiTexGendvEXT; +PFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glMultiTexGenfEXT", (GLADapiproc) glad_glMultiTexGenfEXT, 4, texunit, coord, pname, param); + glad_glMultiTexGenfEXT(texunit, coord, pname, param); + _post_call_gl_callback(NULL, "glMultiTexGenfEXT", (GLADapiproc) glad_glMultiTexGenfEXT, 4, texunit, coord, pname, param); + +} +PFNGLMULTITEXGENFEXTPROC glad_debug_glMultiTexGenfEXT = glad_debug_impl_glMultiTexGenfEXT; +PFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glMultiTexGenfvEXT", (GLADapiproc) glad_glMultiTexGenfvEXT, 4, texunit, coord, pname, params); + glad_glMultiTexGenfvEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glMultiTexGenfvEXT", (GLADapiproc) glad_glMultiTexGenfvEXT, 4, texunit, coord, pname, params); + +} +PFNGLMULTITEXGENFVEXTPROC glad_debug_glMultiTexGenfvEXT = glad_debug_impl_glMultiTexGenfvEXT; +PFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) { + _pre_call_gl_callback("glMultiTexGeniEXT", (GLADapiproc) glad_glMultiTexGeniEXT, 4, texunit, coord, pname, param); + glad_glMultiTexGeniEXT(texunit, coord, pname, param); + _post_call_gl_callback(NULL, "glMultiTexGeniEXT", (GLADapiproc) glad_glMultiTexGeniEXT, 4, texunit, coord, pname, param); + +} +PFNGLMULTITEXGENIEXTPROC glad_debug_glMultiTexGeniEXT = glad_debug_impl_glMultiTexGeniEXT; +PFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glMultiTexGenivEXT", (GLADapiproc) glad_glMultiTexGenivEXT, 4, texunit, coord, pname, params); + glad_glMultiTexGenivEXT(texunit, coord, pname, params); + _post_call_gl_callback(NULL, "glMultiTexGenivEXT", (GLADapiproc) glad_glMultiTexGenivEXT, 4, texunit, coord, pname, params); + +} +PFNGLMULTITEXGENIVEXTPROC glad_debug_glMultiTexGenivEXT = glad_debug_impl_glMultiTexGenivEXT; +PFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexImage1DEXT", (GLADapiproc) glad_glMultiTexImage1DEXT, 9, texunit, target, level, internalformat, width, border, format, type, pixels); + glad_glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexImage1DEXT", (GLADapiproc) glad_glMultiTexImage1DEXT, 9, texunit, target, level, internalformat, width, border, format, type, pixels); + +} +PFNGLMULTITEXIMAGE1DEXTPROC glad_debug_glMultiTexImage1DEXT = glad_debug_impl_glMultiTexImage1DEXT; +PFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexImage2DEXT", (GLADapiproc) glad_glMultiTexImage2DEXT, 10, texunit, target, level, internalformat, width, height, border, format, type, pixels); + glad_glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexImage2DEXT", (GLADapiproc) glad_glMultiTexImage2DEXT, 10, texunit, target, level, internalformat, width, height, border, format, type, pixels); + +} +PFNGLMULTITEXIMAGE2DEXTPROC glad_debug_glMultiTexImage2DEXT = glad_debug_impl_glMultiTexImage2DEXT; +PFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexImage3DEXT", (GLADapiproc) glad_glMultiTexImage3DEXT, 11, texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); + glad_glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexImage3DEXT", (GLADapiproc) glad_glMultiTexImage3DEXT, 11, texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); + +} +PFNGLMULTITEXIMAGE3DEXTPROC glad_debug_glMultiTexImage3DEXT = glad_debug_impl_glMultiTexImage3DEXT; +PFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glMultiTexParameterIivEXT", (GLADapiproc) glad_glMultiTexParameterIivEXT, 4, texunit, target, pname, params); + glad_glMultiTexParameterIivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexParameterIivEXT", (GLADapiproc) glad_glMultiTexParameterIivEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXPARAMETERIIVEXTPROC glad_debug_glMultiTexParameterIivEXT = glad_debug_impl_glMultiTexParameterIivEXT; +PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint * params) { + _pre_call_gl_callback("glMultiTexParameterIuivEXT", (GLADapiproc) glad_glMultiTexParameterIuivEXT, 4, texunit, target, pname, params); + glad_glMultiTexParameterIuivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexParameterIuivEXT", (GLADapiproc) glad_glMultiTexParameterIuivEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_debug_glMultiTexParameterIuivEXT = glad_debug_impl_glMultiTexParameterIuivEXT; +PFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glMultiTexParameterfEXT", (GLADapiproc) glad_glMultiTexParameterfEXT, 4, texunit, target, pname, param); + glad_glMultiTexParameterfEXT(texunit, target, pname, param); + _post_call_gl_callback(NULL, "glMultiTexParameterfEXT", (GLADapiproc) glad_glMultiTexParameterfEXT, 4, texunit, target, pname, param); + +} +PFNGLMULTITEXPARAMETERFEXTPROC glad_debug_glMultiTexParameterfEXT = glad_debug_impl_glMultiTexParameterfEXT; +PFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glMultiTexParameterfvEXT", (GLADapiproc) glad_glMultiTexParameterfvEXT, 4, texunit, target, pname, params); + glad_glMultiTexParameterfvEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexParameterfvEXT", (GLADapiproc) glad_glMultiTexParameterfvEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXPARAMETERFVEXTPROC glad_debug_glMultiTexParameterfvEXT = glad_debug_impl_glMultiTexParameterfvEXT; +PFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glMultiTexParameteriEXT", (GLADapiproc) glad_glMultiTexParameteriEXT, 4, texunit, target, pname, param); + glad_glMultiTexParameteriEXT(texunit, target, pname, param); + _post_call_gl_callback(NULL, "glMultiTexParameteriEXT", (GLADapiproc) glad_glMultiTexParameteriEXT, 4, texunit, target, pname, param); + +} +PFNGLMULTITEXPARAMETERIEXTPROC glad_debug_glMultiTexParameteriEXT = glad_debug_impl_glMultiTexParameteriEXT; +PFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glMultiTexParameterivEXT", (GLADapiproc) glad_glMultiTexParameterivEXT, 4, texunit, target, pname, params); + glad_glMultiTexParameterivEXT(texunit, target, pname, params); + _post_call_gl_callback(NULL, "glMultiTexParameterivEXT", (GLADapiproc) glad_glMultiTexParameterivEXT, 4, texunit, target, pname, params); + +} +PFNGLMULTITEXPARAMETERIVEXTPROC glad_debug_glMultiTexParameterivEXT = glad_debug_impl_glMultiTexParameterivEXT; +PFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer) { + _pre_call_gl_callback("glMultiTexRenderbufferEXT", (GLADapiproc) glad_glMultiTexRenderbufferEXT, 3, texunit, target, renderbuffer); + glad_glMultiTexRenderbufferEXT(texunit, target, renderbuffer); + _post_call_gl_callback(NULL, "glMultiTexRenderbufferEXT", (GLADapiproc) glad_glMultiTexRenderbufferEXT, 3, texunit, target, renderbuffer); + +} +PFNGLMULTITEXRENDERBUFFEREXTPROC glad_debug_glMultiTexRenderbufferEXT = glad_debug_impl_glMultiTexRenderbufferEXT; +PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexSubImage1DEXT", (GLADapiproc) glad_glMultiTexSubImage1DEXT, 8, texunit, target, level, xoffset, width, format, type, pixels); + glad_glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexSubImage1DEXT", (GLADapiproc) glad_glMultiTexSubImage1DEXT, 8, texunit, target, level, xoffset, width, format, type, pixels); + +} +PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_debug_glMultiTexSubImage1DEXT = glad_debug_impl_glMultiTexSubImage1DEXT; +PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexSubImage2DEXT", (GLADapiproc) glad_glMultiTexSubImage2DEXT, 10, texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); + glad_glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexSubImage2DEXT", (GLADapiproc) glad_glMultiTexSubImage2DEXT, 10, texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); + +} +PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_debug_glMultiTexSubImage2DEXT = glad_debug_impl_glMultiTexSubImage2DEXT; +PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glMultiTexSubImage3DEXT", (GLADapiproc) glad_glMultiTexSubImage3DEXT, 12, texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glad_glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + _post_call_gl_callback(NULL, "glMultiTexSubImage3DEXT", (GLADapiproc) glad_glMultiTexSubImage3DEXT, 12, texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + +} +PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_debug_glMultiTexSubImage3DEXT = glad_debug_impl_glMultiTexSubImage3DEXT; +PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferData(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage) { + _pre_call_gl_callback("glNamedBufferData", (GLADapiproc) glad_glNamedBufferData, 4, buffer, size, data, usage); + glad_glNamedBufferData(buffer, size, data, usage); + _post_call_gl_callback(NULL, "glNamedBufferData", (GLADapiproc) glad_glNamedBufferData, 4, buffer, size, data, usage); + +} +PFNGLNAMEDBUFFERDATAPROC glad_debug_glNamedBufferData = glad_debug_impl_glNamedBufferData; +PFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage) { + _pre_call_gl_callback("glNamedBufferDataEXT", (GLADapiproc) glad_glNamedBufferDataEXT, 4, buffer, size, data, usage); + glad_glNamedBufferDataEXT(buffer, size, data, usage); + _post_call_gl_callback(NULL, "glNamedBufferDataEXT", (GLADapiproc) glad_glNamedBufferDataEXT, 4, buffer, size, data, usage); + +} +PFNGLNAMEDBUFFERDATAEXTPROC glad_debug_glNamedBufferDataEXT = glad_debug_impl_glNamedBufferDataEXT; +PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags) { + _pre_call_gl_callback("glNamedBufferStorage", (GLADapiproc) glad_glNamedBufferStorage, 4, buffer, size, data, flags); + glad_glNamedBufferStorage(buffer, size, data, flags); + _post_call_gl_callback(NULL, "glNamedBufferStorage", (GLADapiproc) glad_glNamedBufferStorage, 4, buffer, size, data, flags); + +} +PFNGLNAMEDBUFFERSTORAGEPROC glad_debug_glNamedBufferStorage = glad_debug_impl_glNamedBufferStorage; +PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferStorageEXT(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags) { + _pre_call_gl_callback("glNamedBufferStorageEXT", (GLADapiproc) glad_glNamedBufferStorageEXT, 4, buffer, size, data, flags); + glad_glNamedBufferStorageEXT(buffer, size, data, flags); + _post_call_gl_callback(NULL, "glNamedBufferStorageEXT", (GLADapiproc) glad_glNamedBufferStorageEXT, 4, buffer, size, data, flags); + +} +PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_debug_glNamedBufferStorageEXT = glad_debug_impl_glNamedBufferStorageEXT; +PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data) { + _pre_call_gl_callback("glNamedBufferSubData", (GLADapiproc) glad_glNamedBufferSubData, 4, buffer, offset, size, data); + glad_glNamedBufferSubData(buffer, offset, size, data); + _post_call_gl_callback(NULL, "glNamedBufferSubData", (GLADapiproc) glad_glNamedBufferSubData, 4, buffer, offset, size, data); + +} +PFNGLNAMEDBUFFERSUBDATAPROC glad_debug_glNamedBufferSubData = glad_debug_impl_glNamedBufferSubData; +PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data) { + _pre_call_gl_callback("glNamedBufferSubDataEXT", (GLADapiproc) glad_glNamedBufferSubDataEXT, 4, buffer, offset, size, data); + glad_glNamedBufferSubDataEXT(buffer, offset, size, data); + _post_call_gl_callback(NULL, "glNamedBufferSubDataEXT", (GLADapiproc) glad_glNamedBufferSubDataEXT, 4, buffer, offset, size, data); + +} +PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_debug_glNamedBufferSubDataEXT = glad_debug_impl_glNamedBufferSubDataEXT; +PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { + _pre_call_gl_callback("glNamedCopyBufferSubDataEXT", (GLADapiproc) glad_glNamedCopyBufferSubDataEXT, 5, readBuffer, writeBuffer, readOffset, writeOffset, size); + glad_glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size); + _post_call_gl_callback(NULL, "glNamedCopyBufferSubDataEXT", (GLADapiproc) glad_glNamedCopyBufferSubDataEXT, 5, readBuffer, writeBuffer, readOffset, writeOffset, size); + +} +PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_debug_glNamedCopyBufferSubDataEXT = glad_debug_impl_glNamedCopyBufferSubDataEXT; +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf) { + _pre_call_gl_callback("glNamedFramebufferDrawBuffer", (GLADapiproc) glad_glNamedFramebufferDrawBuffer, 2, framebuffer, buf); + glad_glNamedFramebufferDrawBuffer(framebuffer, buf); + _post_call_gl_callback(NULL, "glNamedFramebufferDrawBuffer", (GLADapiproc) glad_glNamedFramebufferDrawBuffer, 2, framebuffer, buf); + +} +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_debug_glNamedFramebufferDrawBuffer = glad_debug_impl_glNamedFramebufferDrawBuffer; +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, const GLenum * bufs) { + _pre_call_gl_callback("glNamedFramebufferDrawBuffers", (GLADapiproc) glad_glNamedFramebufferDrawBuffers, 3, framebuffer, n, bufs); + glad_glNamedFramebufferDrawBuffers(framebuffer, n, bufs); + _post_call_gl_callback(NULL, "glNamedFramebufferDrawBuffers", (GLADapiproc) glad_glNamedFramebufferDrawBuffers, 3, framebuffer, n, bufs); + +} +PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_debug_glNamedFramebufferDrawBuffers = glad_debug_impl_glNamedFramebufferDrawBuffers; +PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param) { + _pre_call_gl_callback("glNamedFramebufferParameteri", (GLADapiproc) glad_glNamedFramebufferParameteri, 3, framebuffer, pname, param); + glad_glNamedFramebufferParameteri(framebuffer, pname, param); + _post_call_gl_callback(NULL, "glNamedFramebufferParameteri", (GLADapiproc) glad_glNamedFramebufferParameteri, 3, framebuffer, pname, param); + +} +PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_debug_glNamedFramebufferParameteri = glad_debug_impl_glNamedFramebufferParameteri; +PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param) { + _pre_call_gl_callback("glNamedFramebufferParameteriEXT", (GLADapiproc) glad_glNamedFramebufferParameteriEXT, 3, framebuffer, pname, param); + glad_glNamedFramebufferParameteriEXT(framebuffer, pname, param); + _post_call_gl_callback(NULL, "glNamedFramebufferParameteriEXT", (GLADapiproc) glad_glNamedFramebufferParameteriEXT, 3, framebuffer, pname, param); + +} +PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_debug_glNamedFramebufferParameteriEXT = glad_debug_impl_glNamedFramebufferParameteriEXT; +PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum src) { + _pre_call_gl_callback("glNamedFramebufferReadBuffer", (GLADapiproc) glad_glNamedFramebufferReadBuffer, 2, framebuffer, src); + glad_glNamedFramebufferReadBuffer(framebuffer, src); + _post_call_gl_callback(NULL, "glNamedFramebufferReadBuffer", (GLADapiproc) glad_glNamedFramebufferReadBuffer, 2, framebuffer, src); + +} +PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_debug_glNamedFramebufferReadBuffer = glad_debug_impl_glNamedFramebufferReadBuffer; +PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { + _pre_call_gl_callback("glNamedFramebufferRenderbuffer", (GLADapiproc) glad_glNamedFramebufferRenderbuffer, 4, framebuffer, attachment, renderbuffertarget, renderbuffer); + glad_glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); + _post_call_gl_callback(NULL, "glNamedFramebufferRenderbuffer", (GLADapiproc) glad_glNamedFramebufferRenderbuffer, 4, framebuffer, attachment, renderbuffertarget, renderbuffer); + +} +PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_debug_glNamedFramebufferRenderbuffer = glad_debug_impl_glNamedFramebufferRenderbuffer; +PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { + _pre_call_gl_callback("glNamedFramebufferRenderbufferEXT", (GLADapiproc) glad_glNamedFramebufferRenderbufferEXT, 4, framebuffer, attachment, renderbuffertarget, renderbuffer); + glad_glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer); + _post_call_gl_callback(NULL, "glNamedFramebufferRenderbufferEXT", (GLADapiproc) glad_glNamedFramebufferRenderbufferEXT, 4, framebuffer, attachment, renderbuffertarget, renderbuffer); + +} +PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_debug_glNamedFramebufferRenderbufferEXT = glad_debug_impl_glNamedFramebufferRenderbufferEXT; +PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { + _pre_call_gl_callback("glNamedFramebufferTexture", (GLADapiproc) glad_glNamedFramebufferTexture, 4, framebuffer, attachment, texture, level); + glad_glNamedFramebufferTexture(framebuffer, attachment, texture, level); + _post_call_gl_callback(NULL, "glNamedFramebufferTexture", (GLADapiproc) glad_glNamedFramebufferTexture, 4, framebuffer, attachment, texture, level); + +} +PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_debug_glNamedFramebufferTexture = glad_debug_impl_glNamedFramebufferTexture; +PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glNamedFramebufferTexture1DEXT", (GLADapiproc) glad_glNamedFramebufferTexture1DEXT, 5, framebuffer, attachment, textarget, texture, level); + glad_glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glNamedFramebufferTexture1DEXT", (GLADapiproc) glad_glNamedFramebufferTexture1DEXT, 5, framebuffer, attachment, textarget, texture, level); + +} +PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_debug_glNamedFramebufferTexture1DEXT = glad_debug_impl_glNamedFramebufferTexture1DEXT; +PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { + _pre_call_gl_callback("glNamedFramebufferTexture2DEXT", (GLADapiproc) glad_glNamedFramebufferTexture2DEXT, 5, framebuffer, attachment, textarget, texture, level); + glad_glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level); + _post_call_gl_callback(NULL, "glNamedFramebufferTexture2DEXT", (GLADapiproc) glad_glNamedFramebufferTexture2DEXT, 5, framebuffer, attachment, textarget, texture, level); + +} +PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_debug_glNamedFramebufferTexture2DEXT = glad_debug_impl_glNamedFramebufferTexture2DEXT; +PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { + _pre_call_gl_callback("glNamedFramebufferTexture3DEXT", (GLADapiproc) glad_glNamedFramebufferTexture3DEXT, 6, framebuffer, attachment, textarget, texture, level, zoffset); + glad_glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset); + _post_call_gl_callback(NULL, "glNamedFramebufferTexture3DEXT", (GLADapiproc) glad_glNamedFramebufferTexture3DEXT, 6, framebuffer, attachment, textarget, texture, level, zoffset); + +} +PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_debug_glNamedFramebufferTexture3DEXT = glad_debug_impl_glNamedFramebufferTexture3DEXT; +PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { + _pre_call_gl_callback("glNamedFramebufferTextureEXT", (GLADapiproc) glad_glNamedFramebufferTextureEXT, 4, framebuffer, attachment, texture, level); + glad_glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level); + _post_call_gl_callback(NULL, "glNamedFramebufferTextureEXT", (GLADapiproc) glad_glNamedFramebufferTextureEXT, 4, framebuffer, attachment, texture, level); + +} +PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_debug_glNamedFramebufferTextureEXT = glad_debug_impl_glNamedFramebufferTextureEXT; +PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) { + _pre_call_gl_callback("glNamedFramebufferTextureFaceEXT", (GLADapiproc) glad_glNamedFramebufferTextureFaceEXT, 5, framebuffer, attachment, texture, level, face); + glad_glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face); + _post_call_gl_callback(NULL, "glNamedFramebufferTextureFaceEXT", (GLADapiproc) glad_glNamedFramebufferTextureFaceEXT, 5, framebuffer, attachment, texture, level, face); + +} +PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_debug_glNamedFramebufferTextureFaceEXT = glad_debug_impl_glNamedFramebufferTextureFaceEXT; +PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { + _pre_call_gl_callback("glNamedFramebufferTextureLayer", (GLADapiproc) glad_glNamedFramebufferTextureLayer, 5, framebuffer, attachment, texture, level, layer); + glad_glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); + _post_call_gl_callback(NULL, "glNamedFramebufferTextureLayer", (GLADapiproc) glad_glNamedFramebufferTextureLayer, 5, framebuffer, attachment, texture, level, layer); + +} +PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_debug_glNamedFramebufferTextureLayer = glad_debug_impl_glNamedFramebufferTextureLayer; +PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { + _pre_call_gl_callback("glNamedFramebufferTextureLayerEXT", (GLADapiproc) glad_glNamedFramebufferTextureLayerEXT, 5, framebuffer, attachment, texture, level, layer); + glad_glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer); + _post_call_gl_callback(NULL, "glNamedFramebufferTextureLayerEXT", (GLADapiproc) glad_glNamedFramebufferTextureLayerEXT, 5, framebuffer, attachment, texture, level, layer); + +} +PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_debug_glNamedFramebufferTextureLayerEXT = glad_debug_impl_glNamedFramebufferTextureLayerEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glNamedProgramLocalParameter4dEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4dEXT, 7, program, target, index, x, y, z, w); + glad_glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameter4dEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4dEXT, 7, program, target, index, x, y, z, w); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_debug_glNamedProgramLocalParameter4dEXT = glad_debug_impl_glNamedProgramLocalParameter4dEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble * params) { + _pre_call_gl_callback("glNamedProgramLocalParameter4dvEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4dvEXT, 4, program, target, index, params); + glad_glNamedProgramLocalParameter4dvEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameter4dvEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4dvEXT, 4, program, target, index, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_debug_glNamedProgramLocalParameter4dvEXT = glad_debug_impl_glNamedProgramLocalParameter4dvEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glNamedProgramLocalParameter4fEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4fEXT, 7, program, target, index, x, y, z, w); + glad_glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameter4fEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4fEXT, 7, program, target, index, x, y, z, w); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_debug_glNamedProgramLocalParameter4fEXT = glad_debug_impl_glNamedProgramLocalParameter4fEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat * params) { + _pre_call_gl_callback("glNamedProgramLocalParameter4fvEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4fvEXT, 4, program, target, index, params); + glad_glNamedProgramLocalParameter4fvEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameter4fvEXT", (GLADapiproc) glad_glNamedProgramLocalParameter4fvEXT, 4, program, target, index, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_debug_glNamedProgramLocalParameter4fvEXT = glad_debug_impl_glNamedProgramLocalParameter4fvEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) { + _pre_call_gl_callback("glNamedProgramLocalParameterI4iEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4iEXT, 7, program, target, index, x, y, z, w); + glad_glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameterI4iEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4iEXT, 7, program, target, index, x, y, z, w); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_debug_glNamedProgramLocalParameterI4iEXT = glad_debug_impl_glNamedProgramLocalParameterI4iEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint * params) { + _pre_call_gl_callback("glNamedProgramLocalParameterI4ivEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4ivEXT, 4, program, target, index, params); + glad_glNamedProgramLocalParameterI4ivEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameterI4ivEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4ivEXT, 4, program, target, index, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_debug_glNamedProgramLocalParameterI4ivEXT = glad_debug_impl_glNamedProgramLocalParameterI4ivEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { + _pre_call_gl_callback("glNamedProgramLocalParameterI4uiEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4uiEXT, 7, program, target, index, x, y, z, w); + glad_glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameterI4uiEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4uiEXT, 7, program, target, index, x, y, z, w); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_debug_glNamedProgramLocalParameterI4uiEXT = glad_debug_impl_glNamedProgramLocalParameterI4uiEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint * params) { + _pre_call_gl_callback("glNamedProgramLocalParameterI4uivEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4uivEXT, 4, program, target, index, params); + glad_glNamedProgramLocalParameterI4uivEXT(program, target, index, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameterI4uivEXT", (GLADapiproc) glad_glNamedProgramLocalParameterI4uivEXT, 4, program, target, index, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_debug_glNamedProgramLocalParameterI4uivEXT = glad_debug_impl_glNamedProgramLocalParameterI4uivEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params) { + _pre_call_gl_callback("glNamedProgramLocalParameters4fvEXT", (GLADapiproc) glad_glNamedProgramLocalParameters4fvEXT, 5, program, target, index, count, params); + glad_glNamedProgramLocalParameters4fvEXT(program, target, index, count, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParameters4fvEXT", (GLADapiproc) glad_glNamedProgramLocalParameters4fvEXT, 5, program, target, index, count, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_debug_glNamedProgramLocalParameters4fvEXT = glad_debug_impl_glNamedProgramLocalParameters4fvEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params) { + _pre_call_gl_callback("glNamedProgramLocalParametersI4ivEXT", (GLADapiproc) glad_glNamedProgramLocalParametersI4ivEXT, 5, program, target, index, count, params); + glad_glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParametersI4ivEXT", (GLADapiproc) glad_glNamedProgramLocalParametersI4ivEXT, 5, program, target, index, count, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_debug_glNamedProgramLocalParametersI4ivEXT = glad_debug_impl_glNamedProgramLocalParametersI4ivEXT; +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params) { + _pre_call_gl_callback("glNamedProgramLocalParametersI4uivEXT", (GLADapiproc) glad_glNamedProgramLocalParametersI4uivEXT, 5, program, target, index, count, params); + glad_glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params); + _post_call_gl_callback(NULL, "glNamedProgramLocalParametersI4uivEXT", (GLADapiproc) glad_glNamedProgramLocalParametersI4uivEXT, 5, program, target, index, count, params); + +} +PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_debug_glNamedProgramLocalParametersI4uivEXT = glad_debug_impl_glNamedProgramLocalParametersI4uivEXT; +PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const void * string) { + _pre_call_gl_callback("glNamedProgramStringEXT", (GLADapiproc) glad_glNamedProgramStringEXT, 5, program, target, format, len, string); + glad_glNamedProgramStringEXT(program, target, format, len, string); + _post_call_gl_callback(NULL, "glNamedProgramStringEXT", (GLADapiproc) glad_glNamedProgramStringEXT, 5, program, target, format, len, string); + +} +PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_debug_glNamedProgramStringEXT = glad_debug_impl_glNamedProgramStringEXT; +PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedRenderbufferStorage(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glNamedRenderbufferStorage", (GLADapiproc) glad_glNamedRenderbufferStorage, 4, renderbuffer, internalformat, width, height); + glad_glNamedRenderbufferStorage(renderbuffer, internalformat, width, height); + _post_call_gl_callback(NULL, "glNamedRenderbufferStorage", (GLADapiproc) glad_glNamedRenderbufferStorage, 4, renderbuffer, internalformat, width, height); + +} +PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_debug_glNamedRenderbufferStorage = glad_debug_impl_glNamedRenderbufferStorage; +PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glNamedRenderbufferStorageEXT", (GLADapiproc) glad_glNamedRenderbufferStorageEXT, 4, renderbuffer, internalformat, width, height); + glad_glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height); + _post_call_gl_callback(NULL, "glNamedRenderbufferStorageEXT", (GLADapiproc) glad_glNamedRenderbufferStorageEXT, 4, renderbuffer, internalformat, width, height); + +} +PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_debug_glNamedRenderbufferStorageEXT = glad_debug_impl_glNamedRenderbufferStorageEXT; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glNamedRenderbufferStorageMultisample", (GLADapiproc) glad_glNamedRenderbufferStorageMultisample, 5, renderbuffer, samples, internalformat, width, height); + glad_glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); + _post_call_gl_callback(NULL, "glNamedRenderbufferStorageMultisample", (GLADapiproc) glad_glNamedRenderbufferStorageMultisample, 5, renderbuffer, samples, internalformat, width, height); + +} +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glNamedRenderbufferStorageMultisample = glad_debug_impl_glNamedRenderbufferStorageMultisample; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glNamedRenderbufferStorageMultisampleCoverageEXT", (GLADapiproc) glad_glNamedRenderbufferStorageMultisampleCoverageEXT, 6, renderbuffer, coverageSamples, colorSamples, internalformat, width, height); + glad_glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height); + _post_call_gl_callback(NULL, "glNamedRenderbufferStorageMultisampleCoverageEXT", (GLADapiproc) glad_glNamedRenderbufferStorageMultisampleCoverageEXT, 6, renderbuffer, coverageSamples, colorSamples, internalformat, width, height); + +} +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_debug_glNamedRenderbufferStorageMultisampleCoverageEXT = glad_debug_impl_glNamedRenderbufferStorageMultisampleCoverageEXT; +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glNamedRenderbufferStorageMultisampleEXT", (GLADapiproc) glad_glNamedRenderbufferStorageMultisampleEXT, 5, renderbuffer, samples, internalformat, width, height); + glad_glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height); + _post_call_gl_callback(NULL, "glNamedRenderbufferStorageMultisampleEXT", (GLADapiproc) glad_glNamedRenderbufferStorageMultisampleEXT, 5, renderbuffer, samples, internalformat, width, height); + +} +PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_debug_glNamedRenderbufferStorageMultisampleEXT = glad_debug_impl_glNamedRenderbufferStorageMultisampleEXT; +PFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void * pointer) { + _pre_call_gl_callback("glNormalPointerEXT", (GLADapiproc) glad_glNormalPointerEXT, 4, type, stride, count, pointer); + glad_glNormalPointerEXT(type, stride, count, pointer); + _post_call_gl_callback(NULL, "glNormalPointerEXT", (GLADapiproc) glad_glNormalPointerEXT, 4, type, stride, count, pointer); + +} +PFNGLNORMALPOINTEREXTPROC glad_debug_glNormalPointerEXT = glad_debug_impl_glNormalPointerEXT; +PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL; +static void GLAD_API_PTR glad_debug_impl_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) { + _pre_call_gl_callback("glObjectLabel", (GLADapiproc) glad_glObjectLabel, 4, identifier, name, length, label); + glad_glObjectLabel(identifier, name, length, label); + _post_call_gl_callback(NULL, "glObjectLabel", (GLADapiproc) glad_glObjectLabel, 4, identifier, name, length, label); + +} +PFNGLOBJECTLABELPROC glad_debug_glObjectLabel = glad_debug_impl_glObjectLabel; +PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL; +static void GLAD_API_PTR glad_debug_impl_glObjectPtrLabel(const void * ptr, GLsizei length, const GLchar * label) { + _pre_call_gl_callback("glObjectPtrLabel", (GLADapiproc) glad_glObjectPtrLabel, 3, ptr, length, label); + glad_glObjectPtrLabel(ptr, length, label); + _post_call_gl_callback(NULL, "glObjectPtrLabel", (GLADapiproc) glad_glObjectPtrLabel, 3, ptr, length, label); + +} +PFNGLOBJECTPTRLABELPROC glad_debug_glObjectPtrLabel = glad_debug_impl_glObjectPtrLabel; +PFNGLORTHOFOESPROC glad_glOrthofOES = NULL; +static void GLAD_API_PTR glad_debug_impl_glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) { + _pre_call_gl_callback("glOrthofOES", (GLADapiproc) glad_glOrthofOES, 6, l, r, b, t, n, f); + glad_glOrthofOES(l, r, b, t, n, f); + _post_call_gl_callback(NULL, "glOrthofOES", (GLADapiproc) glad_glOrthofOES, 6, l, r, b, t, n, f); + +} +PFNGLORTHOFOESPROC glad_debug_glOrthofOES = glad_debug_impl_glOrthofOES; +PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glPatchParameterfv(GLenum pname, const GLfloat * values) { + _pre_call_gl_callback("glPatchParameterfv", (GLADapiproc) glad_glPatchParameterfv, 2, pname, values); + glad_glPatchParameterfv(pname, values); + _post_call_gl_callback(NULL, "glPatchParameterfv", (GLADapiproc) glad_glPatchParameterfv, 2, pname, values); + +} +PFNGLPATCHPARAMETERFVPROC glad_debug_glPatchParameterfv = glad_debug_impl_glPatchParameterfv; +PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glPatchParameteri(GLenum pname, GLint value) { + _pre_call_gl_callback("glPatchParameteri", (GLADapiproc) glad_glPatchParameteri, 2, pname, value); + glad_glPatchParameteri(pname, value); + _post_call_gl_callback(NULL, "glPatchParameteri", (GLADapiproc) glad_glPatchParameteri, 2, pname, value); + +} +PFNGLPATCHPARAMETERIPROC glad_debug_glPatchParameteri = glad_debug_impl_glPatchParameteri; +PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glPauseTransformFeedback(void) { + _pre_call_gl_callback("glPauseTransformFeedback", (GLADapiproc) glad_glPauseTransformFeedback, 0); + glad_glPauseTransformFeedback(); + _post_call_gl_callback(NULL, "glPauseTransformFeedback", (GLADapiproc) glad_glPauseTransformFeedback, 0); + +} +PFNGLPAUSETRANSFORMFEEDBACKPROC glad_debug_glPauseTransformFeedback = glad_debug_impl_glPauseTransformFeedback; +PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glPauseTransformFeedbackNV(void) { + _pre_call_gl_callback("glPauseTransformFeedbackNV", (GLADapiproc) glad_glPauseTransformFeedbackNV, 0); + glad_glPauseTransformFeedbackNV(); + _post_call_gl_callback(NULL, "glPauseTransformFeedbackNV", (GLADapiproc) glad_glPauseTransformFeedbackNV, 0); + +} +PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_debug_glPauseTransformFeedbackNV = glad_debug_impl_glPauseTransformFeedbackNV; +PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL; +static void GLAD_API_PTR glad_debug_impl_glPixelStoref(GLenum pname, GLfloat param) { + _pre_call_gl_callback("glPixelStoref", (GLADapiproc) glad_glPixelStoref, 2, pname, param); + glad_glPixelStoref(pname, param); + _post_call_gl_callback(NULL, "glPixelStoref", (GLADapiproc) glad_glPixelStoref, 2, pname, param); + +} +PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref = glad_debug_impl_glPixelStoref; +PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL; +static void GLAD_API_PTR glad_debug_impl_glPixelStorei(GLenum pname, GLint param) { + _pre_call_gl_callback("glPixelStorei", (GLADapiproc) glad_glPixelStorei, 2, pname, param); + glad_glPixelStorei(pname, param); + _post_call_gl_callback(NULL, "glPixelStorei", (GLADapiproc) glad_glPixelStorei, 2, pname, param); + +} +PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei = glad_debug_impl_glPixelStorei; +PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterf(GLenum pname, GLfloat param) { + _pre_call_gl_callback("glPointParameterf", (GLADapiproc) glad_glPointParameterf, 2, pname, param); + glad_glPointParameterf(pname, param); + _post_call_gl_callback(NULL, "glPointParameterf", (GLADapiproc) glad_glPointParameterf, 2, pname, param); + +} +PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf = glad_debug_impl_glPointParameterf; +PFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfARB(GLenum pname, GLfloat param) { + _pre_call_gl_callback("glPointParameterfARB", (GLADapiproc) glad_glPointParameterfARB, 2, pname, param); + glad_glPointParameterfARB(pname, param); + _post_call_gl_callback(NULL, "glPointParameterfARB", (GLADapiproc) glad_glPointParameterfARB, 2, pname, param); + +} +PFNGLPOINTPARAMETERFARBPROC glad_debug_glPointParameterfARB = glad_debug_impl_glPointParameterfARB; +PFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfEXT(GLenum pname, GLfloat param) { + _pre_call_gl_callback("glPointParameterfEXT", (GLADapiproc) glad_glPointParameterfEXT, 2, pname, param); + glad_glPointParameterfEXT(pname, param); + _post_call_gl_callback(NULL, "glPointParameterfEXT", (GLADapiproc) glad_glPointParameterfEXT, 2, pname, param); + +} +PFNGLPOINTPARAMETERFEXTPROC glad_debug_glPointParameterfEXT = glad_debug_impl_glPointParameterfEXT; +PFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfSGIS(GLenum pname, GLfloat param) { + _pre_call_gl_callback("glPointParameterfSGIS", (GLADapiproc) glad_glPointParameterfSGIS, 2, pname, param); + glad_glPointParameterfSGIS(pname, param); + _post_call_gl_callback(NULL, "glPointParameterfSGIS", (GLADapiproc) glad_glPointParameterfSGIS, 2, pname, param); + +} +PFNGLPOINTPARAMETERFSGISPROC glad_debug_glPointParameterfSGIS = glad_debug_impl_glPointParameterfSGIS; +PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfv(GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glPointParameterfv", (GLADapiproc) glad_glPointParameterfv, 2, pname, params); + glad_glPointParameterfv(pname, params); + _post_call_gl_callback(NULL, "glPointParameterfv", (GLADapiproc) glad_glPointParameterfv, 2, pname, params); + +} +PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv = glad_debug_impl_glPointParameterfv; +PFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfvARB(GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glPointParameterfvARB", (GLADapiproc) glad_glPointParameterfvARB, 2, pname, params); + glad_glPointParameterfvARB(pname, params); + _post_call_gl_callback(NULL, "glPointParameterfvARB", (GLADapiproc) glad_glPointParameterfvARB, 2, pname, params); + +} +PFNGLPOINTPARAMETERFVARBPROC glad_debug_glPointParameterfvARB = glad_debug_impl_glPointParameterfvARB; +PFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfvEXT(GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glPointParameterfvEXT", (GLADapiproc) glad_glPointParameterfvEXT, 2, pname, params); + glad_glPointParameterfvEXT(pname, params); + _post_call_gl_callback(NULL, "glPointParameterfvEXT", (GLADapiproc) glad_glPointParameterfvEXT, 2, pname, params); + +} +PFNGLPOINTPARAMETERFVEXTPROC glad_debug_glPointParameterfvEXT = glad_debug_impl_glPointParameterfvEXT; +PFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterfvSGIS(GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glPointParameterfvSGIS", (GLADapiproc) glad_glPointParameterfvSGIS, 2, pname, params); + glad_glPointParameterfvSGIS(pname, params); + _post_call_gl_callback(NULL, "glPointParameterfvSGIS", (GLADapiproc) glad_glPointParameterfvSGIS, 2, pname, params); + +} +PFNGLPOINTPARAMETERFVSGISPROC glad_debug_glPointParameterfvSGIS = glad_debug_impl_glPointParameterfvSGIS; +PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameteri(GLenum pname, GLint param) { + _pre_call_gl_callback("glPointParameteri", (GLADapiproc) glad_glPointParameteri, 2, pname, param); + glad_glPointParameteri(pname, param); + _post_call_gl_callback(NULL, "glPointParameteri", (GLADapiproc) glad_glPointParameteri, 2, pname, param); + +} +PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri = glad_debug_impl_glPointParameteri; +PFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameteriNV(GLenum pname, GLint param) { + _pre_call_gl_callback("glPointParameteriNV", (GLADapiproc) glad_glPointParameteriNV, 2, pname, param); + glad_glPointParameteriNV(pname, param); + _post_call_gl_callback(NULL, "glPointParameteriNV", (GLADapiproc) glad_glPointParameteriNV, 2, pname, param); + +} +PFNGLPOINTPARAMETERINVPROC glad_debug_glPointParameteriNV = glad_debug_impl_glPointParameteriNV; +PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameteriv(GLenum pname, const GLint * params) { + _pre_call_gl_callback("glPointParameteriv", (GLADapiproc) glad_glPointParameteriv, 2, pname, params); + glad_glPointParameteriv(pname, params); + _post_call_gl_callback(NULL, "glPointParameteriv", (GLADapiproc) glad_glPointParameteriv, 2, pname, params); + +} +PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv = glad_debug_impl_glPointParameteriv; +PFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointParameterivNV(GLenum pname, const GLint * params) { + _pre_call_gl_callback("glPointParameterivNV", (GLADapiproc) glad_glPointParameterivNV, 2, pname, params); + glad_glPointParameterivNV(pname, params); + _post_call_gl_callback(NULL, "glPointParameterivNV", (GLADapiproc) glad_glPointParameterivNV, 2, pname, params); + +} +PFNGLPOINTPARAMETERIVNVPROC glad_debug_glPointParameterivNV = glad_debug_impl_glPointParameterivNV; +PFNGLPOINTSIZEPROC glad_glPointSize = NULL; +static void GLAD_API_PTR glad_debug_impl_glPointSize(GLfloat size) { + _pre_call_gl_callback("glPointSize", (GLADapiproc) glad_glPointSize, 1, size); + glad_glPointSize(size); + _post_call_gl_callback(NULL, "glPointSize", (GLADapiproc) glad_glPointSize, 1, size); + +} +PFNGLPOINTSIZEPROC glad_debug_glPointSize = glad_debug_impl_glPointSize; +PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL; +static void GLAD_API_PTR glad_debug_impl_glPolygonMode(GLenum face, GLenum mode) { + _pre_call_gl_callback("glPolygonMode", (GLADapiproc) glad_glPolygonMode, 2, face, mode); + glad_glPolygonMode(face, mode); + _post_call_gl_callback(NULL, "glPolygonMode", (GLADapiproc) glad_glPolygonMode, 2, face, mode); + +} +PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode = glad_debug_impl_glPolygonMode; +PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL; +static void GLAD_API_PTR glad_debug_impl_glPolygonOffset(GLfloat factor, GLfloat units) { + _pre_call_gl_callback("glPolygonOffset", (GLADapiproc) glad_glPolygonOffset, 2, factor, units); + glad_glPolygonOffset(factor, units); + _post_call_gl_callback(NULL, "glPolygonOffset", (GLADapiproc) glad_glPolygonOffset, 2, factor, units); + +} +PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset = glad_debug_impl_glPolygonOffset; +PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp = NULL; +static void GLAD_API_PTR glad_debug_impl_glPolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp) { + _pre_call_gl_callback("glPolygonOffsetClamp", (GLADapiproc) glad_glPolygonOffsetClamp, 3, factor, units, clamp); + glad_glPolygonOffsetClamp(factor, units, clamp); + _post_call_gl_callback(NULL, "glPolygonOffsetClamp", (GLADapiproc) glad_glPolygonOffsetClamp, 3, factor, units, clamp); + +} +PFNGLPOLYGONOFFSETCLAMPPROC glad_debug_glPolygonOffsetClamp = glad_debug_impl_glPolygonOffsetClamp; +PFNGLPOLYGONOFFSETCLAMPEXTPROC glad_glPolygonOffsetClampEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glPolygonOffsetClampEXT(GLfloat factor, GLfloat units, GLfloat clamp) { + _pre_call_gl_callback("glPolygonOffsetClampEXT", (GLADapiproc) glad_glPolygonOffsetClampEXT, 3, factor, units, clamp); + glad_glPolygonOffsetClampEXT(factor, units, clamp); + _post_call_gl_callback(NULL, "glPolygonOffsetClampEXT", (GLADapiproc) glad_glPolygonOffsetClampEXT, 3, factor, units, clamp); + +} +PFNGLPOLYGONOFFSETCLAMPEXTPROC glad_debug_glPolygonOffsetClampEXT = glad_debug_impl_glPolygonOffsetClampEXT; +PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL; +static void GLAD_API_PTR glad_debug_impl_glPopDebugGroup(void) { + _pre_call_gl_callback("glPopDebugGroup", (GLADapiproc) glad_glPopDebugGroup, 0); + glad_glPopDebugGroup(); + _post_call_gl_callback(NULL, "glPopDebugGroup", (GLADapiproc) glad_glPopDebugGroup, 0); + +} +PFNGLPOPDEBUGGROUPPROC glad_debug_glPopDebugGroup = glad_debug_impl_glPopDebugGroup; +PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL; +static void GLAD_API_PTR glad_debug_impl_glPrimitiveRestartIndex(GLuint index) { + _pre_call_gl_callback("glPrimitiveRestartIndex", (GLADapiproc) glad_glPrimitiveRestartIndex, 1, index); + glad_glPrimitiveRestartIndex(index); + _post_call_gl_callback(NULL, "glPrimitiveRestartIndex", (GLADapiproc) glad_glPrimitiveRestartIndex, 1, index); + +} +PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex = glad_debug_impl_glPrimitiveRestartIndex; +PFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glPrioritizeTexturesEXT(GLsizei n, const GLuint * textures, const GLclampf * priorities) { + _pre_call_gl_callback("glPrioritizeTexturesEXT", (GLADapiproc) glad_glPrioritizeTexturesEXT, 3, n, textures, priorities); + glad_glPrioritizeTexturesEXT(n, textures, priorities); + _post_call_gl_callback(NULL, "glPrioritizeTexturesEXT", (GLADapiproc) glad_glPrioritizeTexturesEXT, 3, n, textures, priorities); + +} +PFNGLPRIORITIZETEXTURESEXTPROC glad_debug_glPrioritizeTexturesEXT = glad_debug_impl_glPrioritizeTexturesEXT; +PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramBinary(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length) { + _pre_call_gl_callback("glProgramBinary", (GLADapiproc) glad_glProgramBinary, 4, program, binaryFormat, binary, length); + glad_glProgramBinary(program, binaryFormat, binary, length); + _post_call_gl_callback(NULL, "glProgramBinary", (GLADapiproc) glad_glProgramBinary, 4, program, binaryFormat, binary, length); + +} +PFNGLPROGRAMBINARYPROC glad_debug_glProgramBinary = glad_debug_impl_glProgramBinary; +PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glProgramEnvParameter4dARB", (GLADapiproc) glad_glProgramEnvParameter4dARB, 6, target, index, x, y, z, w); + glad_glProgramEnvParameter4dARB(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramEnvParameter4dARB", (GLADapiproc) glad_glProgramEnvParameter4dARB, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMENVPARAMETER4DARBPROC glad_debug_glProgramEnvParameter4dARB = glad_debug_impl_glProgramEnvParameter4dARB; +PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) { + _pre_call_gl_callback("glProgramEnvParameter4dvARB", (GLADapiproc) glad_glProgramEnvParameter4dvARB, 3, target, index, params); + glad_glProgramEnvParameter4dvARB(target, index, params); + _post_call_gl_callback(NULL, "glProgramEnvParameter4dvARB", (GLADapiproc) glad_glProgramEnvParameter4dvARB, 3, target, index, params); + +} +PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_debug_glProgramEnvParameter4dvARB = glad_debug_impl_glProgramEnvParameter4dvARB; +PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glProgramEnvParameter4fARB", (GLADapiproc) glad_glProgramEnvParameter4fARB, 6, target, index, x, y, z, w); + glad_glProgramEnvParameter4fARB(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramEnvParameter4fARB", (GLADapiproc) glad_glProgramEnvParameter4fARB, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMENVPARAMETER4FARBPROC glad_debug_glProgramEnvParameter4fARB = glad_debug_impl_glProgramEnvParameter4fARB; +PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) { + _pre_call_gl_callback("glProgramEnvParameter4fvARB", (GLADapiproc) glad_glProgramEnvParameter4fvARB, 3, target, index, params); + glad_glProgramEnvParameter4fvARB(target, index, params); + _post_call_gl_callback(NULL, "glProgramEnvParameter4fvARB", (GLADapiproc) glad_glProgramEnvParameter4fvARB, 3, target, index, params); + +} +PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_debug_glProgramEnvParameter4fvARB = glad_debug_impl_glProgramEnvParameter4fvARB; +PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glProgramLocalParameter4dARB", (GLADapiproc) glad_glProgramLocalParameter4dARB, 6, target, index, x, y, z, w); + glad_glProgramLocalParameter4dARB(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramLocalParameter4dARB", (GLADapiproc) glad_glProgramLocalParameter4dARB, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_debug_glProgramLocalParameter4dARB = glad_debug_impl_glProgramLocalParameter4dARB; +PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) { + _pre_call_gl_callback("glProgramLocalParameter4dvARB", (GLADapiproc) glad_glProgramLocalParameter4dvARB, 3, target, index, params); + glad_glProgramLocalParameter4dvARB(target, index, params); + _post_call_gl_callback(NULL, "glProgramLocalParameter4dvARB", (GLADapiproc) glad_glProgramLocalParameter4dvARB, 3, target, index, params); + +} +PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_debug_glProgramLocalParameter4dvARB = glad_debug_impl_glProgramLocalParameter4dvARB; +PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glProgramLocalParameter4fARB", (GLADapiproc) glad_glProgramLocalParameter4fARB, 6, target, index, x, y, z, w); + glad_glProgramLocalParameter4fARB(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramLocalParameter4fARB", (GLADapiproc) glad_glProgramLocalParameter4fARB, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_debug_glProgramLocalParameter4fARB = glad_debug_impl_glProgramLocalParameter4fARB; +PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) { + _pre_call_gl_callback("glProgramLocalParameter4fvARB", (GLADapiproc) glad_glProgramLocalParameter4fvARB, 3, target, index, params); + glad_glProgramLocalParameter4fvARB(target, index, params); + _post_call_gl_callback(NULL, "glProgramLocalParameter4fvARB", (GLADapiproc) glad_glProgramLocalParameter4fvARB, 3, target, index, params); + +} +PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_debug_glProgramLocalParameter4fvARB = glad_debug_impl_glProgramLocalParameter4fvARB; +PFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glProgramParameter4dNV", (GLADapiproc) glad_glProgramParameter4dNV, 6, target, index, x, y, z, w); + glad_glProgramParameter4dNV(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramParameter4dNV", (GLADapiproc) glad_glProgramParameter4dNV, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMPARAMETER4DNVPROC glad_debug_glProgramParameter4dNV = glad_debug_impl_glProgramParameter4dNV; +PFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glProgramParameter4dvNV", (GLADapiproc) glad_glProgramParameter4dvNV, 3, target, index, v); + glad_glProgramParameter4dvNV(target, index, v); + _post_call_gl_callback(NULL, "glProgramParameter4dvNV", (GLADapiproc) glad_glProgramParameter4dvNV, 3, target, index, v); + +} +PFNGLPROGRAMPARAMETER4DVNVPROC glad_debug_glProgramParameter4dvNV = glad_debug_impl_glProgramParameter4dvNV; +PFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glProgramParameter4fNV", (GLADapiproc) glad_glProgramParameter4fNV, 6, target, index, x, y, z, w); + glad_glProgramParameter4fNV(target, index, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramParameter4fNV", (GLADapiproc) glad_glProgramParameter4fNV, 6, target, index, x, y, z, w); + +} +PFNGLPROGRAMPARAMETER4FNVPROC glad_debug_glProgramParameter4fNV = glad_debug_impl_glProgramParameter4fNV; +PFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glProgramParameter4fvNV", (GLADapiproc) glad_glProgramParameter4fvNV, 3, target, index, v); + glad_glProgramParameter4fvNV(target, index, v); + _post_call_gl_callback(NULL, "glProgramParameter4fvNV", (GLADapiproc) glad_glProgramParameter4fvNV, 3, target, index, v); + +} +PFNGLPROGRAMPARAMETER4FVNVPROC glad_debug_glProgramParameter4fvNV = glad_debug_impl_glProgramParameter4fvNV; +PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameteri(GLuint program, GLenum pname, GLint value) { + _pre_call_gl_callback("glProgramParameteri", (GLADapiproc) glad_glProgramParameteri, 3, program, pname, value); + glad_glProgramParameteri(program, pname, value); + _post_call_gl_callback(NULL, "glProgramParameteri", (GLADapiproc) glad_glProgramParameteri, 3, program, pname, value); + +} +PFNGLPROGRAMPARAMETERIPROC glad_debug_glProgramParameteri = glad_debug_impl_glProgramParameteri; +PFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameteriARB(GLuint program, GLenum pname, GLint value) { + _pre_call_gl_callback("glProgramParameteriARB", (GLADapiproc) glad_glProgramParameteriARB, 3, program, pname, value); + glad_glProgramParameteriARB(program, pname, value); + _post_call_gl_callback(NULL, "glProgramParameteriARB", (GLADapiproc) glad_glProgramParameteriARB, 3, program, pname, value); + +} +PFNGLPROGRAMPARAMETERIARBPROC glad_debug_glProgramParameteriARB = glad_debug_impl_glProgramParameteriARB; +PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { + _pre_call_gl_callback("glProgramParameteriEXT", (GLADapiproc) glad_glProgramParameteriEXT, 3, program, pname, value); + glad_glProgramParameteriEXT(program, pname, value); + _post_call_gl_callback(NULL, "glProgramParameteriEXT", (GLADapiproc) glad_glProgramParameteriEXT, 3, program, pname, value); + +} +PFNGLPROGRAMPARAMETERIEXTPROC glad_debug_glProgramParameteriEXT = glad_debug_impl_glProgramParameteriEXT; +PFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glProgramParameters4dvNV", (GLADapiproc) glad_glProgramParameters4dvNV, 4, target, index, count, v); + glad_glProgramParameters4dvNV(target, index, count, v); + _post_call_gl_callback(NULL, "glProgramParameters4dvNV", (GLADapiproc) glad_glProgramParameters4dvNV, 4, target, index, count, v); + +} +PFNGLPROGRAMPARAMETERS4DVNVPROC glad_debug_glProgramParameters4dvNV = glad_debug_impl_glProgramParameters4dvNV; +PFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glProgramParameters4fvNV", (GLADapiproc) glad_glProgramParameters4fvNV, 4, target, index, count, v); + glad_glProgramParameters4fvNV(target, index, count, v); + _post_call_gl_callback(NULL, "glProgramParameters4fvNV", (GLADapiproc) glad_glProgramParameters4fvNV, 4, target, index, count, v); + +} +PFNGLPROGRAMPARAMETERS4FVNVPROC glad_debug_glProgramParameters4fvNV = glad_debug_impl_glProgramParameters4fvNV; +PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const void * string) { + _pre_call_gl_callback("glProgramStringARB", (GLADapiproc) glad_glProgramStringARB, 4, target, format, len, string); + glad_glProgramStringARB(target, format, len, string); + _post_call_gl_callback(NULL, "glProgramStringARB", (GLADapiproc) glad_glProgramStringARB, 4, target, format, len, string); + +} +PFNGLPROGRAMSTRINGARBPROC glad_debug_glProgramStringARB = glad_debug_impl_glProgramStringARB; +PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { + _pre_call_gl_callback("glProgramUniform1d", (GLADapiproc) glad_glProgramUniform1d, 3, program, location, v0); + glad_glProgramUniform1d(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1d", (GLADapiproc) glad_glProgramUniform1d, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1DPROC glad_debug_glProgramUniform1d = glad_debug_impl_glProgramUniform1d; +PFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x) { + _pre_call_gl_callback("glProgramUniform1dEXT", (GLADapiproc) glad_glProgramUniform1dEXT, 3, program, location, x); + glad_glProgramUniform1dEXT(program, location, x); + _post_call_gl_callback(NULL, "glProgramUniform1dEXT", (GLADapiproc) glad_glProgramUniform1dEXT, 3, program, location, x); + +} +PFNGLPROGRAMUNIFORM1DEXTPROC glad_debug_glProgramUniform1dEXT = glad_debug_impl_glProgramUniform1dEXT; +PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform1dv", (GLADapiproc) glad_glProgramUniform1dv, 4, program, location, count, value); + glad_glProgramUniform1dv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1dv", (GLADapiproc) glad_glProgramUniform1dv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1DVPROC glad_debug_glProgramUniform1dv = glad_debug_impl_glProgramUniform1dv; +PFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform1dvEXT", (GLADapiproc) glad_glProgramUniform1dvEXT, 4, program, location, count, value); + glad_glProgramUniform1dvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1dvEXT", (GLADapiproc) glad_glProgramUniform1dvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1DVEXTPROC glad_debug_glProgramUniform1dvEXT = glad_debug_impl_glProgramUniform1dvEXT; +PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { + _pre_call_gl_callback("glProgramUniform1f", (GLADapiproc) glad_glProgramUniform1f, 3, program, location, v0); + glad_glProgramUniform1f(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1f", (GLADapiproc) glad_glProgramUniform1f, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1FPROC glad_debug_glProgramUniform1f = glad_debug_impl_glProgramUniform1f; +PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { + _pre_call_gl_callback("glProgramUniform1fEXT", (GLADapiproc) glad_glProgramUniform1fEXT, 3, program, location, v0); + glad_glProgramUniform1fEXT(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1fEXT", (GLADapiproc) glad_glProgramUniform1fEXT, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1FEXTPROC glad_debug_glProgramUniform1fEXT = glad_debug_impl_glProgramUniform1fEXT; +PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform1fv", (GLADapiproc) glad_glProgramUniform1fv, 4, program, location, count, value); + glad_glProgramUniform1fv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1fv", (GLADapiproc) glad_glProgramUniform1fv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1FVPROC glad_debug_glProgramUniform1fv = glad_debug_impl_glProgramUniform1fv; +PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform1fvEXT", (GLADapiproc) glad_glProgramUniform1fvEXT, 4, program, location, count, value); + glad_glProgramUniform1fvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1fvEXT", (GLADapiproc) glad_glProgramUniform1fvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1FVEXTPROC glad_debug_glProgramUniform1fvEXT = glad_debug_impl_glProgramUniform1fvEXT; +PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1i(GLuint program, GLint location, GLint v0) { + _pre_call_gl_callback("glProgramUniform1i", (GLADapiproc) glad_glProgramUniform1i, 3, program, location, v0); + glad_glProgramUniform1i(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1i", (GLADapiproc) glad_glProgramUniform1i, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1IPROC glad_debug_glProgramUniform1i = glad_debug_impl_glProgramUniform1i; +PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { + _pre_call_gl_callback("glProgramUniform1iEXT", (GLADapiproc) glad_glProgramUniform1iEXT, 3, program, location, v0); + glad_glProgramUniform1iEXT(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1iEXT", (GLADapiproc) glad_glProgramUniform1iEXT, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1IEXTPROC glad_debug_glProgramUniform1iEXT = glad_debug_impl_glProgramUniform1iEXT; +PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform1iv", (GLADapiproc) glad_glProgramUniform1iv, 4, program, location, count, value); + glad_glProgramUniform1iv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1iv", (GLADapiproc) glad_glProgramUniform1iv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1IVPROC glad_debug_glProgramUniform1iv = glad_debug_impl_glProgramUniform1iv; +PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform1ivEXT", (GLADapiproc) glad_glProgramUniform1ivEXT, 4, program, location, count, value); + glad_glProgramUniform1ivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1ivEXT", (GLADapiproc) glad_glProgramUniform1ivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1IVEXTPROC glad_debug_glProgramUniform1ivEXT = glad_debug_impl_glProgramUniform1ivEXT; +PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { + _pre_call_gl_callback("glProgramUniform1ui", (GLADapiproc) glad_glProgramUniform1ui, 3, program, location, v0); + glad_glProgramUniform1ui(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1ui", (GLADapiproc) glad_glProgramUniform1ui, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1UIPROC glad_debug_glProgramUniform1ui = glad_debug_impl_glProgramUniform1ui; +PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { + _pre_call_gl_callback("glProgramUniform1uiEXT", (GLADapiproc) glad_glProgramUniform1uiEXT, 3, program, location, v0); + glad_glProgramUniform1uiEXT(program, location, v0); + _post_call_gl_callback(NULL, "glProgramUniform1uiEXT", (GLADapiproc) glad_glProgramUniform1uiEXT, 3, program, location, v0); + +} +PFNGLPROGRAMUNIFORM1UIEXTPROC glad_debug_glProgramUniform1uiEXT = glad_debug_impl_glProgramUniform1uiEXT; +PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform1uiv", (GLADapiproc) glad_glProgramUniform1uiv, 4, program, location, count, value); + glad_glProgramUniform1uiv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1uiv", (GLADapiproc) glad_glProgramUniform1uiv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1UIVPROC glad_debug_glProgramUniform1uiv = glad_debug_impl_glProgramUniform1uiv; +PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform1uivEXT", (GLADapiproc) glad_glProgramUniform1uivEXT, 4, program, location, count, value); + glad_glProgramUniform1uivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform1uivEXT", (GLADapiproc) glad_glProgramUniform1uivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_debug_glProgramUniform1uivEXT = glad_debug_impl_glProgramUniform1uivEXT; +PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { + _pre_call_gl_callback("glProgramUniform2d", (GLADapiproc) glad_glProgramUniform2d, 4, program, location, v0, v1); + glad_glProgramUniform2d(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2d", (GLADapiproc) glad_glProgramUniform2d, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2DPROC glad_debug_glProgramUniform2d = glad_debug_impl_glProgramUniform2d; +PFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glProgramUniform2dEXT", (GLADapiproc) glad_glProgramUniform2dEXT, 4, program, location, x, y); + glad_glProgramUniform2dEXT(program, location, x, y); + _post_call_gl_callback(NULL, "glProgramUniform2dEXT", (GLADapiproc) glad_glProgramUniform2dEXT, 4, program, location, x, y); + +} +PFNGLPROGRAMUNIFORM2DEXTPROC glad_debug_glProgramUniform2dEXT = glad_debug_impl_glProgramUniform2dEXT; +PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform2dv", (GLADapiproc) glad_glProgramUniform2dv, 4, program, location, count, value); + glad_glProgramUniform2dv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2dv", (GLADapiproc) glad_glProgramUniform2dv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2DVPROC glad_debug_glProgramUniform2dv = glad_debug_impl_glProgramUniform2dv; +PFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform2dvEXT", (GLADapiproc) glad_glProgramUniform2dvEXT, 4, program, location, count, value); + glad_glProgramUniform2dvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2dvEXT", (GLADapiproc) glad_glProgramUniform2dvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2DVEXTPROC glad_debug_glProgramUniform2dvEXT = glad_debug_impl_glProgramUniform2dvEXT; +PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { + _pre_call_gl_callback("glProgramUniform2f", (GLADapiproc) glad_glProgramUniform2f, 4, program, location, v0, v1); + glad_glProgramUniform2f(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2f", (GLADapiproc) glad_glProgramUniform2f, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2FPROC glad_debug_glProgramUniform2f = glad_debug_impl_glProgramUniform2f; +PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) { + _pre_call_gl_callback("glProgramUniform2fEXT", (GLADapiproc) glad_glProgramUniform2fEXT, 4, program, location, v0, v1); + glad_glProgramUniform2fEXT(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2fEXT", (GLADapiproc) glad_glProgramUniform2fEXT, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2FEXTPROC glad_debug_glProgramUniform2fEXT = glad_debug_impl_glProgramUniform2fEXT; +PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform2fv", (GLADapiproc) glad_glProgramUniform2fv, 4, program, location, count, value); + glad_glProgramUniform2fv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2fv", (GLADapiproc) glad_glProgramUniform2fv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2FVPROC glad_debug_glProgramUniform2fv = glad_debug_impl_glProgramUniform2fv; +PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform2fvEXT", (GLADapiproc) glad_glProgramUniform2fvEXT, 4, program, location, count, value); + glad_glProgramUniform2fvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2fvEXT", (GLADapiproc) glad_glProgramUniform2fvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2FVEXTPROC glad_debug_glProgramUniform2fvEXT = glad_debug_impl_glProgramUniform2fvEXT; +PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { + _pre_call_gl_callback("glProgramUniform2i", (GLADapiproc) glad_glProgramUniform2i, 4, program, location, v0, v1); + glad_glProgramUniform2i(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2i", (GLADapiproc) glad_glProgramUniform2i, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2IPROC glad_debug_glProgramUniform2i = glad_debug_impl_glProgramUniform2i; +PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) { + _pre_call_gl_callback("glProgramUniform2iEXT", (GLADapiproc) glad_glProgramUniform2iEXT, 4, program, location, v0, v1); + glad_glProgramUniform2iEXT(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2iEXT", (GLADapiproc) glad_glProgramUniform2iEXT, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2IEXTPROC glad_debug_glProgramUniform2iEXT = glad_debug_impl_glProgramUniform2iEXT; +PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform2iv", (GLADapiproc) glad_glProgramUniform2iv, 4, program, location, count, value); + glad_glProgramUniform2iv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2iv", (GLADapiproc) glad_glProgramUniform2iv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2IVPROC glad_debug_glProgramUniform2iv = glad_debug_impl_glProgramUniform2iv; +PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform2ivEXT", (GLADapiproc) glad_glProgramUniform2ivEXT, 4, program, location, count, value); + glad_glProgramUniform2ivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2ivEXT", (GLADapiproc) glad_glProgramUniform2ivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2IVEXTPROC glad_debug_glProgramUniform2ivEXT = glad_debug_impl_glProgramUniform2ivEXT; +PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { + _pre_call_gl_callback("glProgramUniform2ui", (GLADapiproc) glad_glProgramUniform2ui, 4, program, location, v0, v1); + glad_glProgramUniform2ui(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2ui", (GLADapiproc) glad_glProgramUniform2ui, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2UIPROC glad_debug_glProgramUniform2ui = glad_debug_impl_glProgramUniform2ui; +PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) { + _pre_call_gl_callback("glProgramUniform2uiEXT", (GLADapiproc) glad_glProgramUniform2uiEXT, 4, program, location, v0, v1); + glad_glProgramUniform2uiEXT(program, location, v0, v1); + _post_call_gl_callback(NULL, "glProgramUniform2uiEXT", (GLADapiproc) glad_glProgramUniform2uiEXT, 4, program, location, v0, v1); + +} +PFNGLPROGRAMUNIFORM2UIEXTPROC glad_debug_glProgramUniform2uiEXT = glad_debug_impl_glProgramUniform2uiEXT; +PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform2uiv", (GLADapiproc) glad_glProgramUniform2uiv, 4, program, location, count, value); + glad_glProgramUniform2uiv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2uiv", (GLADapiproc) glad_glProgramUniform2uiv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2UIVPROC glad_debug_glProgramUniform2uiv = glad_debug_impl_glProgramUniform2uiv; +PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform2uivEXT", (GLADapiproc) glad_glProgramUniform2uivEXT, 4, program, location, count, value); + glad_glProgramUniform2uivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform2uivEXT", (GLADapiproc) glad_glProgramUniform2uivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_debug_glProgramUniform2uivEXT = glad_debug_impl_glProgramUniform2uivEXT; +PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { + _pre_call_gl_callback("glProgramUniform3d", (GLADapiproc) glad_glProgramUniform3d, 5, program, location, v0, v1, v2); + glad_glProgramUniform3d(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3d", (GLADapiproc) glad_glProgramUniform3d, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3DPROC glad_debug_glProgramUniform3d = glad_debug_impl_glProgramUniform3d; +PFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glProgramUniform3dEXT", (GLADapiproc) glad_glProgramUniform3dEXT, 5, program, location, x, y, z); + glad_glProgramUniform3dEXT(program, location, x, y, z); + _post_call_gl_callback(NULL, "glProgramUniform3dEXT", (GLADapiproc) glad_glProgramUniform3dEXT, 5, program, location, x, y, z); + +} +PFNGLPROGRAMUNIFORM3DEXTPROC glad_debug_glProgramUniform3dEXT = glad_debug_impl_glProgramUniform3dEXT; +PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform3dv", (GLADapiproc) glad_glProgramUniform3dv, 4, program, location, count, value); + glad_glProgramUniform3dv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3dv", (GLADapiproc) glad_glProgramUniform3dv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3DVPROC glad_debug_glProgramUniform3dv = glad_debug_impl_glProgramUniform3dv; +PFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform3dvEXT", (GLADapiproc) glad_glProgramUniform3dvEXT, 4, program, location, count, value); + glad_glProgramUniform3dvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3dvEXT", (GLADapiproc) glad_glProgramUniform3dvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3DVEXTPROC glad_debug_glProgramUniform3dvEXT = glad_debug_impl_glProgramUniform3dvEXT; +PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + _pre_call_gl_callback("glProgramUniform3f", (GLADapiproc) glad_glProgramUniform3f, 5, program, location, v0, v1, v2); + glad_glProgramUniform3f(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3f", (GLADapiproc) glad_glProgramUniform3f, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3FPROC glad_debug_glProgramUniform3f = glad_debug_impl_glProgramUniform3f; +PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + _pre_call_gl_callback("glProgramUniform3fEXT", (GLADapiproc) glad_glProgramUniform3fEXT, 5, program, location, v0, v1, v2); + glad_glProgramUniform3fEXT(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3fEXT", (GLADapiproc) glad_glProgramUniform3fEXT, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3FEXTPROC glad_debug_glProgramUniform3fEXT = glad_debug_impl_glProgramUniform3fEXT; +PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform3fv", (GLADapiproc) glad_glProgramUniform3fv, 4, program, location, count, value); + glad_glProgramUniform3fv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3fv", (GLADapiproc) glad_glProgramUniform3fv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3FVPROC glad_debug_glProgramUniform3fv = glad_debug_impl_glProgramUniform3fv; +PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform3fvEXT", (GLADapiproc) glad_glProgramUniform3fvEXT, 4, program, location, count, value); + glad_glProgramUniform3fvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3fvEXT", (GLADapiproc) glad_glProgramUniform3fvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3FVEXTPROC glad_debug_glProgramUniform3fvEXT = glad_debug_impl_glProgramUniform3fvEXT; +PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { + _pre_call_gl_callback("glProgramUniform3i", (GLADapiproc) glad_glProgramUniform3i, 5, program, location, v0, v1, v2); + glad_glProgramUniform3i(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3i", (GLADapiproc) glad_glProgramUniform3i, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3IPROC glad_debug_glProgramUniform3i = glad_debug_impl_glProgramUniform3i; +PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { + _pre_call_gl_callback("glProgramUniform3iEXT", (GLADapiproc) glad_glProgramUniform3iEXT, 5, program, location, v0, v1, v2); + glad_glProgramUniform3iEXT(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3iEXT", (GLADapiproc) glad_glProgramUniform3iEXT, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3IEXTPROC glad_debug_glProgramUniform3iEXT = glad_debug_impl_glProgramUniform3iEXT; +PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform3iv", (GLADapiproc) glad_glProgramUniform3iv, 4, program, location, count, value); + glad_glProgramUniform3iv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3iv", (GLADapiproc) glad_glProgramUniform3iv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3IVPROC glad_debug_glProgramUniform3iv = glad_debug_impl_glProgramUniform3iv; +PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform3ivEXT", (GLADapiproc) glad_glProgramUniform3ivEXT, 4, program, location, count, value); + glad_glProgramUniform3ivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3ivEXT", (GLADapiproc) glad_glProgramUniform3ivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3IVEXTPROC glad_debug_glProgramUniform3ivEXT = glad_debug_impl_glProgramUniform3ivEXT; +PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { + _pre_call_gl_callback("glProgramUniform3ui", (GLADapiproc) glad_glProgramUniform3ui, 5, program, location, v0, v1, v2); + glad_glProgramUniform3ui(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3ui", (GLADapiproc) glad_glProgramUniform3ui, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3UIPROC glad_debug_glProgramUniform3ui = glad_debug_impl_glProgramUniform3ui; +PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { + _pre_call_gl_callback("glProgramUniform3uiEXT", (GLADapiproc) glad_glProgramUniform3uiEXT, 5, program, location, v0, v1, v2); + glad_glProgramUniform3uiEXT(program, location, v0, v1, v2); + _post_call_gl_callback(NULL, "glProgramUniform3uiEXT", (GLADapiproc) glad_glProgramUniform3uiEXT, 5, program, location, v0, v1, v2); + +} +PFNGLPROGRAMUNIFORM3UIEXTPROC glad_debug_glProgramUniform3uiEXT = glad_debug_impl_glProgramUniform3uiEXT; +PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform3uiv", (GLADapiproc) glad_glProgramUniform3uiv, 4, program, location, count, value); + glad_glProgramUniform3uiv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3uiv", (GLADapiproc) glad_glProgramUniform3uiv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3UIVPROC glad_debug_glProgramUniform3uiv = glad_debug_impl_glProgramUniform3uiv; +PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform3uivEXT", (GLADapiproc) glad_glProgramUniform3uivEXT, 4, program, location, count, value); + glad_glProgramUniform3uivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform3uivEXT", (GLADapiproc) glad_glProgramUniform3uivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_debug_glProgramUniform3uivEXT = glad_debug_impl_glProgramUniform3uivEXT; +PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { + _pre_call_gl_callback("glProgramUniform4d", (GLADapiproc) glad_glProgramUniform4d, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4d(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4d", (GLADapiproc) glad_glProgramUniform4d, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4DPROC glad_debug_glProgramUniform4d = glad_debug_impl_glProgramUniform4d; +PFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glProgramUniform4dEXT", (GLADapiproc) glad_glProgramUniform4dEXT, 6, program, location, x, y, z, w); + glad_glProgramUniform4dEXT(program, location, x, y, z, w); + _post_call_gl_callback(NULL, "glProgramUniform4dEXT", (GLADapiproc) glad_glProgramUniform4dEXT, 6, program, location, x, y, z, w); + +} +PFNGLPROGRAMUNIFORM4DEXTPROC glad_debug_glProgramUniform4dEXT = glad_debug_impl_glProgramUniform4dEXT; +PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform4dv", (GLADapiproc) glad_glProgramUniform4dv, 4, program, location, count, value); + glad_glProgramUniform4dv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4dv", (GLADapiproc) glad_glProgramUniform4dv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4DVPROC glad_debug_glProgramUniform4dv = glad_debug_impl_glProgramUniform4dv; +PFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniform4dvEXT", (GLADapiproc) glad_glProgramUniform4dvEXT, 4, program, location, count, value); + glad_glProgramUniform4dvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4dvEXT", (GLADapiproc) glad_glProgramUniform4dvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4DVEXTPROC glad_debug_glProgramUniform4dvEXT = glad_debug_impl_glProgramUniform4dvEXT; +PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + _pre_call_gl_callback("glProgramUniform4f", (GLADapiproc) glad_glProgramUniform4f, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4f(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4f", (GLADapiproc) glad_glProgramUniform4f, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4FPROC glad_debug_glProgramUniform4f = glad_debug_impl_glProgramUniform4f; +PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + _pre_call_gl_callback("glProgramUniform4fEXT", (GLADapiproc) glad_glProgramUniform4fEXT, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4fEXT(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4fEXT", (GLADapiproc) glad_glProgramUniform4fEXT, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4FEXTPROC glad_debug_glProgramUniform4fEXT = glad_debug_impl_glProgramUniform4fEXT; +PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform4fv", (GLADapiproc) glad_glProgramUniform4fv, 4, program, location, count, value); + glad_glProgramUniform4fv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4fv", (GLADapiproc) glad_glProgramUniform4fv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4FVPROC glad_debug_glProgramUniform4fv = glad_debug_impl_glProgramUniform4fv; +PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniform4fvEXT", (GLADapiproc) glad_glProgramUniform4fvEXT, 4, program, location, count, value); + glad_glProgramUniform4fvEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4fvEXT", (GLADapiproc) glad_glProgramUniform4fvEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4FVEXTPROC glad_debug_glProgramUniform4fvEXT = glad_debug_impl_glProgramUniform4fvEXT; +PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + _pre_call_gl_callback("glProgramUniform4i", (GLADapiproc) glad_glProgramUniform4i, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4i(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4i", (GLADapiproc) glad_glProgramUniform4i, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4IPROC glad_debug_glProgramUniform4i = glad_debug_impl_glProgramUniform4i; +PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + _pre_call_gl_callback("glProgramUniform4iEXT", (GLADapiproc) glad_glProgramUniform4iEXT, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4iEXT(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4iEXT", (GLADapiproc) glad_glProgramUniform4iEXT, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4IEXTPROC glad_debug_glProgramUniform4iEXT = glad_debug_impl_glProgramUniform4iEXT; +PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform4iv", (GLADapiproc) glad_glProgramUniform4iv, 4, program, location, count, value); + glad_glProgramUniform4iv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4iv", (GLADapiproc) glad_glProgramUniform4iv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4IVPROC glad_debug_glProgramUniform4iv = glad_debug_impl_glProgramUniform4iv; +PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glProgramUniform4ivEXT", (GLADapiproc) glad_glProgramUniform4ivEXT, 4, program, location, count, value); + glad_glProgramUniform4ivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4ivEXT", (GLADapiproc) glad_glProgramUniform4ivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4IVEXTPROC glad_debug_glProgramUniform4ivEXT = glad_debug_impl_glProgramUniform4ivEXT; +PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + _pre_call_gl_callback("glProgramUniform4ui", (GLADapiproc) glad_glProgramUniform4ui, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4ui(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4ui", (GLADapiproc) glad_glProgramUniform4ui, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4UIPROC glad_debug_glProgramUniform4ui = glad_debug_impl_glProgramUniform4ui; +PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + _pre_call_gl_callback("glProgramUniform4uiEXT", (GLADapiproc) glad_glProgramUniform4uiEXT, 6, program, location, v0, v1, v2, v3); + glad_glProgramUniform4uiEXT(program, location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glProgramUniform4uiEXT", (GLADapiproc) glad_glProgramUniform4uiEXT, 6, program, location, v0, v1, v2, v3); + +} +PFNGLPROGRAMUNIFORM4UIEXTPROC glad_debug_glProgramUniform4uiEXT = glad_debug_impl_glProgramUniform4uiEXT; +PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform4uiv", (GLADapiproc) glad_glProgramUniform4uiv, 4, program, location, count, value); + glad_glProgramUniform4uiv(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4uiv", (GLADapiproc) glad_glProgramUniform4uiv, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4UIVPROC glad_debug_glProgramUniform4uiv = glad_debug_impl_glProgramUniform4uiv; +PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glProgramUniform4uivEXT", (GLADapiproc) glad_glProgramUniform4uivEXT, 4, program, location, count, value); + glad_glProgramUniform4uivEXT(program, location, count, value); + _post_call_gl_callback(NULL, "glProgramUniform4uivEXT", (GLADapiproc) glad_glProgramUniform4uivEXT, 4, program, location, count, value); + +} +PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_debug_glProgramUniform4uivEXT = glad_debug_impl_glProgramUniform4uivEXT; +PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value) { + _pre_call_gl_callback("glProgramUniformHandleui64ARB", (GLADapiproc) glad_glProgramUniformHandleui64ARB, 3, program, location, value); + glad_glProgramUniformHandleui64ARB(program, location, value); + _post_call_gl_callback(NULL, "glProgramUniformHandleui64ARB", (GLADapiproc) glad_glProgramUniformHandleui64ARB, 3, program, location, value); + +} +PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_debug_glProgramUniformHandleui64ARB = glad_debug_impl_glProgramUniformHandleui64ARB; +PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value) { + _pre_call_gl_callback("glProgramUniformHandleui64NV", (GLADapiproc) glad_glProgramUniformHandleui64NV, 3, program, location, value); + glad_glProgramUniformHandleui64NV(program, location, value); + _post_call_gl_callback(NULL, "glProgramUniformHandleui64NV", (GLADapiproc) glad_glProgramUniformHandleui64NV, 3, program, location, value); + +} +PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_debug_glProgramUniformHandleui64NV = glad_debug_impl_glProgramUniformHandleui64NV; +PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64 * values) { + _pre_call_gl_callback("glProgramUniformHandleui64vARB", (GLADapiproc) glad_glProgramUniformHandleui64vARB, 4, program, location, count, values); + glad_glProgramUniformHandleui64vARB(program, location, count, values); + _post_call_gl_callback(NULL, "glProgramUniformHandleui64vARB", (GLADapiproc) glad_glProgramUniformHandleui64vARB, 4, program, location, count, values); + +} +PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_debug_glProgramUniformHandleui64vARB = glad_debug_impl_glProgramUniformHandleui64vARB; +PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 * values) { + _pre_call_gl_callback("glProgramUniformHandleui64vNV", (GLADapiproc) glad_glProgramUniformHandleui64vNV, 4, program, location, count, values); + glad_glProgramUniformHandleui64vNV(program, location, count, values); + _post_call_gl_callback(NULL, "glProgramUniformHandleui64vNV", (GLADapiproc) glad_glProgramUniformHandleui64vNV, 4, program, location, count, values); + +} +PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_debug_glProgramUniformHandleui64vNV = glad_debug_impl_glProgramUniformHandleui64vNV; +PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2dv", (GLADapiproc) glad_glProgramUniformMatrix2dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2dv", (GLADapiproc) glad_glProgramUniformMatrix2dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_debug_glProgramUniformMatrix2dv = glad_debug_impl_glProgramUniformMatrix2dv; +PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_debug_glProgramUniformMatrix2dvEXT = glad_debug_impl_glProgramUniformMatrix2dvEXT; +PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2fv", (GLADapiproc) glad_glProgramUniformMatrix2fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2fv", (GLADapiproc) glad_glProgramUniformMatrix2fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_debug_glProgramUniformMatrix2fv = glad_debug_impl_glProgramUniformMatrix2fv; +PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_debug_glProgramUniformMatrix2fvEXT = glad_debug_impl_glProgramUniformMatrix2fvEXT; +PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x3dv", (GLADapiproc) glad_glProgramUniformMatrix2x3dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x3dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x3dv", (GLADapiproc) glad_glProgramUniformMatrix2x3dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_debug_glProgramUniformMatrix2x3dv = glad_debug_impl_glProgramUniformMatrix2x3dv; +PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x3dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x3dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_debug_glProgramUniformMatrix2x3dvEXT = glad_debug_impl_glProgramUniformMatrix2x3dvEXT; +PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x3fv", (GLADapiproc) glad_glProgramUniformMatrix2x3fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x3fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x3fv", (GLADapiproc) glad_glProgramUniformMatrix2x3fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_debug_glProgramUniformMatrix2x3fv = glad_debug_impl_glProgramUniformMatrix2x3fv; +PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x3fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x3fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_debug_glProgramUniformMatrix2x3fvEXT = glad_debug_impl_glProgramUniformMatrix2x3fvEXT; +PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x4dv", (GLADapiproc) glad_glProgramUniformMatrix2x4dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x4dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x4dv", (GLADapiproc) glad_glProgramUniformMatrix2x4dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_debug_glProgramUniformMatrix2x4dv = glad_debug_impl_glProgramUniformMatrix2x4dv; +PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x4dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x4dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_debug_glProgramUniformMatrix2x4dvEXT = glad_debug_impl_glProgramUniformMatrix2x4dvEXT; +PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x4fv", (GLADapiproc) glad_glProgramUniformMatrix2x4fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x4fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x4fv", (GLADapiproc) glad_glProgramUniformMatrix2x4fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_debug_glProgramUniformMatrix2x4fv = glad_debug_impl_glProgramUniformMatrix2x4fv; +PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix2x4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x4fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix2x4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix2x4fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_debug_glProgramUniformMatrix2x4fvEXT = glad_debug_impl_glProgramUniformMatrix2x4fvEXT; +PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3dv", (GLADapiproc) glad_glProgramUniformMatrix3dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3dv", (GLADapiproc) glad_glProgramUniformMatrix3dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_debug_glProgramUniformMatrix3dv = glad_debug_impl_glProgramUniformMatrix3dv; +PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_debug_glProgramUniformMatrix3dvEXT = glad_debug_impl_glProgramUniformMatrix3dvEXT; +PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3fv", (GLADapiproc) glad_glProgramUniformMatrix3fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3fv", (GLADapiproc) glad_glProgramUniformMatrix3fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_debug_glProgramUniformMatrix3fv = glad_debug_impl_glProgramUniformMatrix3fv; +PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_debug_glProgramUniformMatrix3fvEXT = glad_debug_impl_glProgramUniformMatrix3fvEXT; +PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x2dv", (GLADapiproc) glad_glProgramUniformMatrix3x2dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x2dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x2dv", (GLADapiproc) glad_glProgramUniformMatrix3x2dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_debug_glProgramUniformMatrix3x2dv = glad_debug_impl_glProgramUniformMatrix3x2dv; +PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x2dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x2dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_debug_glProgramUniformMatrix3x2dvEXT = glad_debug_impl_glProgramUniformMatrix3x2dvEXT; +PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x2fv", (GLADapiproc) glad_glProgramUniformMatrix3x2fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x2fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x2fv", (GLADapiproc) glad_glProgramUniformMatrix3x2fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_debug_glProgramUniformMatrix3x2fv = glad_debug_impl_glProgramUniformMatrix3x2fv; +PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x2fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x2fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_debug_glProgramUniformMatrix3x2fvEXT = glad_debug_impl_glProgramUniformMatrix3x2fvEXT; +PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x4dv", (GLADapiproc) glad_glProgramUniformMatrix3x4dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x4dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x4dv", (GLADapiproc) glad_glProgramUniformMatrix3x4dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_debug_glProgramUniformMatrix3x4dv = glad_debug_impl_glProgramUniformMatrix3x4dv; +PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x4dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x4dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_debug_glProgramUniformMatrix3x4dvEXT = glad_debug_impl_glProgramUniformMatrix3x4dvEXT; +PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x4fv", (GLADapiproc) glad_glProgramUniformMatrix3x4fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x4fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x4fv", (GLADapiproc) glad_glProgramUniformMatrix3x4fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_debug_glProgramUniformMatrix3x4fv = glad_debug_impl_glProgramUniformMatrix3x4fv; +PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix3x4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x4fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix3x4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix3x4fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_debug_glProgramUniformMatrix3x4fvEXT = glad_debug_impl_glProgramUniformMatrix3x4fvEXT; +PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4dv", (GLADapiproc) glad_glProgramUniformMatrix4dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4dv", (GLADapiproc) glad_glProgramUniformMatrix4dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_debug_glProgramUniformMatrix4dv = glad_debug_impl_glProgramUniformMatrix4dv; +PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_debug_glProgramUniformMatrix4dvEXT = glad_debug_impl_glProgramUniformMatrix4dvEXT; +PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4fv", (GLADapiproc) glad_glProgramUniformMatrix4fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4fv", (GLADapiproc) glad_glProgramUniformMatrix4fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_debug_glProgramUniformMatrix4fv = glad_debug_impl_glProgramUniformMatrix4fv; +PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_debug_glProgramUniformMatrix4fvEXT = glad_debug_impl_glProgramUniformMatrix4fvEXT; +PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x2dv", (GLADapiproc) glad_glProgramUniformMatrix4x2dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x2dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x2dv", (GLADapiproc) glad_glProgramUniformMatrix4x2dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_debug_glProgramUniformMatrix4x2dv = glad_debug_impl_glProgramUniformMatrix4x2dv; +PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x2dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x2dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x2dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_debug_glProgramUniformMatrix4x2dvEXT = glad_debug_impl_glProgramUniformMatrix4x2dvEXT; +PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x2fv", (GLADapiproc) glad_glProgramUniformMatrix4x2fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x2fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x2fv", (GLADapiproc) glad_glProgramUniformMatrix4x2fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_debug_glProgramUniformMatrix4x2fv = glad_debug_impl_glProgramUniformMatrix4x2fv; +PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x2fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x2fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x2fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_debug_glProgramUniformMatrix4x2fvEXT = glad_debug_impl_glProgramUniformMatrix4x2fvEXT; +PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x3dv", (GLADapiproc) glad_glProgramUniformMatrix4x3dv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x3dv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x3dv", (GLADapiproc) glad_glProgramUniformMatrix4x3dv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_debug_glProgramUniformMatrix4x3dv = glad_debug_impl_glProgramUniformMatrix4x3dv; +PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x3dvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x3dvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x3dvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_debug_glProgramUniformMatrix4x3dvEXT = glad_debug_impl_glProgramUniformMatrix4x3dvEXT; +PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x3fv", (GLADapiproc) glad_glProgramUniformMatrix4x3fv, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x3fv(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x3fv", (GLADapiproc) glad_glProgramUniformMatrix4x3fv, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_debug_glProgramUniformMatrix4x3fv = glad_debug_impl_glProgramUniformMatrix4x3fv; +PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glProgramUniformMatrix4x3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x3fvEXT, 5, program, location, count, transpose, value); + glad_glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value); + _post_call_gl_callback(NULL, "glProgramUniformMatrix4x3fvEXT", (GLADapiproc) glad_glProgramUniformMatrix4x3fvEXT, 5, program, location, count, transpose, value); + +} +PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_debug_glProgramUniformMatrix4x3fvEXT = glad_debug_impl_glProgramUniformMatrix4x3fvEXT; +PFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glProgramVertexLimitNV(GLenum target, GLint limit) { + _pre_call_gl_callback("glProgramVertexLimitNV", (GLADapiproc) glad_glProgramVertexLimitNV, 2, target, limit); + glad_glProgramVertexLimitNV(target, limit); + _post_call_gl_callback(NULL, "glProgramVertexLimitNV", (GLADapiproc) glad_glProgramVertexLimitNV, 2, target, limit); + +} +PFNGLPROGRAMVERTEXLIMITNVPROC glad_debug_glProgramVertexLimitNV = glad_debug_impl_glProgramVertexLimitNV; +PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL; +static void GLAD_API_PTR glad_debug_impl_glProvokingVertex(GLenum mode) { + _pre_call_gl_callback("glProvokingVertex", (GLADapiproc) glad_glProvokingVertex, 1, mode); + glad_glProvokingVertex(mode); + _post_call_gl_callback(NULL, "glProvokingVertex", (GLADapiproc) glad_glProvokingVertex, 1, mode); + +} +PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex = glad_debug_impl_glProvokingVertex; +PFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glProvokingVertexEXT(GLenum mode) { + _pre_call_gl_callback("glProvokingVertexEXT", (GLADapiproc) glad_glProvokingVertexEXT, 1, mode); + glad_glProvokingVertexEXT(mode); + _post_call_gl_callback(NULL, "glProvokingVertexEXT", (GLADapiproc) glad_glProvokingVertexEXT, 1, mode); + +} +PFNGLPROVOKINGVERTEXEXTPROC glad_debug_glProvokingVertexEXT = glad_debug_impl_glProvokingVertexEXT; +PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glPushClientAttribDefaultEXT(GLbitfield mask) { + _pre_call_gl_callback("glPushClientAttribDefaultEXT", (GLADapiproc) glad_glPushClientAttribDefaultEXT, 1, mask); + glad_glPushClientAttribDefaultEXT(mask); + _post_call_gl_callback(NULL, "glPushClientAttribDefaultEXT", (GLADapiproc) glad_glPushClientAttribDefaultEXT, 1, mask); + +} +PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_debug_glPushClientAttribDefaultEXT = glad_debug_impl_glPushClientAttribDefaultEXT; +PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL; +static void GLAD_API_PTR glad_debug_impl_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar * message) { + _pre_call_gl_callback("glPushDebugGroup", (GLADapiproc) glad_glPushDebugGroup, 4, source, id, length, message); + glad_glPushDebugGroup(source, id, length, message); + _post_call_gl_callback(NULL, "glPushDebugGroup", (GLADapiproc) glad_glPushDebugGroup, 4, source, id, length, message); + +} +PFNGLPUSHDEBUGGROUPPROC glad_debug_glPushDebugGroup = glad_debug_impl_glPushDebugGroup; +PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL; +static void GLAD_API_PTR glad_debug_impl_glQueryCounter(GLuint id, GLenum target) { + _pre_call_gl_callback("glQueryCounter", (GLADapiproc) glad_glQueryCounter, 2, id, target); + glad_glQueryCounter(id, target); + _post_call_gl_callback(NULL, "glQueryCounter", (GLADapiproc) glad_glQueryCounter, 2, id, target); + +} +PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter = glad_debug_impl_glQueryCounter; +PFNGLREADBUFFERPROC glad_glReadBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glReadBuffer(GLenum src) { + _pre_call_gl_callback("glReadBuffer", (GLADapiproc) glad_glReadBuffer, 1, src); + glad_glReadBuffer(src); + _post_call_gl_callback(NULL, "glReadBuffer", (GLADapiproc) glad_glReadBuffer, 1, src); + +} +PFNGLREADBUFFERPROC glad_debug_glReadBuffer = glad_debug_impl_glReadBuffer; +PFNGLREADPIXELSPROC glad_glReadPixels = NULL; +static void GLAD_API_PTR glad_debug_impl_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels) { + _pre_call_gl_callback("glReadPixels", (GLADapiproc) glad_glReadPixels, 7, x, y, width, height, format, type, pixels); + glad_glReadPixels(x, y, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glReadPixels", (GLADapiproc) glad_glReadPixels, 7, x, y, width, height, format, type, pixels); + +} +PFNGLREADPIXELSPROC glad_debug_glReadPixels = glad_debug_impl_glReadPixels; +PFNGLREADNPIXELSPROC glad_glReadnPixels = NULL; +static void GLAD_API_PTR glad_debug_impl_glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data) { + _pre_call_gl_callback("glReadnPixels", (GLADapiproc) glad_glReadnPixels, 8, x, y, width, height, format, type, bufSize, data); + glad_glReadnPixels(x, y, width, height, format, type, bufSize, data); + _post_call_gl_callback(NULL, "glReadnPixels", (GLADapiproc) glad_glReadnPixels, 8, x, y, width, height, format, type, bufSize, data); + +} +PFNGLREADNPIXELSPROC glad_debug_glReadnPixels = glad_debug_impl_glReadnPixels; +PFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data) { + _pre_call_gl_callback("glReadnPixelsARB", (GLADapiproc) glad_glReadnPixelsARB, 8, x, y, width, height, format, type, bufSize, data); + glad_glReadnPixelsARB(x, y, width, height, format, type, bufSize, data); + _post_call_gl_callback(NULL, "glReadnPixelsARB", (GLADapiproc) glad_glReadnPixelsARB, 8, x, y, width, height, format, type, bufSize, data); + +} +PFNGLREADNPIXELSARBPROC glad_debug_glReadnPixelsARB = glad_debug_impl_glReadnPixelsARB; +PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL; +static void GLAD_API_PTR glad_debug_impl_glReleaseShaderCompiler(void) { + _pre_call_gl_callback("glReleaseShaderCompiler", (GLADapiproc) glad_glReleaseShaderCompiler, 0); + glad_glReleaseShaderCompiler(); + _post_call_gl_callback(NULL, "glReleaseShaderCompiler", (GLADapiproc) glad_glReleaseShaderCompiler, 0); + +} +PFNGLRELEASESHADERCOMPILERPROC glad_debug_glReleaseShaderCompiler = glad_debug_impl_glReleaseShaderCompiler; +PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL; +static void GLAD_API_PTR glad_debug_impl_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glRenderbufferStorage", (GLADapiproc) glad_glRenderbufferStorage, 4, target, internalformat, width, height); + glad_glRenderbufferStorage(target, internalformat, width, height); + _post_call_gl_callback(NULL, "glRenderbufferStorage", (GLADapiproc) glad_glRenderbufferStorage, 4, target, internalformat, width, height); + +} +PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage = glad_debug_impl_glRenderbufferStorage; +PFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glRenderbufferStorageEXT", (GLADapiproc) glad_glRenderbufferStorageEXT, 4, target, internalformat, width, height); + glad_glRenderbufferStorageEXT(target, internalformat, width, height); + _post_call_gl_callback(NULL, "glRenderbufferStorageEXT", (GLADapiproc) glad_glRenderbufferStorageEXT, 4, target, internalformat, width, height); + +} +PFNGLRENDERBUFFERSTORAGEEXTPROC glad_debug_glRenderbufferStorageEXT = glad_debug_impl_glRenderbufferStorageEXT; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glRenderbufferStorageMultisample", (GLADapiproc) glad_glRenderbufferStorageMultisample, 5, target, samples, internalformat, width, height); + glad_glRenderbufferStorageMultisample(target, samples, internalformat, width, height); + _post_call_gl_callback(NULL, "glRenderbufferStorageMultisample", (GLADapiproc) glad_glRenderbufferStorageMultisample, 5, target, samples, internalformat, width, height); + +} +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample = glad_debug_impl_glRenderbufferStorageMultisample; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glRenderbufferStorageMultisampleEXT", (GLADapiproc) glad_glRenderbufferStorageMultisampleEXT, 5, target, samples, internalformat, width, height); + glad_glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); + _post_call_gl_callback(NULL, "glRenderbufferStorageMultisampleEXT", (GLADapiproc) glad_glRenderbufferStorageMultisampleEXT, 5, target, samples, internalformat, width, height); + +} +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_debug_glRenderbufferStorageMultisampleEXT = glad_debug_impl_glRenderbufferStorageMultisampleEXT; +PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glRequestResidentProgramsNV(GLsizei n, const GLuint * programs) { + _pre_call_gl_callback("glRequestResidentProgramsNV", (GLADapiproc) glad_glRequestResidentProgramsNV, 2, n, programs); + glad_glRequestResidentProgramsNV(n, programs); + _post_call_gl_callback(NULL, "glRequestResidentProgramsNV", (GLADapiproc) glad_glRequestResidentProgramsNV, 2, n, programs); + +} +PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_debug_glRequestResidentProgramsNV = glad_debug_impl_glRequestResidentProgramsNV; +PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL; +static void GLAD_API_PTR glad_debug_impl_glResumeTransformFeedback(void) { + _pre_call_gl_callback("glResumeTransformFeedback", (GLADapiproc) glad_glResumeTransformFeedback, 0); + glad_glResumeTransformFeedback(); + _post_call_gl_callback(NULL, "glResumeTransformFeedback", (GLADapiproc) glad_glResumeTransformFeedback, 0); + +} +PFNGLRESUMETRANSFORMFEEDBACKPROC glad_debug_glResumeTransformFeedback = glad_debug_impl_glResumeTransformFeedback; +PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glResumeTransformFeedbackNV(void) { + _pre_call_gl_callback("glResumeTransformFeedbackNV", (GLADapiproc) glad_glResumeTransformFeedbackNV, 0); + glad_glResumeTransformFeedbackNV(); + _post_call_gl_callback(NULL, "glResumeTransformFeedbackNV", (GLADapiproc) glad_glResumeTransformFeedbackNV, 0); + +} +PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_debug_glResumeTransformFeedbackNV = glad_debug_impl_glResumeTransformFeedbackNV; +PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL; +static void GLAD_API_PTR glad_debug_impl_glSampleCoverage(GLfloat value, GLboolean invert) { + _pre_call_gl_callback("glSampleCoverage", (GLADapiproc) glad_glSampleCoverage, 2, value, invert); + glad_glSampleCoverage(value, invert); + _post_call_gl_callback(NULL, "glSampleCoverage", (GLADapiproc) glad_glSampleCoverage, 2, value, invert); + +} +PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage = glad_debug_impl_glSampleCoverage; +PFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glSampleCoverageARB(GLfloat value, GLboolean invert) { + _pre_call_gl_callback("glSampleCoverageARB", (GLADapiproc) glad_glSampleCoverageARB, 2, value, invert); + glad_glSampleCoverageARB(value, invert); + _post_call_gl_callback(NULL, "glSampleCoverageARB", (GLADapiproc) glad_glSampleCoverageARB, 2, value, invert); + +} +PFNGLSAMPLECOVERAGEARBPROC glad_debug_glSampleCoverageARB = glad_debug_impl_glSampleCoverageARB; +PFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glSampleMaskIndexedNV(GLuint index, GLbitfield mask) { + _pre_call_gl_callback("glSampleMaskIndexedNV", (GLADapiproc) glad_glSampleMaskIndexedNV, 2, index, mask); + glad_glSampleMaskIndexedNV(index, mask); + _post_call_gl_callback(NULL, "glSampleMaskIndexedNV", (GLADapiproc) glad_glSampleMaskIndexedNV, 2, index, mask); + +} +PFNGLSAMPLEMASKINDEXEDNVPROC glad_debug_glSampleMaskIndexedNV = glad_debug_impl_glSampleMaskIndexedNV; +PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL; +static void GLAD_API_PTR glad_debug_impl_glSampleMaski(GLuint maskNumber, GLbitfield mask) { + _pre_call_gl_callback("glSampleMaski", (GLADapiproc) glad_glSampleMaski, 2, maskNumber, mask); + glad_glSampleMaski(maskNumber, mask); + _post_call_gl_callback(NULL, "glSampleMaski", (GLADapiproc) glad_glSampleMaski, 2, maskNumber, mask); + +} +PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski = glad_debug_impl_glSampleMaski; +PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint * param) { + _pre_call_gl_callback("glSamplerParameterIiv", (GLADapiproc) glad_glSamplerParameterIiv, 3, sampler, pname, param); + glad_glSamplerParameterIiv(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameterIiv", (GLADapiproc) glad_glSamplerParameterIiv, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv = glad_debug_impl_glSamplerParameterIiv; +PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint * param) { + _pre_call_gl_callback("glSamplerParameterIuiv", (GLADapiproc) glad_glSamplerParameterIuiv, 3, sampler, pname, param); + glad_glSamplerParameterIuiv(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameterIuiv", (GLADapiproc) glad_glSamplerParameterIuiv, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv = glad_debug_impl_glSamplerParameterIuiv; +PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glSamplerParameterf", (GLADapiproc) glad_glSamplerParameterf, 3, sampler, pname, param); + glad_glSamplerParameterf(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameterf", (GLADapiproc) glad_glSamplerParameterf, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf = glad_debug_impl_glSamplerParameterf; +PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * param) { + _pre_call_gl_callback("glSamplerParameterfv", (GLADapiproc) glad_glSamplerParameterfv, 3, sampler, pname, param); + glad_glSamplerParameterfv(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameterfv", (GLADapiproc) glad_glSamplerParameterfv, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv = glad_debug_impl_glSamplerParameterfv; +PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { + _pre_call_gl_callback("glSamplerParameteri", (GLADapiproc) glad_glSamplerParameteri, 3, sampler, pname, param); + glad_glSamplerParameteri(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameteri", (GLADapiproc) glad_glSamplerParameteri, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri = glad_debug_impl_glSamplerParameteri; +PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * param) { + _pre_call_gl_callback("glSamplerParameteriv", (GLADapiproc) glad_glSamplerParameteriv, 3, sampler, pname, param); + glad_glSamplerParameteriv(sampler, pname, param); + _post_call_gl_callback(NULL, "glSamplerParameteriv", (GLADapiproc) glad_glSamplerParameteriv, 3, sampler, pname, param); + +} +PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv = glad_debug_impl_glSamplerParameteriv; +PFNGLSCISSORPROC glad_glScissor = NULL; +static void GLAD_API_PTR glad_debug_impl_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glScissor", (GLADapiproc) glad_glScissor, 4, x, y, width, height); + glad_glScissor(x, y, width, height); + _post_call_gl_callback(NULL, "glScissor", (GLADapiproc) glad_glScissor, 4, x, y, width, height); + +} +PFNGLSCISSORPROC glad_debug_glScissor = glad_debug_impl_glScissor; +PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL; +static void GLAD_API_PTR glad_debug_impl_glScissorArrayv(GLuint first, GLsizei count, const GLint * v) { + _pre_call_gl_callback("glScissorArrayv", (GLADapiproc) glad_glScissorArrayv, 3, first, count, v); + glad_glScissorArrayv(first, count, v); + _post_call_gl_callback(NULL, "glScissorArrayv", (GLADapiproc) glad_glScissorArrayv, 3, first, count, v); + +} +PFNGLSCISSORARRAYVPROC glad_debug_glScissorArrayv = glad_debug_impl_glScissorArrayv; +PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glScissorIndexed", (GLADapiproc) glad_glScissorIndexed, 5, index, left, bottom, width, height); + glad_glScissorIndexed(index, left, bottom, width, height); + _post_call_gl_callback(NULL, "glScissorIndexed", (GLADapiproc) glad_glScissorIndexed, 5, index, left, bottom, width, height); + +} +PFNGLSCISSORINDEXEDPROC glad_debug_glScissorIndexed = glad_debug_impl_glScissorIndexed; +PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL; +static void GLAD_API_PTR glad_debug_impl_glScissorIndexedv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glScissorIndexedv", (GLADapiproc) glad_glScissorIndexedv, 2, index, v); + glad_glScissorIndexedv(index, v); + _post_call_gl_callback(NULL, "glScissorIndexedv", (GLADapiproc) glad_glScissorIndexedv, 2, index, v); + +} +PFNGLSCISSORINDEXEDVPROC glad_debug_glScissorIndexedv = glad_debug_impl_glScissorIndexedv; +PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL; +static void GLAD_API_PTR glad_debug_impl_glShaderBinary(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length) { + _pre_call_gl_callback("glShaderBinary", (GLADapiproc) glad_glShaderBinary, 5, count, shaders, binaryFormat, binary, length); + glad_glShaderBinary(count, shaders, binaryFormat, binary, length); + _post_call_gl_callback(NULL, "glShaderBinary", (GLADapiproc) glad_glShaderBinary, 5, count, shaders, binaryFormat, binary, length); + +} +PFNGLSHADERBINARYPROC glad_debug_glShaderBinary = glad_debug_impl_glShaderBinary; +PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL; +static void GLAD_API_PTR glad_debug_impl_glShaderSource(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length) { + _pre_call_gl_callback("glShaderSource", (GLADapiproc) glad_glShaderSource, 4, shader, count, string, length); + glad_glShaderSource(shader, count, string, length); + _post_call_gl_callback(NULL, "glShaderSource", (GLADapiproc) glad_glShaderSource, 4, shader, count, string, length); + +} +PFNGLSHADERSOURCEPROC glad_debug_glShaderSource = glad_debug_impl_glShaderSource; +PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length) { + _pre_call_gl_callback("glShaderSourceARB", (GLADapiproc) glad_glShaderSourceARB, 4, shaderObj, count, string, length); + glad_glShaderSourceARB(shaderObj, count, string, length); + _post_call_gl_callback(NULL, "glShaderSourceARB", (GLADapiproc) glad_glShaderSourceARB, 4, shaderObj, count, string, length); + +} +PFNGLSHADERSOURCEARBPROC glad_debug_glShaderSourceARB = glad_debug_impl_glShaderSourceARB; +PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL; +static void GLAD_API_PTR glad_debug_impl_glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { + _pre_call_gl_callback("glShaderStorageBlockBinding", (GLADapiproc) glad_glShaderStorageBlockBinding, 3, program, storageBlockIndex, storageBlockBinding); + glad_glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + _post_call_gl_callback(NULL, "glShaderStorageBlockBinding", (GLADapiproc) glad_glShaderStorageBlockBinding, 3, program, storageBlockIndex, storageBlockBinding); + +} +PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_debug_glShaderStorageBlockBinding = glad_debug_impl_glShaderStorageBlockBinding; +PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader = NULL; +static void GLAD_API_PTR glad_debug_impl_glSpecializeShader(GLuint shader, const GLchar * pEntryPoint, GLuint numSpecializationConstants, const GLuint * pConstantIndex, const GLuint * pConstantValue) { + _pre_call_gl_callback("glSpecializeShader", (GLADapiproc) glad_glSpecializeShader, 5, shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + glad_glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + _post_call_gl_callback(NULL, "glSpecializeShader", (GLADapiproc) glad_glSpecializeShader, 5, shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + +} +PFNGLSPECIALIZESHADERPROC glad_debug_glSpecializeShader = glad_debug_impl_glSpecializeShader; +PFNGLSPECIALIZESHADERARBPROC glad_glSpecializeShaderARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glSpecializeShaderARB(GLuint shader, const GLchar * pEntryPoint, GLuint numSpecializationConstants, const GLuint * pConstantIndex, const GLuint * pConstantValue) { + _pre_call_gl_callback("glSpecializeShaderARB", (GLADapiproc) glad_glSpecializeShaderARB, 5, shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + glad_glSpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + _post_call_gl_callback(NULL, "glSpecializeShaderARB", (GLADapiproc) glad_glSpecializeShaderARB, 5, shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + +} +PFNGLSPECIALIZESHADERARBPROC glad_debug_glSpecializeShaderARB = glad_debug_impl_glSpecializeShaderARB; +PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilFunc(GLenum func, GLint ref, GLuint mask) { + _pre_call_gl_callback("glStencilFunc", (GLADapiproc) glad_glStencilFunc, 3, func, ref, mask); + glad_glStencilFunc(func, ref, mask); + _post_call_gl_callback(NULL, "glStencilFunc", (GLADapiproc) glad_glStencilFunc, 3, func, ref, mask); + +} +PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc = glad_debug_impl_glStencilFunc; +PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { + _pre_call_gl_callback("glStencilFuncSeparate", (GLADapiproc) glad_glStencilFuncSeparate, 4, face, func, ref, mask); + glad_glStencilFuncSeparate(face, func, ref, mask); + _post_call_gl_callback(NULL, "glStencilFuncSeparate", (GLADapiproc) glad_glStencilFuncSeparate, 4, face, func, ref, mask); + +} +PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate = glad_debug_impl_glStencilFuncSeparate; +PFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) { + _pre_call_gl_callback("glStencilFuncSeparateATI", (GLADapiproc) glad_glStencilFuncSeparateATI, 4, frontfunc, backfunc, ref, mask); + glad_glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask); + _post_call_gl_callback(NULL, "glStencilFuncSeparateATI", (GLADapiproc) glad_glStencilFuncSeparateATI, 4, frontfunc, backfunc, ref, mask); + +} +PFNGLSTENCILFUNCSEPARATEATIPROC glad_debug_glStencilFuncSeparateATI = glad_debug_impl_glStencilFuncSeparateATI; +PFNGLSTENCILMASKPROC glad_glStencilMask = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilMask(GLuint mask) { + _pre_call_gl_callback("glStencilMask", (GLADapiproc) glad_glStencilMask, 1, mask); + glad_glStencilMask(mask); + _post_call_gl_callback(NULL, "glStencilMask", (GLADapiproc) glad_glStencilMask, 1, mask); + +} +PFNGLSTENCILMASKPROC glad_debug_glStencilMask = glad_debug_impl_glStencilMask; +PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilMaskSeparate(GLenum face, GLuint mask) { + _pre_call_gl_callback("glStencilMaskSeparate", (GLADapiproc) glad_glStencilMaskSeparate, 2, face, mask); + glad_glStencilMaskSeparate(face, mask); + _post_call_gl_callback(NULL, "glStencilMaskSeparate", (GLADapiproc) glad_glStencilMaskSeparate, 2, face, mask); + +} +PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate = glad_debug_impl_glStencilMaskSeparate; +PFNGLSTENCILOPPROC glad_glStencilOp = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { + _pre_call_gl_callback("glStencilOp", (GLADapiproc) glad_glStencilOp, 3, fail, zfail, zpass); + glad_glStencilOp(fail, zfail, zpass); + _post_call_gl_callback(NULL, "glStencilOp", (GLADapiproc) glad_glStencilOp, 3, fail, zfail, zpass); + +} +PFNGLSTENCILOPPROC glad_debug_glStencilOp = glad_debug_impl_glStencilOp; +PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { + _pre_call_gl_callback("glStencilOpSeparate", (GLADapiproc) glad_glStencilOpSeparate, 4, face, sfail, dpfail, dppass); + glad_glStencilOpSeparate(face, sfail, dpfail, dppass); + _post_call_gl_callback(NULL, "glStencilOpSeparate", (GLADapiproc) glad_glStencilOpSeparate, 4, face, sfail, dpfail, dppass); + +} +PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate = glad_debug_impl_glStencilOpSeparate; +PFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI = NULL; +static void GLAD_API_PTR glad_debug_impl_glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { + _pre_call_gl_callback("glStencilOpSeparateATI", (GLADapiproc) glad_glStencilOpSeparateATI, 4, face, sfail, dpfail, dppass); + glad_glStencilOpSeparateATI(face, sfail, dpfail, dppass); + _post_call_gl_callback(NULL, "glStencilOpSeparateATI", (GLADapiproc) glad_glStencilOpSeparateATI, 4, face, sfail, dpfail, dppass); + +} +PFNGLSTENCILOPSEPARATEATIPROC glad_debug_glStencilOpSeparateATI = glad_debug_impl_glStencilOpSeparateATI; +PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glTexBuffer", (GLADapiproc) glad_glTexBuffer, 3, target, internalformat, buffer); + glad_glTexBuffer(target, internalformat, buffer); + _post_call_gl_callback(NULL, "glTexBuffer", (GLADapiproc) glad_glTexBuffer, 3, target, internalformat, buffer); + +} +PFNGLTEXBUFFERPROC glad_debug_glTexBuffer = glad_debug_impl_glTexBuffer; +PFNGLTEXBUFFERARBPROC glad_glTexBufferARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glTexBufferARB", (GLADapiproc) glad_glTexBufferARB, 3, target, internalformat, buffer); + glad_glTexBufferARB(target, internalformat, buffer); + _post_call_gl_callback(NULL, "glTexBufferARB", (GLADapiproc) glad_glTexBufferARB, 3, target, internalformat, buffer); + +} +PFNGLTEXBUFFERARBPROC glad_debug_glTexBufferARB = glad_debug_impl_glTexBufferARB; +PFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glTexBufferEXT", (GLADapiproc) glad_glTexBufferEXT, 3, target, internalformat, buffer); + glad_glTexBufferEXT(target, internalformat, buffer); + _post_call_gl_callback(NULL, "glTexBufferEXT", (GLADapiproc) glad_glTexBufferEXT, 3, target, internalformat, buffer); + +} +PFNGLTEXBUFFEREXTPROC glad_debug_glTexBufferEXT = glad_debug_impl_glTexBufferEXT; +PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glTexBufferRange", (GLADapiproc) glad_glTexBufferRange, 5, target, internalformat, buffer, offset, size); + glad_glTexBufferRange(target, internalformat, buffer, offset, size); + _post_call_gl_callback(NULL, "glTexBufferRange", (GLADapiproc) glad_glTexBufferRange, 5, target, internalformat, buffer, offset, size); + +} +PFNGLTEXBUFFERRANGEPROC glad_debug_glTexBufferRange = glad_debug_impl_glTexBufferRange; +PFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer) { + _pre_call_gl_callback("glTexCoordPointerEXT", (GLADapiproc) glad_glTexCoordPointerEXT, 5, size, type, stride, count, pointer); + glad_glTexCoordPointerEXT(size, type, stride, count, pointer); + _post_call_gl_callback(NULL, "glTexCoordPointerEXT", (GLADapiproc) glad_glTexCoordPointerEXT, 5, size, type, stride, count, pointer); + +} +PFNGLTEXCOORDPOINTEREXTPROC glad_debug_glTexCoordPointerEXT = glad_debug_impl_glTexCoordPointerEXT; +PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexImage1D", (GLADapiproc) glad_glTexImage1D, 8, target, level, internalformat, width, border, format, type, pixels); + glad_glTexImage1D(target, level, internalformat, width, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTexImage1D", (GLADapiproc) glad_glTexImage1D, 8, target, level, internalformat, width, border, format, type, pixels); + +} +PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D = glad_debug_impl_glTexImage1D; +PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexImage2D", (GLADapiproc) glad_glTexImage2D, 9, target, level, internalformat, width, height, border, format, type, pixels); + glad_glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTexImage2D", (GLADapiproc) glad_glTexImage2D, 9, target, level, internalformat, width, height, border, format, type, pixels); + +} +PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D = glad_debug_impl_glTexImage2D; +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTexImage2DMultisample", (GLADapiproc) glad_glTexImage2DMultisample, 6, target, samples, internalformat, width, height, fixedsamplelocations); + glad_glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTexImage2DMultisample", (GLADapiproc) glad_glTexImage2DMultisample, 6, target, samples, internalformat, width, height, fixedsamplelocations); + +} +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample = glad_debug_impl_glTexImage2DMultisample; +PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexImage3D", (GLADapiproc) glad_glTexImage3D, 10, target, level, internalformat, width, height, depth, border, format, type, pixels); + glad_glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTexImage3D", (GLADapiproc) glad_glTexImage3D, 10, target, level, internalformat, width, height, depth, border, format, type, pixels); + +} +PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D = glad_debug_impl_glTexImage3D; +PFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexImage3DEXT", (GLADapiproc) glad_glTexImage3DEXT, 10, target, level, internalformat, width, height, depth, border, format, type, pixels); + glad_glTexImage3DEXT(target, level, internalformat, width, height, depth, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTexImage3DEXT", (GLADapiproc) glad_glTexImage3DEXT, 10, target, level, internalformat, width, height, depth, border, format, type, pixels); + +} +PFNGLTEXIMAGE3DEXTPROC glad_debug_glTexImage3DEXT = glad_debug_impl_glTexImage3DEXT; +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTexImage3DMultisample", (GLADapiproc) glad_glTexImage3DMultisample, 7, target, samples, internalformat, width, height, depth, fixedsamplelocations); + glad_glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTexImage3DMultisample", (GLADapiproc) glad_glTexImage3DMultisample, 7, target, samples, internalformat, width, height, depth, fixedsamplelocations); + +} +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample = glad_debug_impl_glTexImage3DMultisample; +PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterIiv(GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTexParameterIiv", (GLADapiproc) glad_glTexParameterIiv, 3, target, pname, params); + glad_glTexParameterIiv(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameterIiv", (GLADapiproc) glad_glTexParameterIiv, 3, target, pname, params); + +} +PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv = glad_debug_impl_glTexParameterIiv; +PFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTexParameterIivEXT", (GLADapiproc) glad_glTexParameterIivEXT, 3, target, pname, params); + glad_glTexParameterIivEXT(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameterIivEXT", (GLADapiproc) glad_glTexParameterIivEXT, 3, target, pname, params); + +} +PFNGLTEXPARAMETERIIVEXTPROC glad_debug_glTexParameterIivEXT = glad_debug_impl_glTexParameterIivEXT; +PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint * params) { + _pre_call_gl_callback("glTexParameterIuiv", (GLADapiproc) glad_glTexParameterIuiv, 3, target, pname, params); + glad_glTexParameterIuiv(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameterIuiv", (GLADapiproc) glad_glTexParameterIuiv, 3, target, pname, params); + +} +PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv = glad_debug_impl_glTexParameterIuiv; +PFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint * params) { + _pre_call_gl_callback("glTexParameterIuivEXT", (GLADapiproc) glad_glTexParameterIuivEXT, 3, target, pname, params); + glad_glTexParameterIuivEXT(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameterIuivEXT", (GLADapiproc) glad_glTexParameterIuivEXT, 3, target, pname, params); + +} +PFNGLTEXPARAMETERIUIVEXTPROC glad_debug_glTexParameterIuivEXT = glad_debug_impl_glTexParameterIuivEXT; +PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterf(GLenum target, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glTexParameterf", (GLADapiproc) glad_glTexParameterf, 3, target, pname, param); + glad_glTexParameterf(target, pname, param); + _post_call_gl_callback(NULL, "glTexParameterf", (GLADapiproc) glad_glTexParameterf, 3, target, pname, param); + +} +PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf = glad_debug_impl_glTexParameterf; +PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glTexParameterfv", (GLADapiproc) glad_glTexParameterfv, 3, target, pname, params); + glad_glTexParameterfv(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameterfv", (GLADapiproc) glad_glTexParameterfv, 3, target, pname, params); + +} +PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv = glad_debug_impl_glTexParameterfv; +PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameteri(GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glTexParameteri", (GLADapiproc) glad_glTexParameteri, 3, target, pname, param); + glad_glTexParameteri(target, pname, param); + _post_call_gl_callback(NULL, "glTexParameteri", (GLADapiproc) glad_glTexParameteri, 3, target, pname, param); + +} +PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri = glad_debug_impl_glTexParameteri; +PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexParameteriv(GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTexParameteriv", (GLADapiproc) glad_glTexParameteriv, 3, target, pname, params); + glad_glTexParameteriv(target, pname, params); + _post_call_gl_callback(NULL, "glTexParameteriv", (GLADapiproc) glad_glTexParameteriv, 3, target, pname, params); + +} +PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv = glad_debug_impl_glTexParameteriv; +PFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexRenderbufferNV(GLenum target, GLuint renderbuffer) { + _pre_call_gl_callback("glTexRenderbufferNV", (GLADapiproc) glad_glTexRenderbufferNV, 2, target, renderbuffer); + glad_glTexRenderbufferNV(target, renderbuffer); + _post_call_gl_callback(NULL, "glTexRenderbufferNV", (GLADapiproc) glad_glTexRenderbufferNV, 2, target, renderbuffer); + +} +PFNGLTEXRENDERBUFFERNVPROC glad_debug_glTexRenderbufferNV = glad_debug_impl_glTexRenderbufferNV; +PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { + _pre_call_gl_callback("glTexStorage1D", (GLADapiproc) glad_glTexStorage1D, 4, target, levels, internalformat, width); + glad_glTexStorage1D(target, levels, internalformat, width); + _post_call_gl_callback(NULL, "glTexStorage1D", (GLADapiproc) glad_glTexStorage1D, 4, target, levels, internalformat, width); + +} +PFNGLTEXSTORAGE1DPROC glad_debug_glTexStorage1D = glad_debug_impl_glTexStorage1D; +PFNGLTEXSTORAGE1DEXTPROC glad_glTexStorage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { + _pre_call_gl_callback("glTexStorage1DEXT", (GLADapiproc) glad_glTexStorage1DEXT, 4, target, levels, internalformat, width); + glad_glTexStorage1DEXT(target, levels, internalformat, width); + _post_call_gl_callback(NULL, "glTexStorage1DEXT", (GLADapiproc) glad_glTexStorage1DEXT, 4, target, levels, internalformat, width); + +} +PFNGLTEXSTORAGE1DEXTPROC glad_debug_glTexStorage1DEXT = glad_debug_impl_glTexStorage1DEXT; +PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glTexStorage2D", (GLADapiproc) glad_glTexStorage2D, 5, target, levels, internalformat, width, height); + glad_glTexStorage2D(target, levels, internalformat, width, height); + _post_call_gl_callback(NULL, "glTexStorage2D", (GLADapiproc) glad_glTexStorage2D, 5, target, levels, internalformat, width, height); + +} +PFNGLTEXSTORAGE2DPROC glad_debug_glTexStorage2D = glad_debug_impl_glTexStorage2D; +PFNGLTEXSTORAGE2DEXTPROC glad_glTexStorage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glTexStorage2DEXT", (GLADapiproc) glad_glTexStorage2DEXT, 5, target, levels, internalformat, width, height); + glad_glTexStorage2DEXT(target, levels, internalformat, width, height); + _post_call_gl_callback(NULL, "glTexStorage2DEXT", (GLADapiproc) glad_glTexStorage2DEXT, 5, target, levels, internalformat, width, height); + +} +PFNGLTEXSTORAGE2DEXTPROC glad_debug_glTexStorage2DEXT = glad_debug_impl_glTexStorage2DEXT; +PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTexStorage2DMultisample", (GLADapiproc) glad_glTexStorage2DMultisample, 6, target, samples, internalformat, width, height, fixedsamplelocations); + glad_glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTexStorage2DMultisample", (GLADapiproc) glad_glTexStorage2DMultisample, 6, target, samples, internalformat, width, height, fixedsamplelocations); + +} +PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_debug_glTexStorage2DMultisample = glad_debug_impl_glTexStorage2DMultisample; +PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { + _pre_call_gl_callback("glTexStorage3D", (GLADapiproc) glad_glTexStorage3D, 6, target, levels, internalformat, width, height, depth); + glad_glTexStorage3D(target, levels, internalformat, width, height, depth); + _post_call_gl_callback(NULL, "glTexStorage3D", (GLADapiproc) glad_glTexStorage3D, 6, target, levels, internalformat, width, height, depth); + +} +PFNGLTEXSTORAGE3DPROC glad_debug_glTexStorage3D = glad_debug_impl_glTexStorage3D; +PFNGLTEXSTORAGE3DEXTPROC glad_glTexStorage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { + _pre_call_gl_callback("glTexStorage3DEXT", (GLADapiproc) glad_glTexStorage3DEXT, 6, target, levels, internalformat, width, height, depth); + glad_glTexStorage3DEXT(target, levels, internalformat, width, height, depth); + _post_call_gl_callback(NULL, "glTexStorage3DEXT", (GLADapiproc) glad_glTexStorage3DEXT, 6, target, levels, internalformat, width, height, depth); + +} +PFNGLTEXSTORAGE3DEXTPROC glad_debug_glTexStorage3DEXT = glad_debug_impl_glTexStorage3DEXT; +PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTexStorage3DMultisample", (GLADapiproc) glad_glTexStorage3DMultisample, 7, target, samples, internalformat, width, height, depth, fixedsamplelocations); + glad_glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTexStorage3DMultisample", (GLADapiproc) glad_glTexStorage3DMultisample, 7, target, samples, internalformat, width, height, depth, fixedsamplelocations); + +} +PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_debug_glTexStorage3DMultisample = glad_debug_impl_glTexStorage3DMultisample; +PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage1D", (GLADapiproc) glad_glTexSubImage1D, 7, target, level, xoffset, width, format, type, pixels); + glad_glTexSubImage1D(target, level, xoffset, width, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage1D", (GLADapiproc) glad_glTexSubImage1D, 7, target, level, xoffset, width, format, type, pixels); + +} +PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D = glad_debug_impl_glTexSubImage1D; +PFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage1DEXT", (GLADapiproc) glad_glTexSubImage1DEXT, 7, target, level, xoffset, width, format, type, pixels); + glad_glTexSubImage1DEXT(target, level, xoffset, width, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage1DEXT", (GLADapiproc) glad_glTexSubImage1DEXT, 7, target, level, xoffset, width, format, type, pixels); + +} +PFNGLTEXSUBIMAGE1DEXTPROC glad_debug_glTexSubImage1DEXT = glad_debug_impl_glTexSubImage1DEXT; +PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage2D", (GLADapiproc) glad_glTexSubImage2D, 9, target, level, xoffset, yoffset, width, height, format, type, pixels); + glad_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage2D", (GLADapiproc) glad_glTexSubImage2D, 9, target, level, xoffset, yoffset, width, height, format, type, pixels); + +} +PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D = glad_debug_impl_glTexSubImage2D; +PFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage2DEXT", (GLADapiproc) glad_glTexSubImage2DEXT, 9, target, level, xoffset, yoffset, width, height, format, type, pixels); + glad_glTexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage2DEXT", (GLADapiproc) glad_glTexSubImage2DEXT, 9, target, level, xoffset, yoffset, width, height, format, type, pixels); + +} +PFNGLTEXSUBIMAGE2DEXTPROC glad_debug_glTexSubImage2DEXT = glad_debug_impl_glTexSubImage2DEXT; +PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage3D", (GLADapiproc) glad_glTexSubImage3D, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glad_glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage3D", (GLADapiproc) glad_glTexSubImage3D, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + +} +PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D = glad_debug_impl_glTexSubImage3D; +PFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTexSubImage3DEXT", (GLADapiproc) glad_glTexSubImage3DEXT, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glad_glTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + _post_call_gl_callback(NULL, "glTexSubImage3DEXT", (GLADapiproc) glad_glTexSubImage3DEXT, 11, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + +} +PFNGLTEXSUBIMAGE3DEXTPROC glad_debug_glTexSubImage3DEXT = glad_debug_impl_glTexSubImage3DEXT; +PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureBarrier(void) { + _pre_call_gl_callback("glTextureBarrier", (GLADapiproc) glad_glTextureBarrier, 0); + glad_glTextureBarrier(); + _post_call_gl_callback(NULL, "glTextureBarrier", (GLADapiproc) glad_glTextureBarrier, 0); + +} +PFNGLTEXTUREBARRIERPROC glad_debug_glTextureBarrier = glad_debug_impl_glTextureBarrier; +PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glTextureBuffer", (GLADapiproc) glad_glTextureBuffer, 3, texture, internalformat, buffer); + glad_glTextureBuffer(texture, internalformat, buffer); + _post_call_gl_callback(NULL, "glTextureBuffer", (GLADapiproc) glad_glTextureBuffer, 3, texture, internalformat, buffer); + +} +PFNGLTEXTUREBUFFERPROC glad_debug_glTextureBuffer = glad_debug_impl_glTextureBuffer; +PFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) { + _pre_call_gl_callback("glTextureBufferEXT", (GLADapiproc) glad_glTextureBufferEXT, 4, texture, target, internalformat, buffer); + glad_glTextureBufferEXT(texture, target, internalformat, buffer); + _post_call_gl_callback(NULL, "glTextureBufferEXT", (GLADapiproc) glad_glTextureBufferEXT, 4, texture, target, internalformat, buffer); + +} +PFNGLTEXTUREBUFFEREXTPROC glad_debug_glTextureBufferEXT = glad_debug_impl_glTextureBufferEXT; +PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureBufferRange(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glTextureBufferRange", (GLADapiproc) glad_glTextureBufferRange, 5, texture, internalformat, buffer, offset, size); + glad_glTextureBufferRange(texture, internalformat, buffer, offset, size); + _post_call_gl_callback(NULL, "glTextureBufferRange", (GLADapiproc) glad_glTextureBufferRange, 5, texture, internalformat, buffer, offset, size); + +} +PFNGLTEXTUREBUFFERRANGEPROC glad_debug_glTextureBufferRange = glad_debug_impl_glTextureBufferRange; +PFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glTextureBufferRangeEXT", (GLADapiproc) glad_glTextureBufferRangeEXT, 6, texture, target, internalformat, buffer, offset, size); + glad_glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size); + _post_call_gl_callback(NULL, "glTextureBufferRangeEXT", (GLADapiproc) glad_glTextureBufferRangeEXT, 6, texture, target, internalformat, buffer, offset, size); + +} +PFNGLTEXTUREBUFFERRANGEEXTPROC glad_debug_glTextureBufferRangeEXT = glad_debug_impl_glTextureBufferRangeEXT; +PFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureImage1DEXT", (GLADapiproc) glad_glTextureImage1DEXT, 9, texture, target, level, internalformat, width, border, format, type, pixels); + glad_glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureImage1DEXT", (GLADapiproc) glad_glTextureImage1DEXT, 9, texture, target, level, internalformat, width, border, format, type, pixels); + +} +PFNGLTEXTUREIMAGE1DEXTPROC glad_debug_glTextureImage1DEXT = glad_debug_impl_glTextureImage1DEXT; +PFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureImage2DEXT", (GLADapiproc) glad_glTextureImage2DEXT, 10, texture, target, level, internalformat, width, height, border, format, type, pixels); + glad_glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureImage2DEXT", (GLADapiproc) glad_glTextureImage2DEXT, 10, texture, target, level, internalformat, width, height, border, format, type, pixels); + +} +PFNGLTEXTUREIMAGE2DEXTPROC glad_debug_glTextureImage2DEXT = glad_debug_impl_glTextureImage2DEXT; +PFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureImage3DEXT", (GLADapiproc) glad_glTextureImage3DEXT, 11, texture, target, level, internalformat, width, height, depth, border, format, type, pixels); + glad_glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureImage3DEXT", (GLADapiproc) glad_glTextureImage3DEXT, 11, texture, target, level, internalformat, width, height, depth, border, format, type, pixels); + +} +PFNGLTEXTUREIMAGE3DEXTPROC glad_debug_glTextureImage3DEXT = glad_debug_impl_glTextureImage3DEXT; +PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTexturePageCommitmentEXT(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) { + _pre_call_gl_callback("glTexturePageCommitmentEXT", (GLADapiproc) glad_glTexturePageCommitmentEXT, 9, texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); + glad_glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); + _post_call_gl_callback(NULL, "glTexturePageCommitmentEXT", (GLADapiproc) glad_glTexturePageCommitmentEXT, 9, texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); + +} +PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_debug_glTexturePageCommitmentEXT = glad_debug_impl_glTexturePageCommitmentEXT; +PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterIiv(GLuint texture, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTextureParameterIiv", (GLADapiproc) glad_glTextureParameterIiv, 3, texture, pname, params); + glad_glTextureParameterIiv(texture, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterIiv", (GLADapiproc) glad_glTextureParameterIiv, 3, texture, pname, params); + +} +PFNGLTEXTUREPARAMETERIIVPROC glad_debug_glTextureParameterIiv = glad_debug_impl_glTextureParameterIiv; +PFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTextureParameterIivEXT", (GLADapiproc) glad_glTextureParameterIivEXT, 4, texture, target, pname, params); + glad_glTextureParameterIivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterIivEXT", (GLADapiproc) glad_glTextureParameterIivEXT, 4, texture, target, pname, params); + +} +PFNGLTEXTUREPARAMETERIIVEXTPROC glad_debug_glTextureParameterIivEXT = glad_debug_impl_glTextureParameterIivEXT; +PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterIuiv(GLuint texture, GLenum pname, const GLuint * params) { + _pre_call_gl_callback("glTextureParameterIuiv", (GLADapiproc) glad_glTextureParameterIuiv, 3, texture, pname, params); + glad_glTextureParameterIuiv(texture, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterIuiv", (GLADapiproc) glad_glTextureParameterIuiv, 3, texture, pname, params); + +} +PFNGLTEXTUREPARAMETERIUIVPROC glad_debug_glTextureParameterIuiv = glad_debug_impl_glTextureParameterIuiv; +PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint * params) { + _pre_call_gl_callback("glTextureParameterIuivEXT", (GLADapiproc) glad_glTextureParameterIuivEXT, 4, texture, target, pname, params); + glad_glTextureParameterIuivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterIuivEXT", (GLADapiproc) glad_glTextureParameterIuivEXT, 4, texture, target, pname, params); + +} +PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_debug_glTextureParameterIuivEXT = glad_debug_impl_glTextureParameterIuivEXT; +PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterf(GLuint texture, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glTextureParameterf", (GLADapiproc) glad_glTextureParameterf, 3, texture, pname, param); + glad_glTextureParameterf(texture, pname, param); + _post_call_gl_callback(NULL, "glTextureParameterf", (GLADapiproc) glad_glTextureParameterf, 3, texture, pname, param); + +} +PFNGLTEXTUREPARAMETERFPROC glad_debug_glTextureParameterf = glad_debug_impl_glTextureParameterf; +PFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) { + _pre_call_gl_callback("glTextureParameterfEXT", (GLADapiproc) glad_glTextureParameterfEXT, 4, texture, target, pname, param); + glad_glTextureParameterfEXT(texture, target, pname, param); + _post_call_gl_callback(NULL, "glTextureParameterfEXT", (GLADapiproc) glad_glTextureParameterfEXT, 4, texture, target, pname, param); + +} +PFNGLTEXTUREPARAMETERFEXTPROC glad_debug_glTextureParameterfEXT = glad_debug_impl_glTextureParameterfEXT; +PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat * param) { + _pre_call_gl_callback("glTextureParameterfv", (GLADapiproc) glad_glTextureParameterfv, 3, texture, pname, param); + glad_glTextureParameterfv(texture, pname, param); + _post_call_gl_callback(NULL, "glTextureParameterfv", (GLADapiproc) glad_glTextureParameterfv, 3, texture, pname, param); + +} +PFNGLTEXTUREPARAMETERFVPROC glad_debug_glTextureParameterfv = glad_debug_impl_glTextureParameterfv; +PFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat * params) { + _pre_call_gl_callback("glTextureParameterfvEXT", (GLADapiproc) glad_glTextureParameterfvEXT, 4, texture, target, pname, params); + glad_glTextureParameterfvEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterfvEXT", (GLADapiproc) glad_glTextureParameterfvEXT, 4, texture, target, pname, params); + +} +PFNGLTEXTUREPARAMETERFVEXTPROC glad_debug_glTextureParameterfvEXT = glad_debug_impl_glTextureParameterfvEXT; +PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameteri(GLuint texture, GLenum pname, GLint param) { + _pre_call_gl_callback("glTextureParameteri", (GLADapiproc) glad_glTextureParameteri, 3, texture, pname, param); + glad_glTextureParameteri(texture, pname, param); + _post_call_gl_callback(NULL, "glTextureParameteri", (GLADapiproc) glad_glTextureParameteri, 3, texture, pname, param); + +} +PFNGLTEXTUREPARAMETERIPROC glad_debug_glTextureParameteri = glad_debug_impl_glTextureParameteri; +PFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) { + _pre_call_gl_callback("glTextureParameteriEXT", (GLADapiproc) glad_glTextureParameteriEXT, 4, texture, target, pname, param); + glad_glTextureParameteriEXT(texture, target, pname, param); + _post_call_gl_callback(NULL, "glTextureParameteriEXT", (GLADapiproc) glad_glTextureParameteriEXT, 4, texture, target, pname, param); + +} +PFNGLTEXTUREPARAMETERIEXTPROC glad_debug_glTextureParameteriEXT = glad_debug_impl_glTextureParameteriEXT; +PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameteriv(GLuint texture, GLenum pname, const GLint * param) { + _pre_call_gl_callback("glTextureParameteriv", (GLADapiproc) glad_glTextureParameteriv, 3, texture, pname, param); + glad_glTextureParameteriv(texture, pname, param); + _post_call_gl_callback(NULL, "glTextureParameteriv", (GLADapiproc) glad_glTextureParameteriv, 3, texture, pname, param); + +} +PFNGLTEXTUREPARAMETERIVPROC glad_debug_glTextureParameteriv = glad_debug_impl_glTextureParameteriv; +PFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint * params) { + _pre_call_gl_callback("glTextureParameterivEXT", (GLADapiproc) glad_glTextureParameterivEXT, 4, texture, target, pname, params); + glad_glTextureParameterivEXT(texture, target, pname, params); + _post_call_gl_callback(NULL, "glTextureParameterivEXT", (GLADapiproc) glad_glTextureParameterivEXT, 4, texture, target, pname, params); + +} +PFNGLTEXTUREPARAMETERIVEXTPROC glad_debug_glTextureParameterivEXT = glad_debug_impl_glTextureParameterivEXT; +PFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer) { + _pre_call_gl_callback("glTextureRenderbufferEXT", (GLADapiproc) glad_glTextureRenderbufferEXT, 3, texture, target, renderbuffer); + glad_glTextureRenderbufferEXT(texture, target, renderbuffer); + _post_call_gl_callback(NULL, "glTextureRenderbufferEXT", (GLADapiproc) glad_glTextureRenderbufferEXT, 3, texture, target, renderbuffer); + +} +PFNGLTEXTURERENDERBUFFEREXTPROC glad_debug_glTextureRenderbufferEXT = glad_debug_impl_glTextureRenderbufferEXT; +PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage1D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) { + _pre_call_gl_callback("glTextureStorage1D", (GLADapiproc) glad_glTextureStorage1D, 4, texture, levels, internalformat, width); + glad_glTextureStorage1D(texture, levels, internalformat, width); + _post_call_gl_callback(NULL, "glTextureStorage1D", (GLADapiproc) glad_glTextureStorage1D, 4, texture, levels, internalformat, width); + +} +PFNGLTEXTURESTORAGE1DPROC glad_debug_glTextureStorage1D = glad_debug_impl_glTextureStorage1D; +PFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { + _pre_call_gl_callback("glTextureStorage1DEXT", (GLADapiproc) glad_glTextureStorage1DEXT, 5, texture, target, levels, internalformat, width); + glad_glTextureStorage1DEXT(texture, target, levels, internalformat, width); + _post_call_gl_callback(NULL, "glTextureStorage1DEXT", (GLADapiproc) glad_glTextureStorage1DEXT, 5, texture, target, levels, internalformat, width); + +} +PFNGLTEXTURESTORAGE1DEXTPROC glad_debug_glTextureStorage1DEXT = glad_debug_impl_glTextureStorage1DEXT; +PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glTextureStorage2D", (GLADapiproc) glad_glTextureStorage2D, 5, texture, levels, internalformat, width, height); + glad_glTextureStorage2D(texture, levels, internalformat, width, height); + _post_call_gl_callback(NULL, "glTextureStorage2D", (GLADapiproc) glad_glTextureStorage2D, 5, texture, levels, internalformat, width, height); + +} +PFNGLTEXTURESTORAGE2DPROC glad_debug_glTextureStorage2D = glad_debug_impl_glTextureStorage2D; +PFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glTextureStorage2DEXT", (GLADapiproc) glad_glTextureStorage2DEXT, 6, texture, target, levels, internalformat, width, height); + glad_glTextureStorage2DEXT(texture, target, levels, internalformat, width, height); + _post_call_gl_callback(NULL, "glTextureStorage2DEXT", (GLADapiproc) glad_glTextureStorage2DEXT, 6, texture, target, levels, internalformat, width, height); + +} +PFNGLTEXTURESTORAGE2DEXTPROC glad_debug_glTextureStorage2DEXT = glad_debug_impl_glTextureStorage2DEXT; +PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTextureStorage2DMultisample", (GLADapiproc) glad_glTextureStorage2DMultisample, 6, texture, samples, internalformat, width, height, fixedsamplelocations); + glad_glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTextureStorage2DMultisample", (GLADapiproc) glad_glTextureStorage2DMultisample, 6, texture, samples, internalformat, width, height, fixedsamplelocations); + +} +PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_debug_glTextureStorage2DMultisample = glad_debug_impl_glTextureStorage2DMultisample; +PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTextureStorage2DMultisampleEXT", (GLADapiproc) glad_glTextureStorage2DMultisampleEXT, 7, texture, target, samples, internalformat, width, height, fixedsamplelocations); + glad_glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTextureStorage2DMultisampleEXT", (GLADapiproc) glad_glTextureStorage2DMultisampleEXT, 7, texture, target, samples, internalformat, width, height, fixedsamplelocations); + +} +PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_debug_glTextureStorage2DMultisampleEXT = glad_debug_impl_glTextureStorage2DMultisampleEXT; +PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { + _pre_call_gl_callback("glTextureStorage3D", (GLADapiproc) glad_glTextureStorage3D, 6, texture, levels, internalformat, width, height, depth); + glad_glTextureStorage3D(texture, levels, internalformat, width, height, depth); + _post_call_gl_callback(NULL, "glTextureStorage3D", (GLADapiproc) glad_glTextureStorage3D, 6, texture, levels, internalformat, width, height, depth); + +} +PFNGLTEXTURESTORAGE3DPROC glad_debug_glTextureStorage3D = glad_debug_impl_glTextureStorage3D; +PFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { + _pre_call_gl_callback("glTextureStorage3DEXT", (GLADapiproc) glad_glTextureStorage3DEXT, 7, texture, target, levels, internalformat, width, height, depth); + glad_glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth); + _post_call_gl_callback(NULL, "glTextureStorage3DEXT", (GLADapiproc) glad_glTextureStorage3DEXT, 7, texture, target, levels, internalformat, width, height, depth); + +} +PFNGLTEXTURESTORAGE3DEXTPROC glad_debug_glTextureStorage3DEXT = glad_debug_impl_glTextureStorage3DEXT; +PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage3DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTextureStorage3DMultisample", (GLADapiproc) glad_glTextureStorage3DMultisample, 7, texture, samples, internalformat, width, height, depth, fixedsamplelocations); + glad_glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTextureStorage3DMultisample", (GLADapiproc) glad_glTextureStorage3DMultisample, 7, texture, samples, internalformat, width, height, depth, fixedsamplelocations); + +} +PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_debug_glTextureStorage3DMultisample = glad_debug_impl_glTextureStorage3DMultisample; +PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { + _pre_call_gl_callback("glTextureStorage3DMultisampleEXT", (GLADapiproc) glad_glTextureStorage3DMultisampleEXT, 8, texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); + glad_glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); + _post_call_gl_callback(NULL, "glTextureStorage3DMultisampleEXT", (GLADapiproc) glad_glTextureStorage3DMultisampleEXT, 8, texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); + +} +PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_debug_glTextureStorage3DMultisampleEXT = glad_debug_impl_glTextureStorage3DMultisampleEXT; +PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage1D", (GLADapiproc) glad_glTextureSubImage1D, 7, texture, level, xoffset, width, format, type, pixels); + glad_glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage1D", (GLADapiproc) glad_glTextureSubImage1D, 7, texture, level, xoffset, width, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE1DPROC glad_debug_glTextureSubImage1D = glad_debug_impl_glTextureSubImage1D; +PFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage1DEXT", (GLADapiproc) glad_glTextureSubImage1DEXT, 8, texture, target, level, xoffset, width, format, type, pixels); + glad_glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage1DEXT", (GLADapiproc) glad_glTextureSubImage1DEXT, 8, texture, target, level, xoffset, width, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE1DEXTPROC glad_debug_glTextureSubImage1DEXT = glad_debug_impl_glTextureSubImage1DEXT; +PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage2D", (GLADapiproc) glad_glTextureSubImage2D, 9, texture, level, xoffset, yoffset, width, height, format, type, pixels); + glad_glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage2D", (GLADapiproc) glad_glTextureSubImage2D, 9, texture, level, xoffset, yoffset, width, height, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE2DPROC glad_debug_glTextureSubImage2D = glad_debug_impl_glTextureSubImage2D; +PFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage2DEXT", (GLADapiproc) glad_glTextureSubImage2DEXT, 10, texture, target, level, xoffset, yoffset, width, height, format, type, pixels); + glad_glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage2DEXT", (GLADapiproc) glad_glTextureSubImage2DEXT, 10, texture, target, level, xoffset, yoffset, width, height, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE2DEXTPROC glad_debug_glTextureSubImage2DEXT = glad_debug_impl_glTextureSubImage2DEXT; +PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage3D", (GLADapiproc) glad_glTextureSubImage3D, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glad_glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage3D", (GLADapiproc) glad_glTextureSubImage3D, 11, texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE3DPROC glad_debug_glTextureSubImage3D = glad_debug_impl_glTextureSubImage3D; +PFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) { + _pre_call_gl_callback("glTextureSubImage3DEXT", (GLADapiproc) glad_glTextureSubImage3DEXT, 12, texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + glad_glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + _post_call_gl_callback(NULL, "glTextureSubImage3DEXT", (GLADapiproc) glad_glTextureSubImage3DEXT, 12, texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + +} +PFNGLTEXTURESUBIMAGE3DEXTPROC glad_debug_glTextureSubImage3DEXT = glad_debug_impl_glTextureSubImage3DEXT; +PFNGLTEXTUREVIEWPROC glad_glTextureView = NULL; +static void GLAD_API_PTR glad_debug_impl_glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { + _pre_call_gl_callback("glTextureView", (GLADapiproc) glad_glTextureView, 8, texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + glad_glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + _post_call_gl_callback(NULL, "glTextureView", (GLADapiproc) glad_glTextureView, 8, texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + +} +PFNGLTEXTUREVIEWPROC glad_debug_glTextureView = glad_debug_impl_glTextureView; +PFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform) { + _pre_call_gl_callback("glTrackMatrixNV", (GLADapiproc) glad_glTrackMatrixNV, 4, target, address, matrix, transform); + glad_glTrackMatrixNV(target, address, matrix, transform); + _post_call_gl_callback(NULL, "glTrackMatrixNV", (GLADapiproc) glad_glTrackMatrixNV, 4, target, address, matrix, transform); + +} +PFNGLTRACKMATRIXNVPROC glad_debug_glTrackMatrixNV = glad_debug_impl_glTrackMatrixNV; +PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackAttribsNV(GLsizei count, const GLint * attribs, GLenum bufferMode) { + _pre_call_gl_callback("glTransformFeedbackAttribsNV", (GLADapiproc) glad_glTransformFeedbackAttribsNV, 3, count, attribs, bufferMode); + glad_glTransformFeedbackAttribsNV(count, attribs, bufferMode); + _post_call_gl_callback(NULL, "glTransformFeedbackAttribsNV", (GLADapiproc) glad_glTransformFeedbackAttribsNV, 3, count, attribs, bufferMode); + +} +PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_debug_glTransformFeedbackAttribsNV = glad_debug_impl_glTransformFeedbackAttribsNV; +PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer) { + _pre_call_gl_callback("glTransformFeedbackBufferBase", (GLADapiproc) glad_glTransformFeedbackBufferBase, 3, xfb, index, buffer); + glad_glTransformFeedbackBufferBase(xfb, index, buffer); + _post_call_gl_callback(NULL, "glTransformFeedbackBufferBase", (GLADapiproc) glad_glTransformFeedbackBufferBase, 3, xfb, index, buffer); + +} +PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_debug_glTransformFeedbackBufferBase = glad_debug_impl_glTransformFeedbackBufferBase; +PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { + _pre_call_gl_callback("glTransformFeedbackBufferRange", (GLADapiproc) glad_glTransformFeedbackBufferRange, 5, xfb, index, buffer, offset, size); + glad_glTransformFeedbackBufferRange(xfb, index, buffer, offset, size); + _post_call_gl_callback(NULL, "glTransformFeedbackBufferRange", (GLADapiproc) glad_glTransformFeedbackBufferRange, 5, xfb, index, buffer, offset, size); + +} +PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_debug_glTransformFeedbackBufferRange = glad_debug_impl_glTransformFeedbackBufferRange; +PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackStreamAttribsNV(GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode) { + _pre_call_gl_callback("glTransformFeedbackStreamAttribsNV", (GLADapiproc) glad_glTransformFeedbackStreamAttribsNV, 5, count, attribs, nbuffers, bufstreams, bufferMode); + glad_glTransformFeedbackStreamAttribsNV(count, attribs, nbuffers, bufstreams, bufferMode); + _post_call_gl_callback(NULL, "glTransformFeedbackStreamAttribsNV", (GLADapiproc) glad_glTransformFeedbackStreamAttribsNV, 5, count, attribs, nbuffers, bufstreams, bufferMode); + +} +PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_debug_glTransformFeedbackStreamAttribsNV = glad_debug_impl_glTransformFeedbackStreamAttribsNV; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) { + _pre_call_gl_callback("glTransformFeedbackVaryings", (GLADapiproc) glad_glTransformFeedbackVaryings, 4, program, count, varyings, bufferMode); + glad_glTransformFeedbackVaryings(program, count, varyings, bufferMode); + _post_call_gl_callback(NULL, "glTransformFeedbackVaryings", (GLADapiproc) glad_glTransformFeedbackVaryings, 4, program, count, varyings, bufferMode); + +} +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings = glad_debug_impl_glTransformFeedbackVaryings; +PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) { + _pre_call_gl_callback("glTransformFeedbackVaryingsEXT", (GLADapiproc) glad_glTransformFeedbackVaryingsEXT, 4, program, count, varyings, bufferMode); + glad_glTransformFeedbackVaryingsEXT(program, count, varyings, bufferMode); + _post_call_gl_callback(NULL, "glTransformFeedbackVaryingsEXT", (GLADapiproc) glad_glTransformFeedbackVaryingsEXT, 4, program, count, varyings, bufferMode); + +} +PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_debug_glTransformFeedbackVaryingsEXT = glad_debug_impl_glTransformFeedbackVaryingsEXT; +PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode) { + _pre_call_gl_callback("glTransformFeedbackVaryingsNV", (GLADapiproc) glad_glTransformFeedbackVaryingsNV, 4, program, count, locations, bufferMode); + glad_glTransformFeedbackVaryingsNV(program, count, locations, bufferMode); + _post_call_gl_callback(NULL, "glTransformFeedbackVaryingsNV", (GLADapiproc) glad_glTransformFeedbackVaryingsNV, 4, program, count, locations, bufferMode); + +} +PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_debug_glTransformFeedbackVaryingsNV = glad_debug_impl_glTransformFeedbackVaryingsNV; +PFNGLUNIFORM1DPROC glad_glUniform1d = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1d(GLint location, GLdouble x) { + _pre_call_gl_callback("glUniform1d", (GLADapiproc) glad_glUniform1d, 2, location, x); + glad_glUniform1d(location, x); + _post_call_gl_callback(NULL, "glUniform1d", (GLADapiproc) glad_glUniform1d, 2, location, x); + +} +PFNGLUNIFORM1DPROC glad_debug_glUniform1d = glad_debug_impl_glUniform1d; +PFNGLUNIFORM1DVPROC glad_glUniform1dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1dv(GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glUniform1dv", (GLADapiproc) glad_glUniform1dv, 3, location, count, value); + glad_glUniform1dv(location, count, value); + _post_call_gl_callback(NULL, "glUniform1dv", (GLADapiproc) glad_glUniform1dv, 3, location, count, value); + +} +PFNGLUNIFORM1DVPROC glad_debug_glUniform1dv = glad_debug_impl_glUniform1dv; +PFNGLUNIFORM1FPROC glad_glUniform1f = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1f(GLint location, GLfloat v0) { + _pre_call_gl_callback("glUniform1f", (GLADapiproc) glad_glUniform1f, 2, location, v0); + glad_glUniform1f(location, v0); + _post_call_gl_callback(NULL, "glUniform1f", (GLADapiproc) glad_glUniform1f, 2, location, v0); + +} +PFNGLUNIFORM1FPROC glad_debug_glUniform1f = glad_debug_impl_glUniform1f; +PFNGLUNIFORM1FARBPROC glad_glUniform1fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1fARB(GLint location, GLfloat v0) { + _pre_call_gl_callback("glUniform1fARB", (GLADapiproc) glad_glUniform1fARB, 2, location, v0); + glad_glUniform1fARB(location, v0); + _post_call_gl_callback(NULL, "glUniform1fARB", (GLADapiproc) glad_glUniform1fARB, 2, location, v0); + +} +PFNGLUNIFORM1FARBPROC glad_debug_glUniform1fARB = glad_debug_impl_glUniform1fARB; +PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1fv(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform1fv", (GLADapiproc) glad_glUniform1fv, 3, location, count, value); + glad_glUniform1fv(location, count, value); + _post_call_gl_callback(NULL, "glUniform1fv", (GLADapiproc) glad_glUniform1fv, 3, location, count, value); + +} +PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv = glad_debug_impl_glUniform1fv; +PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1fvARB(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform1fvARB", (GLADapiproc) glad_glUniform1fvARB, 3, location, count, value); + glad_glUniform1fvARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform1fvARB", (GLADapiproc) glad_glUniform1fvARB, 3, location, count, value); + +} +PFNGLUNIFORM1FVARBPROC glad_debug_glUniform1fvARB = glad_debug_impl_glUniform1fvARB; +PFNGLUNIFORM1IPROC glad_glUniform1i = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1i(GLint location, GLint v0) { + _pre_call_gl_callback("glUniform1i", (GLADapiproc) glad_glUniform1i, 2, location, v0); + glad_glUniform1i(location, v0); + _post_call_gl_callback(NULL, "glUniform1i", (GLADapiproc) glad_glUniform1i, 2, location, v0); + +} +PFNGLUNIFORM1IPROC glad_debug_glUniform1i = glad_debug_impl_glUniform1i; +PFNGLUNIFORM1IARBPROC glad_glUniform1iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1iARB(GLint location, GLint v0) { + _pre_call_gl_callback("glUniform1iARB", (GLADapiproc) glad_glUniform1iARB, 2, location, v0); + glad_glUniform1iARB(location, v0); + _post_call_gl_callback(NULL, "glUniform1iARB", (GLADapiproc) glad_glUniform1iARB, 2, location, v0); + +} +PFNGLUNIFORM1IARBPROC glad_debug_glUniform1iARB = glad_debug_impl_glUniform1iARB; +PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1iv(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform1iv", (GLADapiproc) glad_glUniform1iv, 3, location, count, value); + glad_glUniform1iv(location, count, value); + _post_call_gl_callback(NULL, "glUniform1iv", (GLADapiproc) glad_glUniform1iv, 3, location, count, value); + +} +PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv = glad_debug_impl_glUniform1iv; +PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1ivARB(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform1ivARB", (GLADapiproc) glad_glUniform1ivARB, 3, location, count, value); + glad_glUniform1ivARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform1ivARB", (GLADapiproc) glad_glUniform1ivARB, 3, location, count, value); + +} +PFNGLUNIFORM1IVARBPROC glad_debug_glUniform1ivARB = glad_debug_impl_glUniform1ivARB; +PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1ui(GLint location, GLuint v0) { + _pre_call_gl_callback("glUniform1ui", (GLADapiproc) glad_glUniform1ui, 2, location, v0); + glad_glUniform1ui(location, v0); + _post_call_gl_callback(NULL, "glUniform1ui", (GLADapiproc) glad_glUniform1ui, 2, location, v0); + +} +PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui = glad_debug_impl_glUniform1ui; +PFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1uiEXT(GLint location, GLuint v0) { + _pre_call_gl_callback("glUniform1uiEXT", (GLADapiproc) glad_glUniform1uiEXT, 2, location, v0); + glad_glUniform1uiEXT(location, v0); + _post_call_gl_callback(NULL, "glUniform1uiEXT", (GLADapiproc) glad_glUniform1uiEXT, 2, location, v0); + +} +PFNGLUNIFORM1UIEXTPROC glad_debug_glUniform1uiEXT = glad_debug_impl_glUniform1uiEXT; +PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1uiv(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform1uiv", (GLADapiproc) glad_glUniform1uiv, 3, location, count, value); + glad_glUniform1uiv(location, count, value); + _post_call_gl_callback(NULL, "glUniform1uiv", (GLADapiproc) glad_glUniform1uiv, 3, location, count, value); + +} +PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv = glad_debug_impl_glUniform1uiv; +PFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform1uivEXT(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform1uivEXT", (GLADapiproc) glad_glUniform1uivEXT, 3, location, count, value); + glad_glUniform1uivEXT(location, count, value); + _post_call_gl_callback(NULL, "glUniform1uivEXT", (GLADapiproc) glad_glUniform1uivEXT, 3, location, count, value); + +} +PFNGLUNIFORM1UIVEXTPROC glad_debug_glUniform1uivEXT = glad_debug_impl_glUniform1uivEXT; +PFNGLUNIFORM2DPROC glad_glUniform2d = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2d(GLint location, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glUniform2d", (GLADapiproc) glad_glUniform2d, 3, location, x, y); + glad_glUniform2d(location, x, y); + _post_call_gl_callback(NULL, "glUniform2d", (GLADapiproc) glad_glUniform2d, 3, location, x, y); + +} +PFNGLUNIFORM2DPROC glad_debug_glUniform2d = glad_debug_impl_glUniform2d; +PFNGLUNIFORM2DVPROC glad_glUniform2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2dv(GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glUniform2dv", (GLADapiproc) glad_glUniform2dv, 3, location, count, value); + glad_glUniform2dv(location, count, value); + _post_call_gl_callback(NULL, "glUniform2dv", (GLADapiproc) glad_glUniform2dv, 3, location, count, value); + +} +PFNGLUNIFORM2DVPROC glad_debug_glUniform2dv = glad_debug_impl_glUniform2dv; +PFNGLUNIFORM2FPROC glad_glUniform2f = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2f(GLint location, GLfloat v0, GLfloat v1) { + _pre_call_gl_callback("glUniform2f", (GLADapiproc) glad_glUniform2f, 3, location, v0, v1); + glad_glUniform2f(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2f", (GLADapiproc) glad_glUniform2f, 3, location, v0, v1); + +} +PFNGLUNIFORM2FPROC glad_debug_glUniform2f = glad_debug_impl_glUniform2f; +PFNGLUNIFORM2FARBPROC glad_glUniform2fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2fARB(GLint location, GLfloat v0, GLfloat v1) { + _pre_call_gl_callback("glUniform2fARB", (GLADapiproc) glad_glUniform2fARB, 3, location, v0, v1); + glad_glUniform2fARB(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2fARB", (GLADapiproc) glad_glUniform2fARB, 3, location, v0, v1); + +} +PFNGLUNIFORM2FARBPROC glad_debug_glUniform2fARB = glad_debug_impl_glUniform2fARB; +PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2fv(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform2fv", (GLADapiproc) glad_glUniform2fv, 3, location, count, value); + glad_glUniform2fv(location, count, value); + _post_call_gl_callback(NULL, "glUniform2fv", (GLADapiproc) glad_glUniform2fv, 3, location, count, value); + +} +PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv = glad_debug_impl_glUniform2fv; +PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2fvARB(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform2fvARB", (GLADapiproc) glad_glUniform2fvARB, 3, location, count, value); + glad_glUniform2fvARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform2fvARB", (GLADapiproc) glad_glUniform2fvARB, 3, location, count, value); + +} +PFNGLUNIFORM2FVARBPROC glad_debug_glUniform2fvARB = glad_debug_impl_glUniform2fvARB; +PFNGLUNIFORM2IPROC glad_glUniform2i = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2i(GLint location, GLint v0, GLint v1) { + _pre_call_gl_callback("glUniform2i", (GLADapiproc) glad_glUniform2i, 3, location, v0, v1); + glad_glUniform2i(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2i", (GLADapiproc) glad_glUniform2i, 3, location, v0, v1); + +} +PFNGLUNIFORM2IPROC glad_debug_glUniform2i = glad_debug_impl_glUniform2i; +PFNGLUNIFORM2IARBPROC glad_glUniform2iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2iARB(GLint location, GLint v0, GLint v1) { + _pre_call_gl_callback("glUniform2iARB", (GLADapiproc) glad_glUniform2iARB, 3, location, v0, v1); + glad_glUniform2iARB(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2iARB", (GLADapiproc) glad_glUniform2iARB, 3, location, v0, v1); + +} +PFNGLUNIFORM2IARBPROC glad_debug_glUniform2iARB = glad_debug_impl_glUniform2iARB; +PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2iv(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform2iv", (GLADapiproc) glad_glUniform2iv, 3, location, count, value); + glad_glUniform2iv(location, count, value); + _post_call_gl_callback(NULL, "glUniform2iv", (GLADapiproc) glad_glUniform2iv, 3, location, count, value); + +} +PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv = glad_debug_impl_glUniform2iv; +PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2ivARB(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform2ivARB", (GLADapiproc) glad_glUniform2ivARB, 3, location, count, value); + glad_glUniform2ivARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform2ivARB", (GLADapiproc) glad_glUniform2ivARB, 3, location, count, value); + +} +PFNGLUNIFORM2IVARBPROC glad_debug_glUniform2ivARB = glad_debug_impl_glUniform2ivARB; +PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2ui(GLint location, GLuint v0, GLuint v1) { + _pre_call_gl_callback("glUniform2ui", (GLADapiproc) glad_glUniform2ui, 3, location, v0, v1); + glad_glUniform2ui(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2ui", (GLADapiproc) glad_glUniform2ui, 3, location, v0, v1); + +} +PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui = glad_debug_impl_glUniform2ui; +PFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2uiEXT(GLint location, GLuint v0, GLuint v1) { + _pre_call_gl_callback("glUniform2uiEXT", (GLADapiproc) glad_glUniform2uiEXT, 3, location, v0, v1); + glad_glUniform2uiEXT(location, v0, v1); + _post_call_gl_callback(NULL, "glUniform2uiEXT", (GLADapiproc) glad_glUniform2uiEXT, 3, location, v0, v1); + +} +PFNGLUNIFORM2UIEXTPROC glad_debug_glUniform2uiEXT = glad_debug_impl_glUniform2uiEXT; +PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2uiv(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform2uiv", (GLADapiproc) glad_glUniform2uiv, 3, location, count, value); + glad_glUniform2uiv(location, count, value); + _post_call_gl_callback(NULL, "glUniform2uiv", (GLADapiproc) glad_glUniform2uiv, 3, location, count, value); + +} +PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv = glad_debug_impl_glUniform2uiv; +PFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform2uivEXT(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform2uivEXT", (GLADapiproc) glad_glUniform2uivEXT, 3, location, count, value); + glad_glUniform2uivEXT(location, count, value); + _post_call_gl_callback(NULL, "glUniform2uivEXT", (GLADapiproc) glad_glUniform2uivEXT, 3, location, count, value); + +} +PFNGLUNIFORM2UIVEXTPROC glad_debug_glUniform2uivEXT = glad_debug_impl_glUniform2uivEXT; +PFNGLUNIFORM3DPROC glad_glUniform3d = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glUniform3d", (GLADapiproc) glad_glUniform3d, 4, location, x, y, z); + glad_glUniform3d(location, x, y, z); + _post_call_gl_callback(NULL, "glUniform3d", (GLADapiproc) glad_glUniform3d, 4, location, x, y, z); + +} +PFNGLUNIFORM3DPROC glad_debug_glUniform3d = glad_debug_impl_glUniform3d; +PFNGLUNIFORM3DVPROC glad_glUniform3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3dv(GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glUniform3dv", (GLADapiproc) glad_glUniform3dv, 3, location, count, value); + glad_glUniform3dv(location, count, value); + _post_call_gl_callback(NULL, "glUniform3dv", (GLADapiproc) glad_glUniform3dv, 3, location, count, value); + +} +PFNGLUNIFORM3DVPROC glad_debug_glUniform3dv = glad_debug_impl_glUniform3dv; +PFNGLUNIFORM3FPROC glad_glUniform3f = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + _pre_call_gl_callback("glUniform3f", (GLADapiproc) glad_glUniform3f, 4, location, v0, v1, v2); + glad_glUniform3f(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3f", (GLADapiproc) glad_glUniform3f, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3FPROC glad_debug_glUniform3f = glad_debug_impl_glUniform3f; +PFNGLUNIFORM3FARBPROC glad_glUniform3fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { + _pre_call_gl_callback("glUniform3fARB", (GLADapiproc) glad_glUniform3fARB, 4, location, v0, v1, v2); + glad_glUniform3fARB(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3fARB", (GLADapiproc) glad_glUniform3fARB, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3FARBPROC glad_debug_glUniform3fARB = glad_debug_impl_glUniform3fARB; +PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3fv(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform3fv", (GLADapiproc) glad_glUniform3fv, 3, location, count, value); + glad_glUniform3fv(location, count, value); + _post_call_gl_callback(NULL, "glUniform3fv", (GLADapiproc) glad_glUniform3fv, 3, location, count, value); + +} +PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv = glad_debug_impl_glUniform3fv; +PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3fvARB(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform3fvARB", (GLADapiproc) glad_glUniform3fvARB, 3, location, count, value); + glad_glUniform3fvARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform3fvARB", (GLADapiproc) glad_glUniform3fvARB, 3, location, count, value); + +} +PFNGLUNIFORM3FVARBPROC glad_debug_glUniform3fvARB = glad_debug_impl_glUniform3fvARB; +PFNGLUNIFORM3IPROC glad_glUniform3i = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { + _pre_call_gl_callback("glUniform3i", (GLADapiproc) glad_glUniform3i, 4, location, v0, v1, v2); + glad_glUniform3i(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3i", (GLADapiproc) glad_glUniform3i, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3IPROC glad_debug_glUniform3i = glad_debug_impl_glUniform3i; +PFNGLUNIFORM3IARBPROC glad_glUniform3iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2) { + _pre_call_gl_callback("glUniform3iARB", (GLADapiproc) glad_glUniform3iARB, 4, location, v0, v1, v2); + glad_glUniform3iARB(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3iARB", (GLADapiproc) glad_glUniform3iARB, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3IARBPROC glad_debug_glUniform3iARB = glad_debug_impl_glUniform3iARB; +PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3iv(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform3iv", (GLADapiproc) glad_glUniform3iv, 3, location, count, value); + glad_glUniform3iv(location, count, value); + _post_call_gl_callback(NULL, "glUniform3iv", (GLADapiproc) glad_glUniform3iv, 3, location, count, value); + +} +PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv = glad_debug_impl_glUniform3iv; +PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3ivARB(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform3ivARB", (GLADapiproc) glad_glUniform3ivARB, 3, location, count, value); + glad_glUniform3ivARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform3ivARB", (GLADapiproc) glad_glUniform3ivARB, 3, location, count, value); + +} +PFNGLUNIFORM3IVARBPROC glad_debug_glUniform3ivARB = glad_debug_impl_glUniform3ivARB; +PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { + _pre_call_gl_callback("glUniform3ui", (GLADapiproc) glad_glUniform3ui, 4, location, v0, v1, v2); + glad_glUniform3ui(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3ui", (GLADapiproc) glad_glUniform3ui, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui = glad_debug_impl_glUniform3ui; +PFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2) { + _pre_call_gl_callback("glUniform3uiEXT", (GLADapiproc) glad_glUniform3uiEXT, 4, location, v0, v1, v2); + glad_glUniform3uiEXT(location, v0, v1, v2); + _post_call_gl_callback(NULL, "glUniform3uiEXT", (GLADapiproc) glad_glUniform3uiEXT, 4, location, v0, v1, v2); + +} +PFNGLUNIFORM3UIEXTPROC glad_debug_glUniform3uiEXT = glad_debug_impl_glUniform3uiEXT; +PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3uiv(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform3uiv", (GLADapiproc) glad_glUniform3uiv, 3, location, count, value); + glad_glUniform3uiv(location, count, value); + _post_call_gl_callback(NULL, "glUniform3uiv", (GLADapiproc) glad_glUniform3uiv, 3, location, count, value); + +} +PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv = glad_debug_impl_glUniform3uiv; +PFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform3uivEXT(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform3uivEXT", (GLADapiproc) glad_glUniform3uivEXT, 3, location, count, value); + glad_glUniform3uivEXT(location, count, value); + _post_call_gl_callback(NULL, "glUniform3uivEXT", (GLADapiproc) glad_glUniform3uivEXT, 3, location, count, value); + +} +PFNGLUNIFORM3UIVEXTPROC glad_debug_glUniform3uivEXT = glad_debug_impl_glUniform3uivEXT; +PFNGLUNIFORM4DPROC glad_glUniform4d = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glUniform4d", (GLADapiproc) glad_glUniform4d, 5, location, x, y, z, w); + glad_glUniform4d(location, x, y, z, w); + _post_call_gl_callback(NULL, "glUniform4d", (GLADapiproc) glad_glUniform4d, 5, location, x, y, z, w); + +} +PFNGLUNIFORM4DPROC glad_debug_glUniform4d = glad_debug_impl_glUniform4d; +PFNGLUNIFORM4DVPROC glad_glUniform4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4dv(GLint location, GLsizei count, const GLdouble * value) { + _pre_call_gl_callback("glUniform4dv", (GLADapiproc) glad_glUniform4dv, 3, location, count, value); + glad_glUniform4dv(location, count, value); + _post_call_gl_callback(NULL, "glUniform4dv", (GLADapiproc) glad_glUniform4dv, 3, location, count, value); + +} +PFNGLUNIFORM4DVPROC glad_debug_glUniform4dv = glad_debug_impl_glUniform4dv; +PFNGLUNIFORM4FPROC glad_glUniform4f = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + _pre_call_gl_callback("glUniform4f", (GLADapiproc) glad_glUniform4f, 5, location, v0, v1, v2, v3); + glad_glUniform4f(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4f", (GLADapiproc) glad_glUniform4f, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4FPROC glad_debug_glUniform4f = glad_debug_impl_glUniform4f; +PFNGLUNIFORM4FARBPROC glad_glUniform4fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { + _pre_call_gl_callback("glUniform4fARB", (GLADapiproc) glad_glUniform4fARB, 5, location, v0, v1, v2, v3); + glad_glUniform4fARB(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4fARB", (GLADapiproc) glad_glUniform4fARB, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4FARBPROC glad_debug_glUniform4fARB = glad_debug_impl_glUniform4fARB; +PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4fv(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform4fv", (GLADapiproc) glad_glUniform4fv, 3, location, count, value); + glad_glUniform4fv(location, count, value); + _post_call_gl_callback(NULL, "glUniform4fv", (GLADapiproc) glad_glUniform4fv, 3, location, count, value); + +} +PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv = glad_debug_impl_glUniform4fv; +PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4fvARB(GLint location, GLsizei count, const GLfloat * value) { + _pre_call_gl_callback("glUniform4fvARB", (GLADapiproc) glad_glUniform4fvARB, 3, location, count, value); + glad_glUniform4fvARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform4fvARB", (GLADapiproc) glad_glUniform4fvARB, 3, location, count, value); + +} +PFNGLUNIFORM4FVARBPROC glad_debug_glUniform4fvARB = glad_debug_impl_glUniform4fvARB; +PFNGLUNIFORM4IPROC glad_glUniform4i = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + _pre_call_gl_callback("glUniform4i", (GLADapiproc) glad_glUniform4i, 5, location, v0, v1, v2, v3); + glad_glUniform4i(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4i", (GLADapiproc) glad_glUniform4i, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4IPROC glad_debug_glUniform4i = glad_debug_impl_glUniform4i; +PFNGLUNIFORM4IARBPROC glad_glUniform4iARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { + _pre_call_gl_callback("glUniform4iARB", (GLADapiproc) glad_glUniform4iARB, 5, location, v0, v1, v2, v3); + glad_glUniform4iARB(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4iARB", (GLADapiproc) glad_glUniform4iARB, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4IARBPROC glad_debug_glUniform4iARB = glad_debug_impl_glUniform4iARB; +PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4iv(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform4iv", (GLADapiproc) glad_glUniform4iv, 3, location, count, value); + glad_glUniform4iv(location, count, value); + _post_call_gl_callback(NULL, "glUniform4iv", (GLADapiproc) glad_glUniform4iv, 3, location, count, value); + +} +PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv = glad_debug_impl_glUniform4iv; +PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4ivARB(GLint location, GLsizei count, const GLint * value) { + _pre_call_gl_callback("glUniform4ivARB", (GLADapiproc) glad_glUniform4ivARB, 3, location, count, value); + glad_glUniform4ivARB(location, count, value); + _post_call_gl_callback(NULL, "glUniform4ivARB", (GLADapiproc) glad_glUniform4ivARB, 3, location, count, value); + +} +PFNGLUNIFORM4IVARBPROC glad_debug_glUniform4ivARB = glad_debug_impl_glUniform4ivARB; +PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + _pre_call_gl_callback("glUniform4ui", (GLADapiproc) glad_glUniform4ui, 5, location, v0, v1, v2, v3); + glad_glUniform4ui(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4ui", (GLADapiproc) glad_glUniform4ui, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui = glad_debug_impl_glUniform4ui; +PFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { + _pre_call_gl_callback("glUniform4uiEXT", (GLADapiproc) glad_glUniform4uiEXT, 5, location, v0, v1, v2, v3); + glad_glUniform4uiEXT(location, v0, v1, v2, v3); + _post_call_gl_callback(NULL, "glUniform4uiEXT", (GLADapiproc) glad_glUniform4uiEXT, 5, location, v0, v1, v2, v3); + +} +PFNGLUNIFORM4UIEXTPROC glad_debug_glUniform4uiEXT = glad_debug_impl_glUniform4uiEXT; +PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4uiv(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform4uiv", (GLADapiproc) glad_glUniform4uiv, 3, location, count, value); + glad_glUniform4uiv(location, count, value); + _post_call_gl_callback(NULL, "glUniform4uiv", (GLADapiproc) glad_glUniform4uiv, 3, location, count, value); + +} +PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv = glad_debug_impl_glUniform4uiv; +PFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniform4uivEXT(GLint location, GLsizei count, const GLuint * value) { + _pre_call_gl_callback("glUniform4uivEXT", (GLADapiproc) glad_glUniform4uivEXT, 3, location, count, value); + glad_glUniform4uivEXT(location, count, value); + _post_call_gl_callback(NULL, "glUniform4uivEXT", (GLADapiproc) glad_glUniform4uivEXT, 3, location, count, value); + +} +PFNGLUNIFORM4UIVEXTPROC glad_debug_glUniform4uivEXT = glad_debug_impl_glUniform4uivEXT; +PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { + _pre_call_gl_callback("glUniformBlockBinding", (GLADapiproc) glad_glUniformBlockBinding, 3, program, uniformBlockIndex, uniformBlockBinding); + glad_glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + _post_call_gl_callback(NULL, "glUniformBlockBinding", (GLADapiproc) glad_glUniformBlockBinding, 3, program, uniformBlockIndex, uniformBlockBinding); + +} +PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding = glad_debug_impl_glUniformBlockBinding; +PFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformHandleui64ARB(GLint location, GLuint64 value) { + _pre_call_gl_callback("glUniformHandleui64ARB", (GLADapiproc) glad_glUniformHandleui64ARB, 2, location, value); + glad_glUniformHandleui64ARB(location, value); + _post_call_gl_callback(NULL, "glUniformHandleui64ARB", (GLADapiproc) glad_glUniformHandleui64ARB, 2, location, value); + +} +PFNGLUNIFORMHANDLEUI64ARBPROC glad_debug_glUniformHandleui64ARB = glad_debug_impl_glUniformHandleui64ARB; +PFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformHandleui64NV(GLint location, GLuint64 value) { + _pre_call_gl_callback("glUniformHandleui64NV", (GLADapiproc) glad_glUniformHandleui64NV, 2, location, value); + glad_glUniformHandleui64NV(location, value); + _post_call_gl_callback(NULL, "glUniformHandleui64NV", (GLADapiproc) glad_glUniformHandleui64NV, 2, location, value); + +} +PFNGLUNIFORMHANDLEUI64NVPROC glad_debug_glUniformHandleui64NV = glad_debug_impl_glUniformHandleui64NV; +PFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64 * value) { + _pre_call_gl_callback("glUniformHandleui64vARB", (GLADapiproc) glad_glUniformHandleui64vARB, 3, location, count, value); + glad_glUniformHandleui64vARB(location, count, value); + _post_call_gl_callback(NULL, "glUniformHandleui64vARB", (GLADapiproc) glad_glUniformHandleui64vARB, 3, location, count, value); + +} +PFNGLUNIFORMHANDLEUI64VARBPROC glad_debug_glUniformHandleui64vARB = glad_debug_impl_glUniformHandleui64vARB; +PFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 * value) { + _pre_call_gl_callback("glUniformHandleui64vNV", (GLADapiproc) glad_glUniformHandleui64vNV, 3, location, count, value); + glad_glUniformHandleui64vNV(location, count, value); + _post_call_gl_callback(NULL, "glUniformHandleui64vNV", (GLADapiproc) glad_glUniformHandleui64vNV, 3, location, count, value); + +} +PFNGLUNIFORMHANDLEUI64VNVPROC glad_debug_glUniformHandleui64vNV = glad_debug_impl_glUniformHandleui64vNV; +PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix2dv", (GLADapiproc) glad_glUniformMatrix2dv, 4, location, count, transpose, value); + glad_glUniformMatrix2dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2dv", (GLADapiproc) glad_glUniformMatrix2dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2DVPROC glad_debug_glUniformMatrix2dv = glad_debug_impl_glUniformMatrix2dv; +PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix2fv", (GLADapiproc) glad_glUniformMatrix2fv, 4, location, count, transpose, value); + glad_glUniformMatrix2fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2fv", (GLADapiproc) glad_glUniformMatrix2fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv = glad_debug_impl_glUniformMatrix2fv; +PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix2fvARB", (GLADapiproc) glad_glUniformMatrix2fvARB, 4, location, count, transpose, value); + glad_glUniformMatrix2fvARB(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2fvARB", (GLADapiproc) glad_glUniformMatrix2fvARB, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2FVARBPROC glad_debug_glUniformMatrix2fvARB = glad_debug_impl_glUniformMatrix2fvARB; +PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix2x3dv", (GLADapiproc) glad_glUniformMatrix2x3dv, 4, location, count, transpose, value); + glad_glUniformMatrix2x3dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2x3dv", (GLADapiproc) glad_glUniformMatrix2x3dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2X3DVPROC glad_debug_glUniformMatrix2x3dv = glad_debug_impl_glUniformMatrix2x3dv; +PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix2x3fv", (GLADapiproc) glad_glUniformMatrix2x3fv, 4, location, count, transpose, value); + glad_glUniformMatrix2x3fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2x3fv", (GLADapiproc) glad_glUniformMatrix2x3fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv = glad_debug_impl_glUniformMatrix2x3fv; +PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix2x4dv", (GLADapiproc) glad_glUniformMatrix2x4dv, 4, location, count, transpose, value); + glad_glUniformMatrix2x4dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2x4dv", (GLADapiproc) glad_glUniformMatrix2x4dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2X4DVPROC glad_debug_glUniformMatrix2x4dv = glad_debug_impl_glUniformMatrix2x4dv; +PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix2x4fv", (GLADapiproc) glad_glUniformMatrix2x4fv, 4, location, count, transpose, value); + glad_glUniformMatrix2x4fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix2x4fv", (GLADapiproc) glad_glUniformMatrix2x4fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv = glad_debug_impl_glUniformMatrix2x4fv; +PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix3dv", (GLADapiproc) glad_glUniformMatrix3dv, 4, location, count, transpose, value); + glad_glUniformMatrix3dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3dv", (GLADapiproc) glad_glUniformMatrix3dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3DVPROC glad_debug_glUniformMatrix3dv = glad_debug_impl_glUniformMatrix3dv; +PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix3fv", (GLADapiproc) glad_glUniformMatrix3fv, 4, location, count, transpose, value); + glad_glUniformMatrix3fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3fv", (GLADapiproc) glad_glUniformMatrix3fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv = glad_debug_impl_glUniformMatrix3fv; +PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix3fvARB", (GLADapiproc) glad_glUniformMatrix3fvARB, 4, location, count, transpose, value); + glad_glUniformMatrix3fvARB(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3fvARB", (GLADapiproc) glad_glUniformMatrix3fvARB, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3FVARBPROC glad_debug_glUniformMatrix3fvARB = glad_debug_impl_glUniformMatrix3fvARB; +PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix3x2dv", (GLADapiproc) glad_glUniformMatrix3x2dv, 4, location, count, transpose, value); + glad_glUniformMatrix3x2dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3x2dv", (GLADapiproc) glad_glUniformMatrix3x2dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3X2DVPROC glad_debug_glUniformMatrix3x2dv = glad_debug_impl_glUniformMatrix3x2dv; +PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix3x2fv", (GLADapiproc) glad_glUniformMatrix3x2fv, 4, location, count, transpose, value); + glad_glUniformMatrix3x2fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3x2fv", (GLADapiproc) glad_glUniformMatrix3x2fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv = glad_debug_impl_glUniformMatrix3x2fv; +PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix3x4dv", (GLADapiproc) glad_glUniformMatrix3x4dv, 4, location, count, transpose, value); + glad_glUniformMatrix3x4dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3x4dv", (GLADapiproc) glad_glUniformMatrix3x4dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3X4DVPROC glad_debug_glUniformMatrix3x4dv = glad_debug_impl_glUniformMatrix3x4dv; +PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix3x4fv", (GLADapiproc) glad_glUniformMatrix3x4fv, 4, location, count, transpose, value); + glad_glUniformMatrix3x4fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix3x4fv", (GLADapiproc) glad_glUniformMatrix3x4fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv = glad_debug_impl_glUniformMatrix3x4fv; +PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix4dv", (GLADapiproc) glad_glUniformMatrix4dv, 4, location, count, transpose, value); + glad_glUniformMatrix4dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4dv", (GLADapiproc) glad_glUniformMatrix4dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4DVPROC glad_debug_glUniformMatrix4dv = glad_debug_impl_glUniformMatrix4dv; +PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix4fv", (GLADapiproc) glad_glUniformMatrix4fv, 4, location, count, transpose, value); + glad_glUniformMatrix4fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4fv", (GLADapiproc) glad_glUniformMatrix4fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv = glad_debug_impl_glUniformMatrix4fv; +PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix4fvARB", (GLADapiproc) glad_glUniformMatrix4fvARB, 4, location, count, transpose, value); + glad_glUniformMatrix4fvARB(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4fvARB", (GLADapiproc) glad_glUniformMatrix4fvARB, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4FVARBPROC glad_debug_glUniformMatrix4fvARB = glad_debug_impl_glUniformMatrix4fvARB; +PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix4x2dv", (GLADapiproc) glad_glUniformMatrix4x2dv, 4, location, count, transpose, value); + glad_glUniformMatrix4x2dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4x2dv", (GLADapiproc) glad_glUniformMatrix4x2dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4X2DVPROC glad_debug_glUniformMatrix4x2dv = glad_debug_impl_glUniformMatrix4x2dv; +PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix4x2fv", (GLADapiproc) glad_glUniformMatrix4x2fv, 4, location, count, transpose, value); + glad_glUniformMatrix4x2fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4x2fv", (GLADapiproc) glad_glUniformMatrix4x2fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv = glad_debug_impl_glUniformMatrix4x2fv; +PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) { + _pre_call_gl_callback("glUniformMatrix4x3dv", (GLADapiproc) glad_glUniformMatrix4x3dv, 4, location, count, transpose, value); + glad_glUniformMatrix4x3dv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4x3dv", (GLADapiproc) glad_glUniformMatrix4x3dv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4X3DVPROC glad_debug_glUniformMatrix4x3dv = glad_debug_impl_glUniformMatrix4x3dv; +PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { + _pre_call_gl_callback("glUniformMatrix4x3fv", (GLADapiproc) glad_glUniformMatrix4x3fv, 4, location, count, transpose, value); + glad_glUniformMatrix4x3fv(location, count, transpose, value); + _post_call_gl_callback(NULL, "glUniformMatrix4x3fv", (GLADapiproc) glad_glUniformMatrix4x3fv, 4, location, count, transpose, value); + +} +PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv = glad_debug_impl_glUniformMatrix4x3fv; +PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint * indices) { + _pre_call_gl_callback("glUniformSubroutinesuiv", (GLADapiproc) glad_glUniformSubroutinesuiv, 3, shadertype, count, indices); + glad_glUniformSubroutinesuiv(shadertype, count, indices); + _post_call_gl_callback(NULL, "glUniformSubroutinesuiv", (GLADapiproc) glad_glUniformSubroutinesuiv, 3, shadertype, count, indices); + +} +PFNGLUNIFORMSUBROUTINESUIVPROC glad_debug_glUniformSubroutinesuiv = glad_debug_impl_glUniformSubroutinesuiv; +PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glUnmapBuffer(GLenum target) { + GLboolean ret; + _pre_call_gl_callback("glUnmapBuffer", (GLADapiproc) glad_glUnmapBuffer, 1, target); + ret = glad_glUnmapBuffer(target); + _post_call_gl_callback((void*) &ret, "glUnmapBuffer", (GLADapiproc) glad_glUnmapBuffer, 1, target); + return ret; +} +PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer = glad_debug_impl_glUnmapBuffer; +PFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glUnmapBufferARB(GLenum target) { + GLboolean ret; + _pre_call_gl_callback("glUnmapBufferARB", (GLADapiproc) glad_glUnmapBufferARB, 1, target); + ret = glad_glUnmapBufferARB(target); + _post_call_gl_callback((void*) &ret, "glUnmapBufferARB", (GLADapiproc) glad_glUnmapBufferARB, 1, target); + return ret; +} +PFNGLUNMAPBUFFERARBPROC glad_debug_glUnmapBufferARB = glad_debug_impl_glUnmapBufferARB; +PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glUnmapNamedBuffer(GLuint buffer) { + GLboolean ret; + _pre_call_gl_callback("glUnmapNamedBuffer", (GLADapiproc) glad_glUnmapNamedBuffer, 1, buffer); + ret = glad_glUnmapNamedBuffer(buffer); + _post_call_gl_callback((void*) &ret, "glUnmapNamedBuffer", (GLADapiproc) glad_glUnmapNamedBuffer, 1, buffer); + return ret; +} +PFNGLUNMAPNAMEDBUFFERPROC glad_debug_glUnmapNamedBuffer = glad_debug_impl_glUnmapNamedBuffer; +PFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT = NULL; +static GLboolean GLAD_API_PTR glad_debug_impl_glUnmapNamedBufferEXT(GLuint buffer) { + GLboolean ret; + _pre_call_gl_callback("glUnmapNamedBufferEXT", (GLADapiproc) glad_glUnmapNamedBufferEXT, 1, buffer); + ret = glad_glUnmapNamedBufferEXT(buffer); + _post_call_gl_callback((void*) &ret, "glUnmapNamedBufferEXT", (GLADapiproc) glad_glUnmapNamedBufferEXT, 1, buffer); + return ret; +} +PFNGLUNMAPNAMEDBUFFEREXTPROC glad_debug_glUnmapNamedBufferEXT = glad_debug_impl_glUnmapNamedBufferEXT; +PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL; +static void GLAD_API_PTR glad_debug_impl_glUseProgram(GLuint program) { + _pre_call_gl_callback("glUseProgram", (GLADapiproc) glad_glUseProgram, 1, program); + glad_glUseProgram(program); + _post_call_gl_callback(NULL, "glUseProgram", (GLADapiproc) glad_glUseProgram, 1, program); + +} +PFNGLUSEPROGRAMPROC glad_debug_glUseProgram = glad_debug_impl_glUseProgram; +PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glUseProgramObjectARB(GLhandleARB programObj) { + _pre_call_gl_callback("glUseProgramObjectARB", (GLADapiproc) glad_glUseProgramObjectARB, 1, programObj); + glad_glUseProgramObjectARB(programObj); + _post_call_gl_callback(NULL, "glUseProgramObjectARB", (GLADapiproc) glad_glUseProgramObjectARB, 1, programObj); + +} +PFNGLUSEPROGRAMOBJECTARBPROC glad_debug_glUseProgramObjectARB = glad_debug_impl_glUseProgramObjectARB; +PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages = NULL; +static void GLAD_API_PTR glad_debug_impl_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { + _pre_call_gl_callback("glUseProgramStages", (GLADapiproc) glad_glUseProgramStages, 3, pipeline, stages, program); + glad_glUseProgramStages(pipeline, stages, program); + _post_call_gl_callback(NULL, "glUseProgramStages", (GLADapiproc) glad_glUseProgramStages, 3, pipeline, stages, program); + +} +PFNGLUSEPROGRAMSTAGESPROC glad_debug_glUseProgramStages = glad_debug_impl_glUseProgramStages; +PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL; +static void GLAD_API_PTR glad_debug_impl_glValidateProgram(GLuint program) { + _pre_call_gl_callback("glValidateProgram", (GLADapiproc) glad_glValidateProgram, 1, program); + glad_glValidateProgram(program); + _post_call_gl_callback(NULL, "glValidateProgram", (GLADapiproc) glad_glValidateProgram, 1, program); + +} +PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram = glad_debug_impl_glValidateProgram; +PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glValidateProgramARB(GLhandleARB programObj) { + _pre_call_gl_callback("glValidateProgramARB", (GLADapiproc) glad_glValidateProgramARB, 1, programObj); + glad_glValidateProgramARB(programObj); + _post_call_gl_callback(NULL, "glValidateProgramARB", (GLADapiproc) glad_glValidateProgramARB, 1, programObj); + +} +PFNGLVALIDATEPROGRAMARBPROC glad_debug_glValidateProgramARB = glad_debug_impl_glValidateProgramARB; +PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline = NULL; +static void GLAD_API_PTR glad_debug_impl_glValidateProgramPipeline(GLuint pipeline) { + _pre_call_gl_callback("glValidateProgramPipeline", (GLADapiproc) glad_glValidateProgramPipeline, 1, pipeline); + glad_glValidateProgramPipeline(pipeline); + _post_call_gl_callback(NULL, "glValidateProgramPipeline", (GLADapiproc) glad_glValidateProgramPipeline, 1, pipeline); + +} +PFNGLVALIDATEPROGRAMPIPELINEPROC glad_debug_glValidateProgramPipeline = glad_debug_impl_glValidateProgramPipeline; +PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayAttribBinding(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { + _pre_call_gl_callback("glVertexArrayAttribBinding", (GLADapiproc) glad_glVertexArrayAttribBinding, 3, vaobj, attribindex, bindingindex); + glad_glVertexArrayAttribBinding(vaobj, attribindex, bindingindex); + _post_call_gl_callback(NULL, "glVertexArrayAttribBinding", (GLADapiproc) glad_glVertexArrayAttribBinding, 3, vaobj, attribindex, bindingindex); + +} +PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_debug_glVertexArrayAttribBinding = glad_debug_impl_glVertexArrayAttribBinding; +PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayAttribFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayAttribFormat", (GLADapiproc) glad_glVertexArrayAttribFormat, 6, vaobj, attribindex, size, type, normalized, relativeoffset); + glad_glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayAttribFormat", (GLADapiproc) glad_glVertexArrayAttribFormat, 6, vaobj, attribindex, size, type, normalized, relativeoffset); + +} +PFNGLVERTEXARRAYATTRIBFORMATPROC glad_debug_glVertexArrayAttribFormat = glad_debug_impl_glVertexArrayAttribFormat; +PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayAttribIFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayAttribIFormat", (GLADapiproc) glad_glVertexArrayAttribIFormat, 5, vaobj, attribindex, size, type, relativeoffset); + glad_glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayAttribIFormat", (GLADapiproc) glad_glVertexArrayAttribIFormat, 5, vaobj, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_debug_glVertexArrayAttribIFormat = glad_debug_impl_glVertexArrayAttribIFormat; +PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayAttribLFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayAttribLFormat", (GLADapiproc) glad_glVertexArrayAttribLFormat, 5, vaobj, attribindex, size, type, relativeoffset); + glad_glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayAttribLFormat", (GLADapiproc) glad_glVertexArrayAttribLFormat, 5, vaobj, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_debug_glVertexArrayAttribLFormat = glad_debug_impl_glVertexArrayAttribLFormat; +PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayBindVertexBufferEXT(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { + _pre_call_gl_callback("glVertexArrayBindVertexBufferEXT", (GLADapiproc) glad_glVertexArrayBindVertexBufferEXT, 5, vaobj, bindingindex, buffer, offset, stride); + glad_glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride); + _post_call_gl_callback(NULL, "glVertexArrayBindVertexBufferEXT", (GLADapiproc) glad_glVertexArrayBindVertexBufferEXT, 5, vaobj, bindingindex, buffer, offset, stride); + +} +PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_debug_glVertexArrayBindVertexBufferEXT = glad_debug_impl_glVertexArrayBindVertexBufferEXT; +PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor) { + _pre_call_gl_callback("glVertexArrayBindingDivisor", (GLADapiproc) glad_glVertexArrayBindingDivisor, 3, vaobj, bindingindex, divisor); + glad_glVertexArrayBindingDivisor(vaobj, bindingindex, divisor); + _post_call_gl_callback(NULL, "glVertexArrayBindingDivisor", (GLADapiproc) glad_glVertexArrayBindingDivisor, 3, vaobj, bindingindex, divisor); + +} +PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_debug_glVertexArrayBindingDivisor = glad_debug_impl_glVertexArrayBindingDivisor; +PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayColorOffsetEXT", (GLADapiproc) glad_glVertexArrayColorOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + glad_glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayColorOffsetEXT", (GLADapiproc) glad_glVertexArrayColorOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + +} +PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_debug_glVertexArrayColorOffsetEXT = glad_debug_impl_glVertexArrayColorOffsetEXT; +PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayEdgeFlagOffsetEXT", (GLADapiproc) glad_glVertexArrayEdgeFlagOffsetEXT, 4, vaobj, buffer, stride, offset); + glad_glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayEdgeFlagOffsetEXT", (GLADapiproc) glad_glVertexArrayEdgeFlagOffsetEXT, 4, vaobj, buffer, stride, offset); + +} +PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_debug_glVertexArrayEdgeFlagOffsetEXT = glad_debug_impl_glVertexArrayEdgeFlagOffsetEXT; +PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayElementBuffer(GLuint vaobj, GLuint buffer) { + _pre_call_gl_callback("glVertexArrayElementBuffer", (GLADapiproc) glad_glVertexArrayElementBuffer, 2, vaobj, buffer); + glad_glVertexArrayElementBuffer(vaobj, buffer); + _post_call_gl_callback(NULL, "glVertexArrayElementBuffer", (GLADapiproc) glad_glVertexArrayElementBuffer, 2, vaobj, buffer); + +} +PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_debug_glVertexArrayElementBuffer = glad_debug_impl_glVertexArrayElementBuffer; +PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayFogCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayFogCoordOffsetEXT, 5, vaobj, buffer, type, stride, offset); + glad_glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayFogCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayFogCoordOffsetEXT, 5, vaobj, buffer, type, stride, offset); + +} +PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_debug_glVertexArrayFogCoordOffsetEXT = glad_debug_impl_glVertexArrayFogCoordOffsetEXT; +PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayIndexOffsetEXT", (GLADapiproc) glad_glVertexArrayIndexOffsetEXT, 5, vaobj, buffer, type, stride, offset); + glad_glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayIndexOffsetEXT", (GLADapiproc) glad_glVertexArrayIndexOffsetEXT, 5, vaobj, buffer, type, stride, offset); + +} +PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_debug_glVertexArrayIndexOffsetEXT = glad_debug_impl_glVertexArrayIndexOffsetEXT; +PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayMultiTexCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayMultiTexCoordOffsetEXT, 7, vaobj, buffer, texunit, size, type, stride, offset); + glad_glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayMultiTexCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayMultiTexCoordOffsetEXT, 7, vaobj, buffer, texunit, size, type, stride, offset); + +} +PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_debug_glVertexArrayMultiTexCoordOffsetEXT = glad_debug_impl_glVertexArrayMultiTexCoordOffsetEXT; +PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayNormalOffsetEXT", (GLADapiproc) glad_glVertexArrayNormalOffsetEXT, 5, vaobj, buffer, type, stride, offset); + glad_glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayNormalOffsetEXT", (GLADapiproc) glad_glVertexArrayNormalOffsetEXT, 5, vaobj, buffer, type, stride, offset); + +} +PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_debug_glVertexArrayNormalOffsetEXT = glad_debug_impl_glVertexArrayNormalOffsetEXT; +PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArraySecondaryColorOffsetEXT", (GLADapiproc) glad_glVertexArraySecondaryColorOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + glad_glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArraySecondaryColorOffsetEXT", (GLADapiproc) glad_glVertexArraySecondaryColorOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + +} +PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_debug_glVertexArraySecondaryColorOffsetEXT = glad_debug_impl_glVertexArraySecondaryColorOffsetEXT; +PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayTexCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayTexCoordOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + glad_glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayTexCoordOffsetEXT", (GLADapiproc) glad_glVertexArrayTexCoordOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + +} +PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_debug_glVertexArrayTexCoordOffsetEXT = glad_debug_impl_glVertexArrayTexCoordOffsetEXT; +PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribBindingEXT(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { + _pre_call_gl_callback("glVertexArrayVertexAttribBindingEXT", (GLADapiproc) glad_glVertexArrayVertexAttribBindingEXT, 3, vaobj, attribindex, bindingindex); + glad_glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribBindingEXT", (GLADapiproc) glad_glVertexArrayVertexAttribBindingEXT, 3, vaobj, attribindex, bindingindex); + +} +PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_debug_glVertexArrayVertexAttribBindingEXT = glad_debug_impl_glVertexArrayVertexAttribBindingEXT; +PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribDivisorEXT(GLuint vaobj, GLuint index, GLuint divisor) { + _pre_call_gl_callback("glVertexArrayVertexAttribDivisorEXT", (GLADapiproc) glad_glVertexArrayVertexAttribDivisorEXT, 3, vaobj, index, divisor); + glad_glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribDivisorEXT", (GLADapiproc) glad_glVertexArrayVertexAttribDivisorEXT, 3, vaobj, index, divisor); + +} +PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_debug_glVertexArrayVertexAttribDivisorEXT = glad_debug_impl_glVertexArrayVertexAttribDivisorEXT; +PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayVertexAttribFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribFormatEXT, 6, vaobj, attribindex, size, type, normalized, relativeoffset); + glad_glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribFormatEXT, 6, vaobj, attribindex, size, type, normalized, relativeoffset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_debug_glVertexArrayVertexAttribFormatEXT = glad_debug_impl_glVertexArrayVertexAttribFormatEXT; +PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribIFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayVertexAttribIFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribIFormatEXT, 5, vaobj, attribindex, size, type, relativeoffset); + glad_glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribIFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribIFormatEXT, 5, vaobj, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_debug_glVertexArrayVertexAttribIFormatEXT = glad_debug_impl_glVertexArrayVertexAttribIFormatEXT; +PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayVertexAttribIOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribIOffsetEXT, 7, vaobj, buffer, index, size, type, stride, offset); + glad_glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribIOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribIOffsetEXT, 7, vaobj, buffer, index, size, type, stride, offset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribIOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribIOffsetEXT; +PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribLFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexArrayVertexAttribLFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribLFormatEXT, 5, vaobj, attribindex, size, type, relativeoffset); + glad_glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribLFormatEXT", (GLADapiproc) glad_glVertexArrayVertexAttribLFormatEXT, 5, vaobj, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_debug_glVertexArrayVertexAttribLFormatEXT = glad_debug_impl_glVertexArrayVertexAttribLFormatEXT; +PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayVertexAttribLOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribLOffsetEXT, 7, vaobj, buffer, index, size, type, stride, offset); + glad_glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribLOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribLOffsetEXT, 7, vaobj, buffer, index, size, type, stride, offset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribLOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribLOffsetEXT; +PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayVertexAttribOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribOffsetEXT, 8, vaobj, buffer, index, size, type, normalized, stride, offset); + glad_glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayVertexAttribOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexAttribOffsetEXT, 8, vaobj, buffer, index, size, type, normalized, stride, offset); + +} +PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_debug_glVertexArrayVertexAttribOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribOffsetEXT; +PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexBindingDivisorEXT(GLuint vaobj, GLuint bindingindex, GLuint divisor) { + _pre_call_gl_callback("glVertexArrayVertexBindingDivisorEXT", (GLADapiproc) glad_glVertexArrayVertexBindingDivisorEXT, 3, vaobj, bindingindex, divisor); + glad_glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor); + _post_call_gl_callback(NULL, "glVertexArrayVertexBindingDivisorEXT", (GLADapiproc) glad_glVertexArrayVertexBindingDivisorEXT, 3, vaobj, bindingindex, divisor); + +} +PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_debug_glVertexArrayVertexBindingDivisorEXT = glad_debug_impl_glVertexArrayVertexBindingDivisorEXT; +PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexBuffer(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { + _pre_call_gl_callback("glVertexArrayVertexBuffer", (GLADapiproc) glad_glVertexArrayVertexBuffer, 5, vaobj, bindingindex, buffer, offset, stride); + glad_glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); + _post_call_gl_callback(NULL, "glVertexArrayVertexBuffer", (GLADapiproc) glad_glVertexArrayVertexBuffer, 5, vaobj, bindingindex, buffer, offset, stride); + +} +PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_debug_glVertexArrayVertexBuffer = glad_debug_impl_glVertexArrayVertexBuffer; +PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides) { + _pre_call_gl_callback("glVertexArrayVertexBuffers", (GLADapiproc) glad_glVertexArrayVertexBuffers, 6, vaobj, first, count, buffers, offsets, strides); + glad_glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); + _post_call_gl_callback(NULL, "glVertexArrayVertexBuffers", (GLADapiproc) glad_glVertexArrayVertexBuffers, 6, vaobj, first, count, buffers, offsets, strides); + +} +PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_debug_glVertexArrayVertexBuffers = glad_debug_impl_glVertexArrayVertexBuffers; +PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { + _pre_call_gl_callback("glVertexArrayVertexOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + glad_glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset); + _post_call_gl_callback(NULL, "glVertexArrayVertexOffsetEXT", (GLADapiproc) glad_glVertexArrayVertexOffsetEXT, 6, vaobj, buffer, size, type, stride, offset); + +} +PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_debug_glVertexArrayVertexOffsetEXT = glad_debug_impl_glVertexArrayVertexOffsetEXT; +PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1d(GLuint index, GLdouble x) { + _pre_call_gl_callback("glVertexAttrib1d", (GLADapiproc) glad_glVertexAttrib1d, 2, index, x); + glad_glVertexAttrib1d(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1d", (GLADapiproc) glad_glVertexAttrib1d, 2, index, x); + +} +PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d = glad_debug_impl_glVertexAttrib1d; +PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1dARB(GLuint index, GLdouble x) { + _pre_call_gl_callback("glVertexAttrib1dARB", (GLADapiproc) glad_glVertexAttrib1dARB, 2, index, x); + glad_glVertexAttrib1dARB(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1dARB", (GLADapiproc) glad_glVertexAttrib1dARB, 2, index, x); + +} +PFNGLVERTEXATTRIB1DARBPROC glad_debug_glVertexAttrib1dARB = glad_debug_impl_glVertexAttrib1dARB; +PFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1dNV(GLuint index, GLdouble x) { + _pre_call_gl_callback("glVertexAttrib1dNV", (GLADapiproc) glad_glVertexAttrib1dNV, 2, index, x); + glad_glVertexAttrib1dNV(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1dNV", (GLADapiproc) glad_glVertexAttrib1dNV, 2, index, x); + +} +PFNGLVERTEXATTRIB1DNVPROC glad_debug_glVertexAttrib1dNV = glad_debug_impl_glVertexAttrib1dNV; +PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib1dv", (GLADapiproc) glad_glVertexAttrib1dv, 2, index, v); + glad_glVertexAttrib1dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1dv", (GLADapiproc) glad_glVertexAttrib1dv, 2, index, v); + +} +PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv = glad_debug_impl_glVertexAttrib1dv; +PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1dvARB(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib1dvARB", (GLADapiproc) glad_glVertexAttrib1dvARB, 2, index, v); + glad_glVertexAttrib1dvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1dvARB", (GLADapiproc) glad_glVertexAttrib1dvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB1DVARBPROC glad_debug_glVertexAttrib1dvARB = glad_debug_impl_glVertexAttrib1dvARB; +PFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1dvNV(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib1dvNV", (GLADapiproc) glad_glVertexAttrib1dvNV, 2, index, v); + glad_glVertexAttrib1dvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1dvNV", (GLADapiproc) glad_glVertexAttrib1dvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB1DVNVPROC glad_debug_glVertexAttrib1dvNV = glad_debug_impl_glVertexAttrib1dvNV; +PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1f(GLuint index, GLfloat x) { + _pre_call_gl_callback("glVertexAttrib1f", (GLADapiproc) glad_glVertexAttrib1f, 2, index, x); + glad_glVertexAttrib1f(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1f", (GLADapiproc) glad_glVertexAttrib1f, 2, index, x); + +} +PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f = glad_debug_impl_glVertexAttrib1f; +PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1fARB(GLuint index, GLfloat x) { + _pre_call_gl_callback("glVertexAttrib1fARB", (GLADapiproc) glad_glVertexAttrib1fARB, 2, index, x); + glad_glVertexAttrib1fARB(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1fARB", (GLADapiproc) glad_glVertexAttrib1fARB, 2, index, x); + +} +PFNGLVERTEXATTRIB1FARBPROC glad_debug_glVertexAttrib1fARB = glad_debug_impl_glVertexAttrib1fARB; +PFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1fNV(GLuint index, GLfloat x) { + _pre_call_gl_callback("glVertexAttrib1fNV", (GLADapiproc) glad_glVertexAttrib1fNV, 2, index, x); + glad_glVertexAttrib1fNV(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1fNV", (GLADapiproc) glad_glVertexAttrib1fNV, 2, index, x); + +} +PFNGLVERTEXATTRIB1FNVPROC glad_debug_glVertexAttrib1fNV = glad_debug_impl_glVertexAttrib1fNV; +PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1fv(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib1fv", (GLADapiproc) glad_glVertexAttrib1fv, 2, index, v); + glad_glVertexAttrib1fv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1fv", (GLADapiproc) glad_glVertexAttrib1fv, 2, index, v); + +} +PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv = glad_debug_impl_glVertexAttrib1fv; +PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1fvARB(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib1fvARB", (GLADapiproc) glad_glVertexAttrib1fvARB, 2, index, v); + glad_glVertexAttrib1fvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1fvARB", (GLADapiproc) glad_glVertexAttrib1fvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB1FVARBPROC glad_debug_glVertexAttrib1fvARB = glad_debug_impl_glVertexAttrib1fvARB; +PFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1fvNV(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib1fvNV", (GLADapiproc) glad_glVertexAttrib1fvNV, 2, index, v); + glad_glVertexAttrib1fvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1fvNV", (GLADapiproc) glad_glVertexAttrib1fvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB1FVNVPROC glad_debug_glVertexAttrib1fvNV = glad_debug_impl_glVertexAttrib1fvNV; +PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1s(GLuint index, GLshort x) { + _pre_call_gl_callback("glVertexAttrib1s", (GLADapiproc) glad_glVertexAttrib1s, 2, index, x); + glad_glVertexAttrib1s(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1s", (GLADapiproc) glad_glVertexAttrib1s, 2, index, x); + +} +PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s = glad_debug_impl_glVertexAttrib1s; +PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1sARB(GLuint index, GLshort x) { + _pre_call_gl_callback("glVertexAttrib1sARB", (GLADapiproc) glad_glVertexAttrib1sARB, 2, index, x); + glad_glVertexAttrib1sARB(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1sARB", (GLADapiproc) glad_glVertexAttrib1sARB, 2, index, x); + +} +PFNGLVERTEXATTRIB1SARBPROC glad_debug_glVertexAttrib1sARB = glad_debug_impl_glVertexAttrib1sARB; +PFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1sNV(GLuint index, GLshort x) { + _pre_call_gl_callback("glVertexAttrib1sNV", (GLADapiproc) glad_glVertexAttrib1sNV, 2, index, x); + glad_glVertexAttrib1sNV(index, x); + _post_call_gl_callback(NULL, "glVertexAttrib1sNV", (GLADapiproc) glad_glVertexAttrib1sNV, 2, index, x); + +} +PFNGLVERTEXATTRIB1SNVPROC glad_debug_glVertexAttrib1sNV = glad_debug_impl_glVertexAttrib1sNV; +PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1sv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib1sv", (GLADapiproc) glad_glVertexAttrib1sv, 2, index, v); + glad_glVertexAttrib1sv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1sv", (GLADapiproc) glad_glVertexAttrib1sv, 2, index, v); + +} +PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv = glad_debug_impl_glVertexAttrib1sv; +PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1svARB(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib1svARB", (GLADapiproc) glad_glVertexAttrib1svARB, 2, index, v); + glad_glVertexAttrib1svARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1svARB", (GLADapiproc) glad_glVertexAttrib1svARB, 2, index, v); + +} +PFNGLVERTEXATTRIB1SVARBPROC glad_debug_glVertexAttrib1svARB = glad_debug_impl_glVertexAttrib1svARB; +PFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib1svNV(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib1svNV", (GLADapiproc) glad_glVertexAttrib1svNV, 2, index, v); + glad_glVertexAttrib1svNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib1svNV", (GLADapiproc) glad_glVertexAttrib1svNV, 2, index, v); + +} +PFNGLVERTEXATTRIB1SVNVPROC glad_debug_glVertexAttrib1svNV = glad_debug_impl_glVertexAttrib1svNV; +PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glVertexAttrib2d", (GLADapiproc) glad_glVertexAttrib2d, 3, index, x, y); + glad_glVertexAttrib2d(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2d", (GLADapiproc) glad_glVertexAttrib2d, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d = glad_debug_impl_glVertexAttrib2d; +PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glVertexAttrib2dARB", (GLADapiproc) glad_glVertexAttrib2dARB, 3, index, x, y); + glad_glVertexAttrib2dARB(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2dARB", (GLADapiproc) glad_glVertexAttrib2dARB, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2DARBPROC glad_debug_glVertexAttrib2dARB = glad_debug_impl_glVertexAttrib2dARB; +PFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glVertexAttrib2dNV", (GLADapiproc) glad_glVertexAttrib2dNV, 3, index, x, y); + glad_glVertexAttrib2dNV(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2dNV", (GLADapiproc) glad_glVertexAttrib2dNV, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2DNVPROC glad_debug_glVertexAttrib2dNV = glad_debug_impl_glVertexAttrib2dNV; +PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib2dv", (GLADapiproc) glad_glVertexAttrib2dv, 2, index, v); + glad_glVertexAttrib2dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2dv", (GLADapiproc) glad_glVertexAttrib2dv, 2, index, v); + +} +PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv = glad_debug_impl_glVertexAttrib2dv; +PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2dvARB(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib2dvARB", (GLADapiproc) glad_glVertexAttrib2dvARB, 2, index, v); + glad_glVertexAttrib2dvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2dvARB", (GLADapiproc) glad_glVertexAttrib2dvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB2DVARBPROC glad_debug_glVertexAttrib2dvARB = glad_debug_impl_glVertexAttrib2dvARB; +PFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2dvNV(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib2dvNV", (GLADapiproc) glad_glVertexAttrib2dvNV, 2, index, v); + glad_glVertexAttrib2dvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2dvNV", (GLADapiproc) glad_glVertexAttrib2dvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB2DVNVPROC glad_debug_glVertexAttrib2dvNV = glad_debug_impl_glVertexAttrib2dvNV; +PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { + _pre_call_gl_callback("glVertexAttrib2f", (GLADapiproc) glad_glVertexAttrib2f, 3, index, x, y); + glad_glVertexAttrib2f(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2f", (GLADapiproc) glad_glVertexAttrib2f, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f = glad_debug_impl_glVertexAttrib2f; +PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y) { + _pre_call_gl_callback("glVertexAttrib2fARB", (GLADapiproc) glad_glVertexAttrib2fARB, 3, index, x, y); + glad_glVertexAttrib2fARB(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2fARB", (GLADapiproc) glad_glVertexAttrib2fARB, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2FARBPROC glad_debug_glVertexAttrib2fARB = glad_debug_impl_glVertexAttrib2fARB; +PFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y) { + _pre_call_gl_callback("glVertexAttrib2fNV", (GLADapiproc) glad_glVertexAttrib2fNV, 3, index, x, y); + glad_glVertexAttrib2fNV(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2fNV", (GLADapiproc) glad_glVertexAttrib2fNV, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2FNVPROC glad_debug_glVertexAttrib2fNV = glad_debug_impl_glVertexAttrib2fNV; +PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2fv(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib2fv", (GLADapiproc) glad_glVertexAttrib2fv, 2, index, v); + glad_glVertexAttrib2fv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2fv", (GLADapiproc) glad_glVertexAttrib2fv, 2, index, v); + +} +PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv = glad_debug_impl_glVertexAttrib2fv; +PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2fvARB(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib2fvARB", (GLADapiproc) glad_glVertexAttrib2fvARB, 2, index, v); + glad_glVertexAttrib2fvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2fvARB", (GLADapiproc) glad_glVertexAttrib2fvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB2FVARBPROC glad_debug_glVertexAttrib2fvARB = glad_debug_impl_glVertexAttrib2fvARB; +PFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2fvNV(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib2fvNV", (GLADapiproc) glad_glVertexAttrib2fvNV, 2, index, v); + glad_glVertexAttrib2fvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2fvNV", (GLADapiproc) glad_glVertexAttrib2fvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB2FVNVPROC glad_debug_glVertexAttrib2fvNV = glad_debug_impl_glVertexAttrib2fvNV; +PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { + _pre_call_gl_callback("glVertexAttrib2s", (GLADapiproc) glad_glVertexAttrib2s, 3, index, x, y); + glad_glVertexAttrib2s(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2s", (GLADapiproc) glad_glVertexAttrib2s, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s = glad_debug_impl_glVertexAttrib2s; +PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y) { + _pre_call_gl_callback("glVertexAttrib2sARB", (GLADapiproc) glad_glVertexAttrib2sARB, 3, index, x, y); + glad_glVertexAttrib2sARB(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2sARB", (GLADapiproc) glad_glVertexAttrib2sARB, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2SARBPROC glad_debug_glVertexAttrib2sARB = glad_debug_impl_glVertexAttrib2sARB; +PFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y) { + _pre_call_gl_callback("glVertexAttrib2sNV", (GLADapiproc) glad_glVertexAttrib2sNV, 3, index, x, y); + glad_glVertexAttrib2sNV(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttrib2sNV", (GLADapiproc) glad_glVertexAttrib2sNV, 3, index, x, y); + +} +PFNGLVERTEXATTRIB2SNVPROC glad_debug_glVertexAttrib2sNV = glad_debug_impl_glVertexAttrib2sNV; +PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2sv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib2sv", (GLADapiproc) glad_glVertexAttrib2sv, 2, index, v); + glad_glVertexAttrib2sv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2sv", (GLADapiproc) glad_glVertexAttrib2sv, 2, index, v); + +} +PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv = glad_debug_impl_glVertexAttrib2sv; +PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2svARB(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib2svARB", (GLADapiproc) glad_glVertexAttrib2svARB, 2, index, v); + glad_glVertexAttrib2svARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2svARB", (GLADapiproc) glad_glVertexAttrib2svARB, 2, index, v); + +} +PFNGLVERTEXATTRIB2SVARBPROC glad_debug_glVertexAttrib2svARB = glad_debug_impl_glVertexAttrib2svARB; +PFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib2svNV(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib2svNV", (GLADapiproc) glad_glVertexAttrib2svNV, 2, index, v); + glad_glVertexAttrib2svNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib2svNV", (GLADapiproc) glad_glVertexAttrib2svNV, 2, index, v); + +} +PFNGLVERTEXATTRIB2SVNVPROC glad_debug_glVertexAttrib2svNV = glad_debug_impl_glVertexAttrib2svNV; +PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glVertexAttrib3d", (GLADapiproc) glad_glVertexAttrib3d, 4, index, x, y, z); + glad_glVertexAttrib3d(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3d", (GLADapiproc) glad_glVertexAttrib3d, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d = glad_debug_impl_glVertexAttrib3d; +PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glVertexAttrib3dARB", (GLADapiproc) glad_glVertexAttrib3dARB, 4, index, x, y, z); + glad_glVertexAttrib3dARB(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3dARB", (GLADapiproc) glad_glVertexAttrib3dARB, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3DARBPROC glad_debug_glVertexAttrib3dARB = glad_debug_impl_glVertexAttrib3dARB; +PFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glVertexAttrib3dNV", (GLADapiproc) glad_glVertexAttrib3dNV, 4, index, x, y, z); + glad_glVertexAttrib3dNV(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3dNV", (GLADapiproc) glad_glVertexAttrib3dNV, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3DNVPROC glad_debug_glVertexAttrib3dNV = glad_debug_impl_glVertexAttrib3dNV; +PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib3dv", (GLADapiproc) glad_glVertexAttrib3dv, 2, index, v); + glad_glVertexAttrib3dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3dv", (GLADapiproc) glad_glVertexAttrib3dv, 2, index, v); + +} +PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv = glad_debug_impl_glVertexAttrib3dv; +PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3dvARB(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib3dvARB", (GLADapiproc) glad_glVertexAttrib3dvARB, 2, index, v); + glad_glVertexAttrib3dvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3dvARB", (GLADapiproc) glad_glVertexAttrib3dvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB3DVARBPROC glad_debug_glVertexAttrib3dvARB = glad_debug_impl_glVertexAttrib3dvARB; +PFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3dvNV(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib3dvNV", (GLADapiproc) glad_glVertexAttrib3dvNV, 2, index, v); + glad_glVertexAttrib3dvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3dvNV", (GLADapiproc) glad_glVertexAttrib3dvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB3DVNVPROC glad_debug_glVertexAttrib3dvNV = glad_debug_impl_glVertexAttrib3dvNV; +PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glVertexAttrib3f", (GLADapiproc) glad_glVertexAttrib3f, 4, index, x, y, z); + glad_glVertexAttrib3f(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3f", (GLADapiproc) glad_glVertexAttrib3f, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f = glad_debug_impl_glVertexAttrib3f; +PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glVertexAttrib3fARB", (GLADapiproc) glad_glVertexAttrib3fARB, 4, index, x, y, z); + glad_glVertexAttrib3fARB(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3fARB", (GLADapiproc) glad_glVertexAttrib3fARB, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3FARBPROC glad_debug_glVertexAttrib3fARB = glad_debug_impl_glVertexAttrib3fARB; +PFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z) { + _pre_call_gl_callback("glVertexAttrib3fNV", (GLADapiproc) glad_glVertexAttrib3fNV, 4, index, x, y, z); + glad_glVertexAttrib3fNV(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3fNV", (GLADapiproc) glad_glVertexAttrib3fNV, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3FNVPROC glad_debug_glVertexAttrib3fNV = glad_debug_impl_glVertexAttrib3fNV; +PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3fv(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib3fv", (GLADapiproc) glad_glVertexAttrib3fv, 2, index, v); + glad_glVertexAttrib3fv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3fv", (GLADapiproc) glad_glVertexAttrib3fv, 2, index, v); + +} +PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv = glad_debug_impl_glVertexAttrib3fv; +PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3fvARB(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib3fvARB", (GLADapiproc) glad_glVertexAttrib3fvARB, 2, index, v); + glad_glVertexAttrib3fvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3fvARB", (GLADapiproc) glad_glVertexAttrib3fvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB3FVARBPROC glad_debug_glVertexAttrib3fvARB = glad_debug_impl_glVertexAttrib3fvARB; +PFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3fvNV(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib3fvNV", (GLADapiproc) glad_glVertexAttrib3fvNV, 2, index, v); + glad_glVertexAttrib3fvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3fvNV", (GLADapiproc) glad_glVertexAttrib3fvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB3FVNVPROC glad_debug_glVertexAttrib3fvNV = glad_debug_impl_glVertexAttrib3fvNV; +PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { + _pre_call_gl_callback("glVertexAttrib3s", (GLADapiproc) glad_glVertexAttrib3s, 4, index, x, y, z); + glad_glVertexAttrib3s(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3s", (GLADapiproc) glad_glVertexAttrib3s, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s = glad_debug_impl_glVertexAttrib3s; +PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z) { + _pre_call_gl_callback("glVertexAttrib3sARB", (GLADapiproc) glad_glVertexAttrib3sARB, 4, index, x, y, z); + glad_glVertexAttrib3sARB(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3sARB", (GLADapiproc) glad_glVertexAttrib3sARB, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3SARBPROC glad_debug_glVertexAttrib3sARB = glad_debug_impl_glVertexAttrib3sARB; +PFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) { + _pre_call_gl_callback("glVertexAttrib3sNV", (GLADapiproc) glad_glVertexAttrib3sNV, 4, index, x, y, z); + glad_glVertexAttrib3sNV(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttrib3sNV", (GLADapiproc) glad_glVertexAttrib3sNV, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIB3SNVPROC glad_debug_glVertexAttrib3sNV = glad_debug_impl_glVertexAttrib3sNV; +PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3sv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib3sv", (GLADapiproc) glad_glVertexAttrib3sv, 2, index, v); + glad_glVertexAttrib3sv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3sv", (GLADapiproc) glad_glVertexAttrib3sv, 2, index, v); + +} +PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv = glad_debug_impl_glVertexAttrib3sv; +PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3svARB(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib3svARB", (GLADapiproc) glad_glVertexAttrib3svARB, 2, index, v); + glad_glVertexAttrib3svARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3svARB", (GLADapiproc) glad_glVertexAttrib3svARB, 2, index, v); + +} +PFNGLVERTEXATTRIB3SVARBPROC glad_debug_glVertexAttrib3svARB = glad_debug_impl_glVertexAttrib3svARB; +PFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib3svNV(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib3svNV", (GLADapiproc) glad_glVertexAttrib3svNV, 2, index, v); + glad_glVertexAttrib3svNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib3svNV", (GLADapiproc) glad_glVertexAttrib3svNV, 2, index, v); + +} +PFNGLVERTEXATTRIB3SVNVPROC glad_debug_glVertexAttrib3svNV = glad_debug_impl_glVertexAttrib3svNV; +PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nbv(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttrib4Nbv", (GLADapiproc) glad_glVertexAttrib4Nbv, 2, index, v); + glad_glVertexAttrib4Nbv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Nbv", (GLADapiproc) glad_glVertexAttrib4Nbv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv = glad_debug_impl_glVertexAttrib4Nbv; +PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NbvARB(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttrib4NbvARB", (GLADapiproc) glad_glVertexAttrib4NbvARB, 2, index, v); + glad_glVertexAttrib4NbvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NbvARB", (GLADapiproc) glad_glVertexAttrib4NbvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NBVARBPROC glad_debug_glVertexAttrib4NbvARB = glad_debug_impl_glVertexAttrib4NbvARB; +PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Niv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttrib4Niv", (GLADapiproc) glad_glVertexAttrib4Niv, 2, index, v); + glad_glVertexAttrib4Niv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Niv", (GLADapiproc) glad_glVertexAttrib4Niv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv = glad_debug_impl_glVertexAttrib4Niv; +PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NivARB(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttrib4NivARB", (GLADapiproc) glad_glVertexAttrib4NivARB, 2, index, v); + glad_glVertexAttrib4NivARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NivARB", (GLADapiproc) glad_glVertexAttrib4NivARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NIVARBPROC glad_debug_glVertexAttrib4NivARB = glad_debug_impl_glVertexAttrib4NivARB; +PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nsv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib4Nsv", (GLADapiproc) glad_glVertexAttrib4Nsv, 2, index, v); + glad_glVertexAttrib4Nsv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Nsv", (GLADapiproc) glad_glVertexAttrib4Nsv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv = glad_debug_impl_glVertexAttrib4Nsv; +PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NsvARB(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib4NsvARB", (GLADapiproc) glad_glVertexAttrib4NsvARB, 2, index, v); + glad_glVertexAttrib4NsvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NsvARB", (GLADapiproc) glad_glVertexAttrib4NsvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NSVARBPROC glad_debug_glVertexAttrib4NsvARB = glad_debug_impl_glVertexAttrib4NsvARB; +PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { + _pre_call_gl_callback("glVertexAttrib4Nub", (GLADapiproc) glad_glVertexAttrib4Nub, 5, index, x, y, z, w); + glad_glVertexAttrib4Nub(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4Nub", (GLADapiproc) glad_glVertexAttrib4Nub, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub = glad_debug_impl_glVertexAttrib4Nub; +PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { + _pre_call_gl_callback("glVertexAttrib4NubARB", (GLADapiproc) glad_glVertexAttrib4NubARB, 5, index, x, y, z, w); + glad_glVertexAttrib4NubARB(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4NubARB", (GLADapiproc) glad_glVertexAttrib4NubARB, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4NUBARBPROC glad_debug_glVertexAttrib4NubARB = glad_debug_impl_glVertexAttrib4NubARB; +PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nubv(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttrib4Nubv", (GLADapiproc) glad_glVertexAttrib4Nubv, 2, index, v); + glad_glVertexAttrib4Nubv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Nubv", (GLADapiproc) glad_glVertexAttrib4Nubv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv = glad_debug_impl_glVertexAttrib4Nubv; +PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NubvARB(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttrib4NubvARB", (GLADapiproc) glad_glVertexAttrib4NubvARB, 2, index, v); + glad_glVertexAttrib4NubvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NubvARB", (GLADapiproc) glad_glVertexAttrib4NubvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUBVARBPROC glad_debug_glVertexAttrib4NubvARB = glad_debug_impl_glVertexAttrib4NubvARB; +PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nuiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttrib4Nuiv", (GLADapiproc) glad_glVertexAttrib4Nuiv, 2, index, v); + glad_glVertexAttrib4Nuiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Nuiv", (GLADapiproc) glad_glVertexAttrib4Nuiv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv = glad_debug_impl_glVertexAttrib4Nuiv; +PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NuivARB(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttrib4NuivARB", (GLADapiproc) glad_glVertexAttrib4NuivARB, 2, index, v); + glad_glVertexAttrib4NuivARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NuivARB", (GLADapiproc) glad_glVertexAttrib4NuivARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUIVARBPROC glad_debug_glVertexAttrib4NuivARB = glad_debug_impl_glVertexAttrib4NuivARB; +PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4Nusv(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttrib4Nusv", (GLADapiproc) glad_glVertexAttrib4Nusv, 2, index, v); + glad_glVertexAttrib4Nusv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4Nusv", (GLADapiproc) glad_glVertexAttrib4Nusv, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv = glad_debug_impl_glVertexAttrib4Nusv; +PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4NusvARB(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttrib4NusvARB", (GLADapiproc) glad_glVertexAttrib4NusvARB, 2, index, v); + glad_glVertexAttrib4NusvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4NusvARB", (GLADapiproc) glad_glVertexAttrib4NusvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4NUSVARBPROC glad_debug_glVertexAttrib4NusvARB = glad_debug_impl_glVertexAttrib4NusvARB; +PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4bv(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttrib4bv", (GLADapiproc) glad_glVertexAttrib4bv, 2, index, v); + glad_glVertexAttrib4bv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4bv", (GLADapiproc) glad_glVertexAttrib4bv, 2, index, v); + +} +PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv = glad_debug_impl_glVertexAttrib4bv; +PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4bvARB(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttrib4bvARB", (GLADapiproc) glad_glVertexAttrib4bvARB, 2, index, v); + glad_glVertexAttrib4bvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4bvARB", (GLADapiproc) glad_glVertexAttrib4bvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4BVARBPROC glad_debug_glVertexAttrib4bvARB = glad_debug_impl_glVertexAttrib4bvARB; +PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glVertexAttrib4d", (GLADapiproc) glad_glVertexAttrib4d, 5, index, x, y, z, w); + glad_glVertexAttrib4d(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4d", (GLADapiproc) glad_glVertexAttrib4d, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d = glad_debug_impl_glVertexAttrib4d; +PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glVertexAttrib4dARB", (GLADapiproc) glad_glVertexAttrib4dARB, 5, index, x, y, z, w); + glad_glVertexAttrib4dARB(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4dARB", (GLADapiproc) glad_glVertexAttrib4dARB, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4DARBPROC glad_debug_glVertexAttrib4dARB = glad_debug_impl_glVertexAttrib4dARB; +PFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glVertexAttrib4dNV", (GLADapiproc) glad_glVertexAttrib4dNV, 5, index, x, y, z, w); + glad_glVertexAttrib4dNV(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4dNV", (GLADapiproc) glad_glVertexAttrib4dNV, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4DNVPROC glad_debug_glVertexAttrib4dNV = glad_debug_impl_glVertexAttrib4dNV; +PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib4dv", (GLADapiproc) glad_glVertexAttrib4dv, 2, index, v); + glad_glVertexAttrib4dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4dv", (GLADapiproc) glad_glVertexAttrib4dv, 2, index, v); + +} +PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv = glad_debug_impl_glVertexAttrib4dv; +PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4dvARB(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib4dvARB", (GLADapiproc) glad_glVertexAttrib4dvARB, 2, index, v); + glad_glVertexAttrib4dvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4dvARB", (GLADapiproc) glad_glVertexAttrib4dvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4DVARBPROC glad_debug_glVertexAttrib4dvARB = glad_debug_impl_glVertexAttrib4dvARB; +PFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4dvNV(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttrib4dvNV", (GLADapiproc) glad_glVertexAttrib4dvNV, 2, index, v); + glad_glVertexAttrib4dvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4dvNV", (GLADapiproc) glad_glVertexAttrib4dvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB4DVNVPROC glad_debug_glVertexAttrib4dvNV = glad_debug_impl_glVertexAttrib4dvNV; +PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glVertexAttrib4f", (GLADapiproc) glad_glVertexAttrib4f, 5, index, x, y, z, w); + glad_glVertexAttrib4f(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4f", (GLADapiproc) glad_glVertexAttrib4f, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f = glad_debug_impl_glVertexAttrib4f; +PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glVertexAttrib4fARB", (GLADapiproc) glad_glVertexAttrib4fARB, 5, index, x, y, z, w); + glad_glVertexAttrib4fARB(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4fARB", (GLADapiproc) glad_glVertexAttrib4fARB, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4FARBPROC glad_debug_glVertexAttrib4fARB = glad_debug_impl_glVertexAttrib4fARB; +PFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { + _pre_call_gl_callback("glVertexAttrib4fNV", (GLADapiproc) glad_glVertexAttrib4fNV, 5, index, x, y, z, w); + glad_glVertexAttrib4fNV(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4fNV", (GLADapiproc) glad_glVertexAttrib4fNV, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4FNVPROC glad_debug_glVertexAttrib4fNV = glad_debug_impl_glVertexAttrib4fNV; +PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4fv(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib4fv", (GLADapiproc) glad_glVertexAttrib4fv, 2, index, v); + glad_glVertexAttrib4fv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4fv", (GLADapiproc) glad_glVertexAttrib4fv, 2, index, v); + +} +PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv = glad_debug_impl_glVertexAttrib4fv; +PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4fvARB(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib4fvARB", (GLADapiproc) glad_glVertexAttrib4fvARB, 2, index, v); + glad_glVertexAttrib4fvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4fvARB", (GLADapiproc) glad_glVertexAttrib4fvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4FVARBPROC glad_debug_glVertexAttrib4fvARB = glad_debug_impl_glVertexAttrib4fvARB; +PFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4fvNV(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttrib4fvNV", (GLADapiproc) glad_glVertexAttrib4fvNV, 2, index, v); + glad_glVertexAttrib4fvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4fvNV", (GLADapiproc) glad_glVertexAttrib4fvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB4FVNVPROC glad_debug_glVertexAttrib4fvNV = glad_debug_impl_glVertexAttrib4fvNV; +PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4iv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttrib4iv", (GLADapiproc) glad_glVertexAttrib4iv, 2, index, v); + glad_glVertexAttrib4iv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4iv", (GLADapiproc) glad_glVertexAttrib4iv, 2, index, v); + +} +PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv = glad_debug_impl_glVertexAttrib4iv; +PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4ivARB(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttrib4ivARB", (GLADapiproc) glad_glVertexAttrib4ivARB, 2, index, v); + glad_glVertexAttrib4ivARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4ivARB", (GLADapiproc) glad_glVertexAttrib4ivARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4IVARBPROC glad_debug_glVertexAttrib4ivARB = glad_debug_impl_glVertexAttrib4ivARB; +PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { + _pre_call_gl_callback("glVertexAttrib4s", (GLADapiproc) glad_glVertexAttrib4s, 5, index, x, y, z, w); + glad_glVertexAttrib4s(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4s", (GLADapiproc) glad_glVertexAttrib4s, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s = glad_debug_impl_glVertexAttrib4s; +PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { + _pre_call_gl_callback("glVertexAttrib4sARB", (GLADapiproc) glad_glVertexAttrib4sARB, 5, index, x, y, z, w); + glad_glVertexAttrib4sARB(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4sARB", (GLADapiproc) glad_glVertexAttrib4sARB, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4SARBPROC glad_debug_glVertexAttrib4sARB = glad_debug_impl_glVertexAttrib4sARB; +PFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { + _pre_call_gl_callback("glVertexAttrib4sNV", (GLADapiproc) glad_glVertexAttrib4sNV, 5, index, x, y, z, w); + glad_glVertexAttrib4sNV(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4sNV", (GLADapiproc) glad_glVertexAttrib4sNV, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4SNVPROC glad_debug_glVertexAttrib4sNV = glad_debug_impl_glVertexAttrib4sNV; +PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4sv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib4sv", (GLADapiproc) glad_glVertexAttrib4sv, 2, index, v); + glad_glVertexAttrib4sv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4sv", (GLADapiproc) glad_glVertexAttrib4sv, 2, index, v); + +} +PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv = glad_debug_impl_glVertexAttrib4sv; +PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4svARB(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib4svARB", (GLADapiproc) glad_glVertexAttrib4svARB, 2, index, v); + glad_glVertexAttrib4svARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4svARB", (GLADapiproc) glad_glVertexAttrib4svARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4SVARBPROC glad_debug_glVertexAttrib4svARB = glad_debug_impl_glVertexAttrib4svARB; +PFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4svNV(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttrib4svNV", (GLADapiproc) glad_glVertexAttrib4svNV, 2, index, v); + glad_glVertexAttrib4svNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4svNV", (GLADapiproc) glad_glVertexAttrib4svNV, 2, index, v); + +} +PFNGLVERTEXATTRIB4SVNVPROC glad_debug_glVertexAttrib4svNV = glad_debug_impl_glVertexAttrib4svNV; +PFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { + _pre_call_gl_callback("glVertexAttrib4ubNV", (GLADapiproc) glad_glVertexAttrib4ubNV, 5, index, x, y, z, w); + glad_glVertexAttrib4ubNV(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttrib4ubNV", (GLADapiproc) glad_glVertexAttrib4ubNV, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIB4UBNVPROC glad_debug_glVertexAttrib4ubNV = glad_debug_impl_glVertexAttrib4ubNV; +PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4ubv(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttrib4ubv", (GLADapiproc) glad_glVertexAttrib4ubv, 2, index, v); + glad_glVertexAttrib4ubv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4ubv", (GLADapiproc) glad_glVertexAttrib4ubv, 2, index, v); + +} +PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv = glad_debug_impl_glVertexAttrib4ubv; +PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4ubvARB(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttrib4ubvARB", (GLADapiproc) glad_glVertexAttrib4ubvARB, 2, index, v); + glad_glVertexAttrib4ubvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4ubvARB", (GLADapiproc) glad_glVertexAttrib4ubvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4UBVARBPROC glad_debug_glVertexAttrib4ubvARB = glad_debug_impl_glVertexAttrib4ubvARB; +PFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4ubvNV(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttrib4ubvNV", (GLADapiproc) glad_glVertexAttrib4ubvNV, 2, index, v); + glad_glVertexAttrib4ubvNV(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4ubvNV", (GLADapiproc) glad_glVertexAttrib4ubvNV, 2, index, v); + +} +PFNGLVERTEXATTRIB4UBVNVPROC glad_debug_glVertexAttrib4ubvNV = glad_debug_impl_glVertexAttrib4ubvNV; +PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4uiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttrib4uiv", (GLADapiproc) glad_glVertexAttrib4uiv, 2, index, v); + glad_glVertexAttrib4uiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4uiv", (GLADapiproc) glad_glVertexAttrib4uiv, 2, index, v); + +} +PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv = glad_debug_impl_glVertexAttrib4uiv; +PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4uivARB(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttrib4uivARB", (GLADapiproc) glad_glVertexAttrib4uivARB, 2, index, v); + glad_glVertexAttrib4uivARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4uivARB", (GLADapiproc) glad_glVertexAttrib4uivARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4UIVARBPROC glad_debug_glVertexAttrib4uivARB = glad_debug_impl_glVertexAttrib4uivARB; +PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4usv(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttrib4usv", (GLADapiproc) glad_glVertexAttrib4usv, 2, index, v); + glad_glVertexAttrib4usv(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4usv", (GLADapiproc) glad_glVertexAttrib4usv, 2, index, v); + +} +PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv = glad_debug_impl_glVertexAttrib4usv; +PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttrib4usvARB(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttrib4usvARB", (GLADapiproc) glad_glVertexAttrib4usvARB, 2, index, v); + glad_glVertexAttrib4usvARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttrib4usvARB", (GLADapiproc) glad_glVertexAttrib4usvARB, 2, index, v); + +} +PFNGLVERTEXATTRIB4USVARBPROC glad_debug_glVertexAttrib4usvARB = glad_debug_impl_glVertexAttrib4usvARB; +PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { + _pre_call_gl_callback("glVertexAttribBinding", (GLADapiproc) glad_glVertexAttribBinding, 2, attribindex, bindingindex); + glad_glVertexAttribBinding(attribindex, bindingindex); + _post_call_gl_callback(NULL, "glVertexAttribBinding", (GLADapiproc) glad_glVertexAttribBinding, 2, attribindex, bindingindex); + +} +PFNGLVERTEXATTRIBBINDINGPROC glad_debug_glVertexAttribBinding = glad_debug_impl_glVertexAttribBinding; +PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribDivisor(GLuint index, GLuint divisor) { + _pre_call_gl_callback("glVertexAttribDivisor", (GLADapiproc) glad_glVertexAttribDivisor, 2, index, divisor); + glad_glVertexAttribDivisor(index, divisor); + _post_call_gl_callback(NULL, "glVertexAttribDivisor", (GLADapiproc) glad_glVertexAttribDivisor, 2, index, divisor); + +} +PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor = glad_debug_impl_glVertexAttribDivisor; +PFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribDivisorARB(GLuint index, GLuint divisor) { + _pre_call_gl_callback("glVertexAttribDivisorARB", (GLADapiproc) glad_glVertexAttribDivisorARB, 2, index, divisor); + glad_glVertexAttribDivisorARB(index, divisor); + _post_call_gl_callback(NULL, "glVertexAttribDivisorARB", (GLADapiproc) glad_glVertexAttribDivisorARB, 2, index, divisor); + +} +PFNGLVERTEXATTRIBDIVISORARBPROC glad_debug_glVertexAttribDivisorARB = glad_debug_impl_glVertexAttribDivisorARB; +PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexAttribFormat", (GLADapiproc) glad_glVertexAttribFormat, 5, attribindex, size, type, normalized, relativeoffset); + glad_glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + _post_call_gl_callback(NULL, "glVertexAttribFormat", (GLADapiproc) glad_glVertexAttribFormat, 5, attribindex, size, type, normalized, relativeoffset); + +} +PFNGLVERTEXATTRIBFORMATPROC glad_debug_glVertexAttribFormat = glad_debug_impl_glVertexAttribFormat; +PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1i(GLuint index, GLint x) { + _pre_call_gl_callback("glVertexAttribI1i", (GLADapiproc) glad_glVertexAttribI1i, 2, index, x); + glad_glVertexAttribI1i(index, x); + _post_call_gl_callback(NULL, "glVertexAttribI1i", (GLADapiproc) glad_glVertexAttribI1i, 2, index, x); + +} +PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i = glad_debug_impl_glVertexAttribI1i; +PFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1iEXT(GLuint index, GLint x) { + _pre_call_gl_callback("glVertexAttribI1iEXT", (GLADapiproc) glad_glVertexAttribI1iEXT, 2, index, x); + glad_glVertexAttribI1iEXT(index, x); + _post_call_gl_callback(NULL, "glVertexAttribI1iEXT", (GLADapiproc) glad_glVertexAttribI1iEXT, 2, index, x); + +} +PFNGLVERTEXATTRIBI1IEXTPROC glad_debug_glVertexAttribI1iEXT = glad_debug_impl_glVertexAttribI1iEXT; +PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1iv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI1iv", (GLADapiproc) glad_glVertexAttribI1iv, 2, index, v); + glad_glVertexAttribI1iv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI1iv", (GLADapiproc) glad_glVertexAttribI1iv, 2, index, v); + +} +PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv = glad_debug_impl_glVertexAttribI1iv; +PFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1ivEXT(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI1ivEXT", (GLADapiproc) glad_glVertexAttribI1ivEXT, 2, index, v); + glad_glVertexAttribI1ivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI1ivEXT", (GLADapiproc) glad_glVertexAttribI1ivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI1IVEXTPROC glad_debug_glVertexAttribI1ivEXT = glad_debug_impl_glVertexAttribI1ivEXT; +PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1ui(GLuint index, GLuint x) { + _pre_call_gl_callback("glVertexAttribI1ui", (GLADapiproc) glad_glVertexAttribI1ui, 2, index, x); + glad_glVertexAttribI1ui(index, x); + _post_call_gl_callback(NULL, "glVertexAttribI1ui", (GLADapiproc) glad_glVertexAttribI1ui, 2, index, x); + +} +PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui = glad_debug_impl_glVertexAttribI1ui; +PFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1uiEXT(GLuint index, GLuint x) { + _pre_call_gl_callback("glVertexAttribI1uiEXT", (GLADapiproc) glad_glVertexAttribI1uiEXT, 2, index, x); + glad_glVertexAttribI1uiEXT(index, x); + _post_call_gl_callback(NULL, "glVertexAttribI1uiEXT", (GLADapiproc) glad_glVertexAttribI1uiEXT, 2, index, x); + +} +PFNGLVERTEXATTRIBI1UIEXTPROC glad_debug_glVertexAttribI1uiEXT = glad_debug_impl_glVertexAttribI1uiEXT; +PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1uiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI1uiv", (GLADapiproc) glad_glVertexAttribI1uiv, 2, index, v); + glad_glVertexAttribI1uiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI1uiv", (GLADapiproc) glad_glVertexAttribI1uiv, 2, index, v); + +} +PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv = glad_debug_impl_glVertexAttribI1uiv; +PFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI1uivEXT(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI1uivEXT", (GLADapiproc) glad_glVertexAttribI1uivEXT, 2, index, v); + glad_glVertexAttribI1uivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI1uivEXT", (GLADapiproc) glad_glVertexAttribI1uivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI1UIVEXTPROC glad_debug_glVertexAttribI1uivEXT = glad_debug_impl_glVertexAttribI1uivEXT; +PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2i(GLuint index, GLint x, GLint y) { + _pre_call_gl_callback("glVertexAttribI2i", (GLADapiproc) glad_glVertexAttribI2i, 3, index, x, y); + glad_glVertexAttribI2i(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribI2i", (GLADapiproc) glad_glVertexAttribI2i, 3, index, x, y); + +} +PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i = glad_debug_impl_glVertexAttribI2i; +PFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2iEXT(GLuint index, GLint x, GLint y) { + _pre_call_gl_callback("glVertexAttribI2iEXT", (GLADapiproc) glad_glVertexAttribI2iEXT, 3, index, x, y); + glad_glVertexAttribI2iEXT(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribI2iEXT", (GLADapiproc) glad_glVertexAttribI2iEXT, 3, index, x, y); + +} +PFNGLVERTEXATTRIBI2IEXTPROC glad_debug_glVertexAttribI2iEXT = glad_debug_impl_glVertexAttribI2iEXT; +PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2iv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI2iv", (GLADapiproc) glad_glVertexAttribI2iv, 2, index, v); + glad_glVertexAttribI2iv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI2iv", (GLADapiproc) glad_glVertexAttribI2iv, 2, index, v); + +} +PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv = glad_debug_impl_glVertexAttribI2iv; +PFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2ivEXT(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI2ivEXT", (GLADapiproc) glad_glVertexAttribI2ivEXT, 2, index, v); + glad_glVertexAttribI2ivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI2ivEXT", (GLADapiproc) glad_glVertexAttribI2ivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI2IVEXTPROC glad_debug_glVertexAttribI2ivEXT = glad_debug_impl_glVertexAttribI2ivEXT; +PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { + _pre_call_gl_callback("glVertexAttribI2ui", (GLADapiproc) glad_glVertexAttribI2ui, 3, index, x, y); + glad_glVertexAttribI2ui(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribI2ui", (GLADapiproc) glad_glVertexAttribI2ui, 3, index, x, y); + +} +PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui = glad_debug_impl_glVertexAttribI2ui; +PFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y) { + _pre_call_gl_callback("glVertexAttribI2uiEXT", (GLADapiproc) glad_glVertexAttribI2uiEXT, 3, index, x, y); + glad_glVertexAttribI2uiEXT(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribI2uiEXT", (GLADapiproc) glad_glVertexAttribI2uiEXT, 3, index, x, y); + +} +PFNGLVERTEXATTRIBI2UIEXTPROC glad_debug_glVertexAttribI2uiEXT = glad_debug_impl_glVertexAttribI2uiEXT; +PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2uiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI2uiv", (GLADapiproc) glad_glVertexAttribI2uiv, 2, index, v); + glad_glVertexAttribI2uiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI2uiv", (GLADapiproc) glad_glVertexAttribI2uiv, 2, index, v); + +} +PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv = glad_debug_impl_glVertexAttribI2uiv; +PFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI2uivEXT(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI2uivEXT", (GLADapiproc) glad_glVertexAttribI2uivEXT, 2, index, v); + glad_glVertexAttribI2uivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI2uivEXT", (GLADapiproc) glad_glVertexAttribI2uivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI2UIVEXTPROC glad_debug_glVertexAttribI2uivEXT = glad_debug_impl_glVertexAttribI2uivEXT; +PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { + _pre_call_gl_callback("glVertexAttribI3i", (GLADapiproc) glad_glVertexAttribI3i, 4, index, x, y, z); + glad_glVertexAttribI3i(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribI3i", (GLADapiproc) glad_glVertexAttribI3i, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i = glad_debug_impl_glVertexAttribI3i; +PFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z) { + _pre_call_gl_callback("glVertexAttribI3iEXT", (GLADapiproc) glad_glVertexAttribI3iEXT, 4, index, x, y, z); + glad_glVertexAttribI3iEXT(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribI3iEXT", (GLADapiproc) glad_glVertexAttribI3iEXT, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBI3IEXTPROC glad_debug_glVertexAttribI3iEXT = glad_debug_impl_glVertexAttribI3iEXT; +PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3iv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI3iv", (GLADapiproc) glad_glVertexAttribI3iv, 2, index, v); + glad_glVertexAttribI3iv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI3iv", (GLADapiproc) glad_glVertexAttribI3iv, 2, index, v); + +} +PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv = glad_debug_impl_glVertexAttribI3iv; +PFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3ivEXT(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI3ivEXT", (GLADapiproc) glad_glVertexAttribI3ivEXT, 2, index, v); + glad_glVertexAttribI3ivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI3ivEXT", (GLADapiproc) glad_glVertexAttribI3ivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI3IVEXTPROC glad_debug_glVertexAttribI3ivEXT = glad_debug_impl_glVertexAttribI3ivEXT; +PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { + _pre_call_gl_callback("glVertexAttribI3ui", (GLADapiproc) glad_glVertexAttribI3ui, 4, index, x, y, z); + glad_glVertexAttribI3ui(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribI3ui", (GLADapiproc) glad_glVertexAttribI3ui, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui = glad_debug_impl_glVertexAttribI3ui; +PFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z) { + _pre_call_gl_callback("glVertexAttribI3uiEXT", (GLADapiproc) glad_glVertexAttribI3uiEXT, 4, index, x, y, z); + glad_glVertexAttribI3uiEXT(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribI3uiEXT", (GLADapiproc) glad_glVertexAttribI3uiEXT, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBI3UIEXTPROC glad_debug_glVertexAttribI3uiEXT = glad_debug_impl_glVertexAttribI3uiEXT; +PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3uiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI3uiv", (GLADapiproc) glad_glVertexAttribI3uiv, 2, index, v); + glad_glVertexAttribI3uiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI3uiv", (GLADapiproc) glad_glVertexAttribI3uiv, 2, index, v); + +} +PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv = glad_debug_impl_glVertexAttribI3uiv; +PFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI3uivEXT(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI3uivEXT", (GLADapiproc) glad_glVertexAttribI3uivEXT, 2, index, v); + glad_glVertexAttribI3uivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI3uivEXT", (GLADapiproc) glad_glVertexAttribI3uivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI3UIVEXTPROC glad_debug_glVertexAttribI3uivEXT = glad_debug_impl_glVertexAttribI3uivEXT; +PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4bv(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttribI4bv", (GLADapiproc) glad_glVertexAttribI4bv, 2, index, v); + glad_glVertexAttribI4bv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4bv", (GLADapiproc) glad_glVertexAttribI4bv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv = glad_debug_impl_glVertexAttribI4bv; +PFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4bvEXT(GLuint index, const GLbyte * v) { + _pre_call_gl_callback("glVertexAttribI4bvEXT", (GLADapiproc) glad_glVertexAttribI4bvEXT, 2, index, v); + glad_glVertexAttribI4bvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4bvEXT", (GLADapiproc) glad_glVertexAttribI4bvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4BVEXTPROC glad_debug_glVertexAttribI4bvEXT = glad_debug_impl_glVertexAttribI4bvEXT; +PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { + _pre_call_gl_callback("glVertexAttribI4i", (GLADapiproc) glad_glVertexAttribI4i, 5, index, x, y, z, w); + glad_glVertexAttribI4i(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribI4i", (GLADapiproc) glad_glVertexAttribI4i, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i = glad_debug_impl_glVertexAttribI4i; +PFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w) { + _pre_call_gl_callback("glVertexAttribI4iEXT", (GLADapiproc) glad_glVertexAttribI4iEXT, 5, index, x, y, z, w); + glad_glVertexAttribI4iEXT(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribI4iEXT", (GLADapiproc) glad_glVertexAttribI4iEXT, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBI4IEXTPROC glad_debug_glVertexAttribI4iEXT = glad_debug_impl_glVertexAttribI4iEXT; +PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4iv(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI4iv", (GLADapiproc) glad_glVertexAttribI4iv, 2, index, v); + glad_glVertexAttribI4iv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4iv", (GLADapiproc) glad_glVertexAttribI4iv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv = glad_debug_impl_glVertexAttribI4iv; +PFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4ivEXT(GLuint index, const GLint * v) { + _pre_call_gl_callback("glVertexAttribI4ivEXT", (GLADapiproc) glad_glVertexAttribI4ivEXT, 2, index, v); + glad_glVertexAttribI4ivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4ivEXT", (GLADapiproc) glad_glVertexAttribI4ivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4IVEXTPROC glad_debug_glVertexAttribI4ivEXT = glad_debug_impl_glVertexAttribI4ivEXT; +PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4sv(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribI4sv", (GLADapiproc) glad_glVertexAttribI4sv, 2, index, v); + glad_glVertexAttribI4sv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4sv", (GLADapiproc) glad_glVertexAttribI4sv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv = glad_debug_impl_glVertexAttribI4sv; +PFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4svEXT(GLuint index, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribI4svEXT", (GLADapiproc) glad_glVertexAttribI4svEXT, 2, index, v); + glad_glVertexAttribI4svEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4svEXT", (GLADapiproc) glad_glVertexAttribI4svEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4SVEXTPROC glad_debug_glVertexAttribI4svEXT = glad_debug_impl_glVertexAttribI4svEXT; +PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4ubv(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttribI4ubv", (GLADapiproc) glad_glVertexAttribI4ubv, 2, index, v); + glad_glVertexAttribI4ubv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4ubv", (GLADapiproc) glad_glVertexAttribI4ubv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv = glad_debug_impl_glVertexAttribI4ubv; +PFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4ubvEXT(GLuint index, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttribI4ubvEXT", (GLADapiproc) glad_glVertexAttribI4ubvEXT, 2, index, v); + glad_glVertexAttribI4ubvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4ubvEXT", (GLADapiproc) glad_glVertexAttribI4ubvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4UBVEXTPROC glad_debug_glVertexAttribI4ubvEXT = glad_debug_impl_glVertexAttribI4ubvEXT; +PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { + _pre_call_gl_callback("glVertexAttribI4ui", (GLADapiproc) glad_glVertexAttribI4ui, 5, index, x, y, z, w); + glad_glVertexAttribI4ui(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribI4ui", (GLADapiproc) glad_glVertexAttribI4ui, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui = glad_debug_impl_glVertexAttribI4ui; +PFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { + _pre_call_gl_callback("glVertexAttribI4uiEXT", (GLADapiproc) glad_glVertexAttribI4uiEXT, 5, index, x, y, z, w); + glad_glVertexAttribI4uiEXT(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribI4uiEXT", (GLADapiproc) glad_glVertexAttribI4uiEXT, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBI4UIEXTPROC glad_debug_glVertexAttribI4uiEXT = glad_debug_impl_glVertexAttribI4uiEXT; +PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4uiv(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI4uiv", (GLADapiproc) glad_glVertexAttribI4uiv, 2, index, v); + glad_glVertexAttribI4uiv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4uiv", (GLADapiproc) glad_glVertexAttribI4uiv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv = glad_debug_impl_glVertexAttribI4uiv; +PFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4uivEXT(GLuint index, const GLuint * v) { + _pre_call_gl_callback("glVertexAttribI4uivEXT", (GLADapiproc) glad_glVertexAttribI4uivEXT, 2, index, v); + glad_glVertexAttribI4uivEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4uivEXT", (GLADapiproc) glad_glVertexAttribI4uivEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4UIVEXTPROC glad_debug_glVertexAttribI4uivEXT = glad_debug_impl_glVertexAttribI4uivEXT; +PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4usv(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttribI4usv", (GLADapiproc) glad_glVertexAttribI4usv, 2, index, v); + glad_glVertexAttribI4usv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4usv", (GLADapiproc) glad_glVertexAttribI4usv, 2, index, v); + +} +PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv = glad_debug_impl_glVertexAttribI4usv; +PFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribI4usvEXT(GLuint index, const GLushort * v) { + _pre_call_gl_callback("glVertexAttribI4usvEXT", (GLADapiproc) glad_glVertexAttribI4usvEXT, 2, index, v); + glad_glVertexAttribI4usvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribI4usvEXT", (GLADapiproc) glad_glVertexAttribI4usvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBI4USVEXTPROC glad_debug_glVertexAttribI4usvEXT = glad_debug_impl_glVertexAttribI4usvEXT; +PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexAttribIFormat", (GLADapiproc) glad_glVertexAttribIFormat, 4, attribindex, size, type, relativeoffset); + glad_glVertexAttribIFormat(attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexAttribIFormat", (GLADapiproc) glad_glVertexAttribIFormat, 4, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXATTRIBIFORMATPROC glad_debug_glVertexAttribIFormat = glad_debug_impl_glVertexAttribIFormat; +PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribIPointer", (GLADapiproc) glad_glVertexAttribIPointer, 5, index, size, type, stride, pointer); + glad_glVertexAttribIPointer(index, size, type, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribIPointer", (GLADapiproc) glad_glVertexAttribIPointer, 5, index, size, type, stride, pointer); + +} +PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer = glad_debug_impl_glVertexAttribIPointer; +PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribIPointerEXT", (GLADapiproc) glad_glVertexAttribIPointerEXT, 5, index, size, type, stride, pointer); + glad_glVertexAttribIPointerEXT(index, size, type, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribIPointerEXT", (GLADapiproc) glad_glVertexAttribIPointerEXT, 5, index, size, type, stride, pointer); + +} +PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_debug_glVertexAttribIPointerEXT = glad_debug_impl_glVertexAttribIPointerEXT; +PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1d(GLuint index, GLdouble x) { + _pre_call_gl_callback("glVertexAttribL1d", (GLADapiproc) glad_glVertexAttribL1d, 2, index, x); + glad_glVertexAttribL1d(index, x); + _post_call_gl_callback(NULL, "glVertexAttribL1d", (GLADapiproc) glad_glVertexAttribL1d, 2, index, x); + +} +PFNGLVERTEXATTRIBL1DPROC glad_debug_glVertexAttribL1d = glad_debug_impl_glVertexAttribL1d; +PFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1dEXT(GLuint index, GLdouble x) { + _pre_call_gl_callback("glVertexAttribL1dEXT", (GLADapiproc) glad_glVertexAttribL1dEXT, 2, index, x); + glad_glVertexAttribL1dEXT(index, x); + _post_call_gl_callback(NULL, "glVertexAttribL1dEXT", (GLADapiproc) glad_glVertexAttribL1dEXT, 2, index, x); + +} +PFNGLVERTEXATTRIBL1DEXTPROC glad_debug_glVertexAttribL1dEXT = glad_debug_impl_glVertexAttribL1dEXT; +PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL1dv", (GLADapiproc) glad_glVertexAttribL1dv, 2, index, v); + glad_glVertexAttribL1dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL1dv", (GLADapiproc) glad_glVertexAttribL1dv, 2, index, v); + +} +PFNGLVERTEXATTRIBL1DVPROC glad_debug_glVertexAttribL1dv = glad_debug_impl_glVertexAttribL1dv; +PFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1dvEXT(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL1dvEXT", (GLADapiproc) glad_glVertexAttribL1dvEXT, 2, index, v); + glad_glVertexAttribL1dvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL1dvEXT", (GLADapiproc) glad_glVertexAttribL1dvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBL1DVEXTPROC glad_debug_glVertexAttribL1dvEXT = glad_debug_impl_glVertexAttribL1dvEXT; +PFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x) { + _pre_call_gl_callback("glVertexAttribL1ui64ARB", (GLADapiproc) glad_glVertexAttribL1ui64ARB, 2, index, x); + glad_glVertexAttribL1ui64ARB(index, x); + _post_call_gl_callback(NULL, "glVertexAttribL1ui64ARB", (GLADapiproc) glad_glVertexAttribL1ui64ARB, 2, index, x); + +} +PFNGLVERTEXATTRIBL1UI64ARBPROC glad_debug_glVertexAttribL1ui64ARB = glad_debug_impl_glVertexAttribL1ui64ARB; +PFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT * v) { + _pre_call_gl_callback("glVertexAttribL1ui64vARB", (GLADapiproc) glad_glVertexAttribL1ui64vARB, 2, index, v); + glad_glVertexAttribL1ui64vARB(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL1ui64vARB", (GLADapiproc) glad_glVertexAttribL1ui64vARB, 2, index, v); + +} +PFNGLVERTEXATTRIBL1UI64VARBPROC glad_debug_glVertexAttribL1ui64vARB = glad_debug_impl_glVertexAttribL1ui64vARB; +PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glVertexAttribL2d", (GLADapiproc) glad_glVertexAttribL2d, 3, index, x, y); + glad_glVertexAttribL2d(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribL2d", (GLADapiproc) glad_glVertexAttribL2d, 3, index, x, y); + +} +PFNGLVERTEXATTRIBL2DPROC glad_debug_glVertexAttribL2d = glad_debug_impl_glVertexAttribL2d; +PFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y) { + _pre_call_gl_callback("glVertexAttribL2dEXT", (GLADapiproc) glad_glVertexAttribL2dEXT, 3, index, x, y); + glad_glVertexAttribL2dEXT(index, x, y); + _post_call_gl_callback(NULL, "glVertexAttribL2dEXT", (GLADapiproc) glad_glVertexAttribL2dEXT, 3, index, x, y); + +} +PFNGLVERTEXATTRIBL2DEXTPROC glad_debug_glVertexAttribL2dEXT = glad_debug_impl_glVertexAttribL2dEXT; +PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL2dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL2dv", (GLADapiproc) glad_glVertexAttribL2dv, 2, index, v); + glad_glVertexAttribL2dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL2dv", (GLADapiproc) glad_glVertexAttribL2dv, 2, index, v); + +} +PFNGLVERTEXATTRIBL2DVPROC glad_debug_glVertexAttribL2dv = glad_debug_impl_glVertexAttribL2dv; +PFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL2dvEXT(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL2dvEXT", (GLADapiproc) glad_glVertexAttribL2dvEXT, 2, index, v); + glad_glVertexAttribL2dvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL2dvEXT", (GLADapiproc) glad_glVertexAttribL2dvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBL2DVEXTPROC glad_debug_glVertexAttribL2dvEXT = glad_debug_impl_glVertexAttribL2dvEXT; +PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glVertexAttribL3d", (GLADapiproc) glad_glVertexAttribL3d, 4, index, x, y, z); + glad_glVertexAttribL3d(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribL3d", (GLADapiproc) glad_glVertexAttribL3d, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBL3DPROC glad_debug_glVertexAttribL3d = glad_debug_impl_glVertexAttribL3d; +PFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z) { + _pre_call_gl_callback("glVertexAttribL3dEXT", (GLADapiproc) glad_glVertexAttribL3dEXT, 4, index, x, y, z); + glad_glVertexAttribL3dEXT(index, x, y, z); + _post_call_gl_callback(NULL, "glVertexAttribL3dEXT", (GLADapiproc) glad_glVertexAttribL3dEXT, 4, index, x, y, z); + +} +PFNGLVERTEXATTRIBL3DEXTPROC glad_debug_glVertexAttribL3dEXT = glad_debug_impl_glVertexAttribL3dEXT; +PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL3dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL3dv", (GLADapiproc) glad_glVertexAttribL3dv, 2, index, v); + glad_glVertexAttribL3dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL3dv", (GLADapiproc) glad_glVertexAttribL3dv, 2, index, v); + +} +PFNGLVERTEXATTRIBL3DVPROC glad_debug_glVertexAttribL3dv = glad_debug_impl_glVertexAttribL3dv; +PFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL3dvEXT(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL3dvEXT", (GLADapiproc) glad_glVertexAttribL3dvEXT, 2, index, v); + glad_glVertexAttribL3dvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL3dvEXT", (GLADapiproc) glad_glVertexAttribL3dvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBL3DVEXTPROC glad_debug_glVertexAttribL3dvEXT = glad_debug_impl_glVertexAttribL3dvEXT; +PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glVertexAttribL4d", (GLADapiproc) glad_glVertexAttribL4d, 5, index, x, y, z, w); + glad_glVertexAttribL4d(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribL4d", (GLADapiproc) glad_glVertexAttribL4d, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBL4DPROC glad_debug_glVertexAttribL4d = glad_debug_impl_glVertexAttribL4d; +PFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { + _pre_call_gl_callback("glVertexAttribL4dEXT", (GLADapiproc) glad_glVertexAttribL4dEXT, 5, index, x, y, z, w); + glad_glVertexAttribL4dEXT(index, x, y, z, w); + _post_call_gl_callback(NULL, "glVertexAttribL4dEXT", (GLADapiproc) glad_glVertexAttribL4dEXT, 5, index, x, y, z, w); + +} +PFNGLVERTEXATTRIBL4DEXTPROC glad_debug_glVertexAttribL4dEXT = glad_debug_impl_glVertexAttribL4dEXT; +PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL4dv(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL4dv", (GLADapiproc) glad_glVertexAttribL4dv, 2, index, v); + glad_glVertexAttribL4dv(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL4dv", (GLADapiproc) glad_glVertexAttribL4dv, 2, index, v); + +} +PFNGLVERTEXATTRIBL4DVPROC glad_debug_glVertexAttribL4dv = glad_debug_impl_glVertexAttribL4dv; +PFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribL4dvEXT(GLuint index, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribL4dvEXT", (GLADapiproc) glad_glVertexAttribL4dvEXT, 2, index, v); + glad_glVertexAttribL4dvEXT(index, v); + _post_call_gl_callback(NULL, "glVertexAttribL4dvEXT", (GLADapiproc) glad_glVertexAttribL4dvEXT, 2, index, v); + +} +PFNGLVERTEXATTRIBL4DVEXTPROC glad_debug_glVertexAttribL4dvEXT = glad_debug_impl_glVertexAttribL4dvEXT; +PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { + _pre_call_gl_callback("glVertexAttribLFormat", (GLADapiproc) glad_glVertexAttribLFormat, 4, attribindex, size, type, relativeoffset); + glad_glVertexAttribLFormat(attribindex, size, type, relativeoffset); + _post_call_gl_callback(NULL, "glVertexAttribLFormat", (GLADapiproc) glad_glVertexAttribLFormat, 4, attribindex, size, type, relativeoffset); + +} +PFNGLVERTEXATTRIBLFORMATPROC glad_debug_glVertexAttribLFormat = glad_debug_impl_glVertexAttribLFormat; +PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribLPointer", (GLADapiproc) glad_glVertexAttribLPointer, 5, index, size, type, stride, pointer); + glad_glVertexAttribLPointer(index, size, type, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribLPointer", (GLADapiproc) glad_glVertexAttribLPointer, 5, index, size, type, stride, pointer); + +} +PFNGLVERTEXATTRIBLPOINTERPROC glad_debug_glVertexAttribLPointer = glad_debug_impl_glVertexAttribLPointer; +PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribLPointerEXT", (GLADapiproc) glad_glVertexAttribLPointerEXT, 5, index, size, type, stride, pointer); + glad_glVertexAttribLPointerEXT(index, size, type, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribLPointerEXT", (GLADapiproc) glad_glVertexAttribLPointerEXT, 5, index, size, type, stride, pointer); + +} +PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_debug_glVertexAttribLPointerEXT = glad_debug_impl_glVertexAttribLPointerEXT; +PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { + _pre_call_gl_callback("glVertexAttribP1ui", (GLADapiproc) glad_glVertexAttribP1ui, 4, index, type, normalized, value); + glad_glVertexAttribP1ui(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP1ui", (GLADapiproc) glad_glVertexAttribP1ui, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui = glad_debug_impl_glVertexAttribP1ui; +PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) { + _pre_call_gl_callback("glVertexAttribP1uiv", (GLADapiproc) glad_glVertexAttribP1uiv, 4, index, type, normalized, value); + glad_glVertexAttribP1uiv(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP1uiv", (GLADapiproc) glad_glVertexAttribP1uiv, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv = glad_debug_impl_glVertexAttribP1uiv; +PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { + _pre_call_gl_callback("glVertexAttribP2ui", (GLADapiproc) glad_glVertexAttribP2ui, 4, index, type, normalized, value); + glad_glVertexAttribP2ui(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP2ui", (GLADapiproc) glad_glVertexAttribP2ui, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui = glad_debug_impl_glVertexAttribP2ui; +PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) { + _pre_call_gl_callback("glVertexAttribP2uiv", (GLADapiproc) glad_glVertexAttribP2uiv, 4, index, type, normalized, value); + glad_glVertexAttribP2uiv(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP2uiv", (GLADapiproc) glad_glVertexAttribP2uiv, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv = glad_debug_impl_glVertexAttribP2uiv; +PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { + _pre_call_gl_callback("glVertexAttribP3ui", (GLADapiproc) glad_glVertexAttribP3ui, 4, index, type, normalized, value); + glad_glVertexAttribP3ui(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP3ui", (GLADapiproc) glad_glVertexAttribP3ui, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui = glad_debug_impl_glVertexAttribP3ui; +PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) { + _pre_call_gl_callback("glVertexAttribP3uiv", (GLADapiproc) glad_glVertexAttribP3uiv, 4, index, type, normalized, value); + glad_glVertexAttribP3uiv(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP3uiv", (GLADapiproc) glad_glVertexAttribP3uiv, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv = glad_debug_impl_glVertexAttribP3uiv; +PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { + _pre_call_gl_callback("glVertexAttribP4ui", (GLADapiproc) glad_glVertexAttribP4ui, 4, index, type, normalized, value); + glad_glVertexAttribP4ui(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP4ui", (GLADapiproc) glad_glVertexAttribP4ui, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui = glad_debug_impl_glVertexAttribP4ui; +PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) { + _pre_call_gl_callback("glVertexAttribP4uiv", (GLADapiproc) glad_glVertexAttribP4uiv, 4, index, type, normalized, value); + glad_glVertexAttribP4uiv(index, type, normalized, value); + _post_call_gl_callback(NULL, "glVertexAttribP4uiv", (GLADapiproc) glad_glVertexAttribP4uiv, 4, index, type, normalized, value); + +} +PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv = glad_debug_impl_glVertexAttribP4uiv; +PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribPointer", (GLADapiproc) glad_glVertexAttribPointer, 6, index, size, type, normalized, stride, pointer); + glad_glVertexAttribPointer(index, size, type, normalized, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribPointer", (GLADapiproc) glad_glVertexAttribPointer, 6, index, size, type, normalized, stride, pointer); + +} +PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer = glad_debug_impl_glVertexAttribPointer; +PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribPointerARB", (GLADapiproc) glad_glVertexAttribPointerARB, 6, index, size, type, normalized, stride, pointer); + glad_glVertexAttribPointerARB(index, size, type, normalized, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribPointerARB", (GLADapiproc) glad_glVertexAttribPointerARB, 6, index, size, type, normalized, stride, pointer); + +} +PFNGLVERTEXATTRIBPOINTERARBPROC glad_debug_glVertexAttribPointerARB = glad_debug_impl_glVertexAttribPointerARB; +PFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void * pointer) { + _pre_call_gl_callback("glVertexAttribPointerNV", (GLADapiproc) glad_glVertexAttribPointerNV, 5, index, fsize, type, stride, pointer); + glad_glVertexAttribPointerNV(index, fsize, type, stride, pointer); + _post_call_gl_callback(NULL, "glVertexAttribPointerNV", (GLADapiproc) glad_glVertexAttribPointerNV, 5, index, fsize, type, stride, pointer); + +} +PFNGLVERTEXATTRIBPOINTERNVPROC glad_debug_glVertexAttribPointerNV = glad_debug_impl_glVertexAttribPointerNV; +PFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribs1dvNV", (GLADapiproc) glad_glVertexAttribs1dvNV, 3, index, count, v); + glad_glVertexAttribs1dvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs1dvNV", (GLADapiproc) glad_glVertexAttribs1dvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS1DVNVPROC glad_debug_glVertexAttribs1dvNV = glad_debug_impl_glVertexAttribs1dvNV; +PFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttribs1fvNV", (GLADapiproc) glad_glVertexAttribs1fvNV, 3, index, count, v); + glad_glVertexAttribs1fvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs1fvNV", (GLADapiproc) glad_glVertexAttribs1fvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS1FVNVPROC glad_debug_glVertexAttribs1fvNV = glad_debug_impl_glVertexAttribs1fvNV; +PFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribs1svNV", (GLADapiproc) glad_glVertexAttribs1svNV, 3, index, count, v); + glad_glVertexAttribs1svNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs1svNV", (GLADapiproc) glad_glVertexAttribs1svNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS1SVNVPROC glad_debug_glVertexAttribs1svNV = glad_debug_impl_glVertexAttribs1svNV; +PFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribs2dvNV", (GLADapiproc) glad_glVertexAttribs2dvNV, 3, index, count, v); + glad_glVertexAttribs2dvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs2dvNV", (GLADapiproc) glad_glVertexAttribs2dvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS2DVNVPROC glad_debug_glVertexAttribs2dvNV = glad_debug_impl_glVertexAttribs2dvNV; +PFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttribs2fvNV", (GLADapiproc) glad_glVertexAttribs2fvNV, 3, index, count, v); + glad_glVertexAttribs2fvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs2fvNV", (GLADapiproc) glad_glVertexAttribs2fvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS2FVNVPROC glad_debug_glVertexAttribs2fvNV = glad_debug_impl_glVertexAttribs2fvNV; +PFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribs2svNV", (GLADapiproc) glad_glVertexAttribs2svNV, 3, index, count, v); + glad_glVertexAttribs2svNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs2svNV", (GLADapiproc) glad_glVertexAttribs2svNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS2SVNVPROC glad_debug_glVertexAttribs2svNV = glad_debug_impl_glVertexAttribs2svNV; +PFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribs3dvNV", (GLADapiproc) glad_glVertexAttribs3dvNV, 3, index, count, v); + glad_glVertexAttribs3dvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs3dvNV", (GLADapiproc) glad_glVertexAttribs3dvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS3DVNVPROC glad_debug_glVertexAttribs3dvNV = glad_debug_impl_glVertexAttribs3dvNV; +PFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttribs3fvNV", (GLADapiproc) glad_glVertexAttribs3fvNV, 3, index, count, v); + glad_glVertexAttribs3fvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs3fvNV", (GLADapiproc) glad_glVertexAttribs3fvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS3FVNVPROC glad_debug_glVertexAttribs3fvNV = glad_debug_impl_glVertexAttribs3fvNV; +PFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribs3svNV", (GLADapiproc) glad_glVertexAttribs3svNV, 3, index, count, v); + glad_glVertexAttribs3svNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs3svNV", (GLADapiproc) glad_glVertexAttribs3svNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS3SVNVPROC glad_debug_glVertexAttribs3svNV = glad_debug_impl_glVertexAttribs3svNV; +PFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble * v) { + _pre_call_gl_callback("glVertexAttribs4dvNV", (GLADapiproc) glad_glVertexAttribs4dvNV, 3, index, count, v); + glad_glVertexAttribs4dvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs4dvNV", (GLADapiproc) glad_glVertexAttribs4dvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS4DVNVPROC glad_debug_glVertexAttribs4dvNV = glad_debug_impl_glVertexAttribs4dvNV; +PFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glVertexAttribs4fvNV", (GLADapiproc) glad_glVertexAttribs4fvNV, 3, index, count, v); + glad_glVertexAttribs4fvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs4fvNV", (GLADapiproc) glad_glVertexAttribs4fvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS4FVNVPROC glad_debug_glVertexAttribs4fvNV = glad_debug_impl_glVertexAttribs4fvNV; +PFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort * v) { + _pre_call_gl_callback("glVertexAttribs4svNV", (GLADapiproc) glad_glVertexAttribs4svNV, 3, index, count, v); + glad_glVertexAttribs4svNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs4svNV", (GLADapiproc) glad_glVertexAttribs4svNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS4SVNVPROC glad_debug_glVertexAttribs4svNV = glad_debug_impl_glVertexAttribs4svNV; +PFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte * v) { + _pre_call_gl_callback("glVertexAttribs4ubvNV", (GLADapiproc) glad_glVertexAttribs4ubvNV, 3, index, count, v); + glad_glVertexAttribs4ubvNV(index, count, v); + _post_call_gl_callback(NULL, "glVertexAttribs4ubvNV", (GLADapiproc) glad_glVertexAttribs4ubvNV, 3, index, count, v); + +} +PFNGLVERTEXATTRIBS4UBVNVPROC glad_debug_glVertexAttribs4ubvNV = glad_debug_impl_glVertexAttribs4ubvNV; +PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { + _pre_call_gl_callback("glVertexBindingDivisor", (GLADapiproc) glad_glVertexBindingDivisor, 2, bindingindex, divisor); + glad_glVertexBindingDivisor(bindingindex, divisor); + _post_call_gl_callback(NULL, "glVertexBindingDivisor", (GLADapiproc) glad_glVertexBindingDivisor, 2, bindingindex, divisor); + +} +PFNGLVERTEXBINDINGDIVISORPROC glad_debug_glVertexBindingDivisor = glad_debug_impl_glVertexBindingDivisor; +PFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer) { + _pre_call_gl_callback("glVertexPointerEXT", (GLADapiproc) glad_glVertexPointerEXT, 5, size, type, stride, count, pointer); + glad_glVertexPointerEXT(size, type, stride, count, pointer); + _post_call_gl_callback(NULL, "glVertexPointerEXT", (GLADapiproc) glad_glVertexPointerEXT, 5, size, type, stride, count, pointer); + +} +PFNGLVERTEXPOINTEREXTPROC glad_debug_glVertexPointerEXT = glad_debug_impl_glVertexPointerEXT; +PFNGLVIEWPORTPROC glad_glViewport = NULL; +static void GLAD_API_PTR glad_debug_impl_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { + _pre_call_gl_callback("glViewport", (GLADapiproc) glad_glViewport, 4, x, y, width, height); + glad_glViewport(x, y, width, height); + _post_call_gl_callback(NULL, "glViewport", (GLADapiproc) glad_glViewport, 4, x, y, width, height); + +} +PFNGLVIEWPORTPROC glad_debug_glViewport = glad_debug_impl_glViewport; +PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL; +static void GLAD_API_PTR glad_debug_impl_glViewportArrayv(GLuint first, GLsizei count, const GLfloat * v) { + _pre_call_gl_callback("glViewportArrayv", (GLADapiproc) glad_glViewportArrayv, 3, first, count, v); + glad_glViewportArrayv(first, count, v); + _post_call_gl_callback(NULL, "glViewportArrayv", (GLADapiproc) glad_glViewportArrayv, 3, first, count, v); + +} +PFNGLVIEWPORTARRAYVPROC glad_debug_glViewportArrayv = glad_debug_impl_glViewportArrayv; +PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL; +static void GLAD_API_PTR glad_debug_impl_glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { + _pre_call_gl_callback("glViewportIndexedf", (GLADapiproc) glad_glViewportIndexedf, 5, index, x, y, w, h); + glad_glViewportIndexedf(index, x, y, w, h); + _post_call_gl_callback(NULL, "glViewportIndexedf", (GLADapiproc) glad_glViewportIndexedf, 5, index, x, y, w, h); + +} +PFNGLVIEWPORTINDEXEDFPROC glad_debug_glViewportIndexedf = glad_debug_impl_glViewportIndexedf; +PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL; +static void GLAD_API_PTR glad_debug_impl_glViewportIndexedfv(GLuint index, const GLfloat * v) { + _pre_call_gl_callback("glViewportIndexedfv", (GLADapiproc) glad_glViewportIndexedfv, 2, index, v); + glad_glViewportIndexedfv(index, v); + _post_call_gl_callback(NULL, "glViewportIndexedfv", (GLADapiproc) glad_glViewportIndexedfv, 2, index, v); + +} +PFNGLVIEWPORTINDEXEDFVPROC glad_debug_glViewportIndexedfv = glad_debug_impl_glViewportIndexedfv; +PFNGLWAITSYNCPROC glad_glWaitSync = NULL; +static void GLAD_API_PTR glad_debug_impl_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { + _pre_call_gl_callback("glWaitSync", (GLADapiproc) glad_glWaitSync, 3, sync, flags, timeout); + glad_glWaitSync(sync, flags, timeout); + _post_call_gl_callback(NULL, "glWaitSync", (GLADapiproc) glad_glWaitSync, 3, sync, flags, timeout); + +} +PFNGLWAITSYNCPROC glad_debug_glWaitSync = glad_debug_impl_glWaitSync; + + +static void glad_gl_load_GL_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_0) return; + glad_glBlendFunc = (PFNGLBLENDFUNCPROC) load(userptr, "glBlendFunc"); + glad_glClear = (PFNGLCLEARPROC) load(userptr, "glClear"); + glad_glClearColor = (PFNGLCLEARCOLORPROC) load(userptr, "glClearColor"); + glad_glClearDepth = (PFNGLCLEARDEPTHPROC) load(userptr, "glClearDepth"); + glad_glClearStencil = (PFNGLCLEARSTENCILPROC) load(userptr, "glClearStencil"); + glad_glColorMask = (PFNGLCOLORMASKPROC) load(userptr, "glColorMask"); + glad_glCullFace = (PFNGLCULLFACEPROC) load(userptr, "glCullFace"); + glad_glDepthFunc = (PFNGLDEPTHFUNCPROC) load(userptr, "glDepthFunc"); + glad_glDepthMask = (PFNGLDEPTHMASKPROC) load(userptr, "glDepthMask"); + glad_glDepthRange = (PFNGLDEPTHRANGEPROC) load(userptr, "glDepthRange"); + glad_glDisable = (PFNGLDISABLEPROC) load(userptr, "glDisable"); + glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC) load(userptr, "glDrawBuffer"); + glad_glEnable = (PFNGLENABLEPROC) load(userptr, "glEnable"); + glad_glFinish = (PFNGLFINISHPROC) load(userptr, "glFinish"); + glad_glFlush = (PFNGLFLUSHPROC) load(userptr, "glFlush"); + glad_glFrontFace = (PFNGLFRONTFACEPROC) load(userptr, "glFrontFace"); + glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC) load(userptr, "glGetBooleanv"); + glad_glGetDoublev = (PFNGLGETDOUBLEVPROC) load(userptr, "glGetDoublev"); + glad_glGetError = (PFNGLGETERRORPROC) load(userptr, "glGetError"); + glad_glGetFloatv = (PFNGLGETFLOATVPROC) load(userptr, "glGetFloatv"); + glad_glGetIntegerv = (PFNGLGETINTEGERVPROC) load(userptr, "glGetIntegerv"); + glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString"); + glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC) load(userptr, "glGetTexImage"); + glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) load(userptr, "glGetTexLevelParameterfv"); + glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) load(userptr, "glGetTexLevelParameteriv"); + glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load(userptr, "glGetTexParameterfv"); + glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load(userptr, "glGetTexParameteriv"); + glad_glHint = (PFNGLHINTPROC) load(userptr, "glHint"); + glad_glIsEnabled = (PFNGLISENABLEDPROC) load(userptr, "glIsEnabled"); + glad_glLineWidth = (PFNGLLINEWIDTHPROC) load(userptr, "glLineWidth"); + glad_glLogicOp = (PFNGLLOGICOPPROC) load(userptr, "glLogicOp"); + glad_glPixelStoref = (PFNGLPIXELSTOREFPROC) load(userptr, "glPixelStoref"); + glad_glPixelStorei = (PFNGLPIXELSTOREIPROC) load(userptr, "glPixelStorei"); + glad_glPointSize = (PFNGLPOINTSIZEPROC) load(userptr, "glPointSize"); + glad_glPolygonMode = (PFNGLPOLYGONMODEPROC) load(userptr, "glPolygonMode"); + glad_glReadBuffer = (PFNGLREADBUFFERPROC) load(userptr, "glReadBuffer"); + glad_glReadPixels = (PFNGLREADPIXELSPROC) load(userptr, "glReadPixels"); + glad_glScissor = (PFNGLSCISSORPROC) load(userptr, "glScissor"); + glad_glStencilFunc = (PFNGLSTENCILFUNCPROC) load(userptr, "glStencilFunc"); + glad_glStencilMask = (PFNGLSTENCILMASKPROC) load(userptr, "glStencilMask"); + glad_glStencilOp = (PFNGLSTENCILOPPROC) load(userptr, "glStencilOp"); + glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC) load(userptr, "glTexImage1D"); + glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC) load(userptr, "glTexImage2D"); + glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC) load(userptr, "glTexParameterf"); + glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load(userptr, "glTexParameterfv"); + glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC) load(userptr, "glTexParameteri"); + glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load(userptr, "glTexParameteriv"); + glad_glViewport = (PFNGLVIEWPORTPROC) load(userptr, "glViewport"); +} +static void glad_gl_load_GL_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_1) return; + glad_glBindTexture = (PFNGLBINDTEXTUREPROC) load(userptr, "glBindTexture"); + glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) load(userptr, "glCopyTexImage1D"); + glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load(userptr, "glCopyTexImage2D"); + glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) load(userptr, "glCopyTexSubImage1D"); + glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load(userptr, "glCopyTexSubImage2D"); + glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC) load(userptr, "glDeleteTextures"); + glad_glDrawArrays = (PFNGLDRAWARRAYSPROC) load(userptr, "glDrawArrays"); + glad_glDrawElements = (PFNGLDRAWELEMENTSPROC) load(userptr, "glDrawElements"); + glad_glGenTextures = (PFNGLGENTEXTURESPROC) load(userptr, "glGenTextures"); + glad_glGetPointerv = (PFNGLGETPOINTERVPROC) load(userptr, "glGetPointerv"); + glad_glIsTexture = (PFNGLISTEXTUREPROC) load(userptr, "glIsTexture"); + glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load(userptr, "glPolygonOffset"); + glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) load(userptr, "glTexSubImage1D"); + glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load(userptr, "glTexSubImage2D"); +} +static void glad_gl_load_GL_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_2) return; + glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) load(userptr, "glCopyTexSubImage3D"); + glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) load(userptr, "glDrawRangeElements"); + glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC) load(userptr, "glTexImage3D"); + glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) load(userptr, "glTexSubImage3D"); +} +static void glad_gl_load_GL_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_3) return; + glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC) load(userptr, "glActiveTexture"); + glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) load(userptr, "glCompressedTexImage1D"); + glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load(userptr, "glCompressedTexImage2D"); + glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) load(userptr, "glCompressedTexImage3D"); + glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) load(userptr, "glCompressedTexSubImage1D"); + glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load(userptr, "glCompressedTexSubImage2D"); + glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) load(userptr, "glCompressedTexSubImage3D"); + glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) load(userptr, "glGetCompressedTexImage"); + glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load(userptr, "glSampleCoverage"); +} +static void glad_gl_load_GL_VERSION_1_4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_4) return; + glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor"); + glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation"); + glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load(userptr, "glBlendFuncSeparate"); + glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) load(userptr, "glMultiDrawArrays"); + glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) load(userptr, "glMultiDrawElements"); + glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC) load(userptr, "glPointParameterf"); + glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) load(userptr, "glPointParameterfv"); + glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC) load(userptr, "glPointParameteri"); + glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) load(userptr, "glPointParameteriv"); +} +static void glad_gl_load_GL_VERSION_1_5( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_1_5) return; + glad_glBeginQuery = (PFNGLBEGINQUERYPROC) load(userptr, "glBeginQuery"); + glad_glBindBuffer = (PFNGLBINDBUFFERPROC) load(userptr, "glBindBuffer"); + glad_glBufferData = (PFNGLBUFFERDATAPROC) load(userptr, "glBufferData"); + glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load(userptr, "glBufferSubData"); + glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load(userptr, "glDeleteBuffers"); + glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC) load(userptr, "glDeleteQueries"); + glad_glEndQuery = (PFNGLENDQUERYPROC) load(userptr, "glEndQuery"); + glad_glGenBuffers = (PFNGLGENBUFFERSPROC) load(userptr, "glGenBuffers"); + glad_glGenQueries = (PFNGLGENQUERIESPROC) load(userptr, "glGenQueries"); + glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load(userptr, "glGetBufferParameteriv"); + glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) load(userptr, "glGetBufferPointerv"); + glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) load(userptr, "glGetBufferSubData"); + glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) load(userptr, "glGetQueryObjectiv"); + glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) load(userptr, "glGetQueryObjectuiv"); + glad_glGetQueryiv = (PFNGLGETQUERYIVPROC) load(userptr, "glGetQueryiv"); + glad_glIsBuffer = (PFNGLISBUFFERPROC) load(userptr, "glIsBuffer"); + glad_glIsQuery = (PFNGLISQUERYPROC) load(userptr, "glIsQuery"); + glad_glMapBuffer = (PFNGLMAPBUFFERPROC) load(userptr, "glMapBuffer"); + glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC) load(userptr, "glUnmapBuffer"); +} +static void glad_gl_load_GL_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_2_0) return; + glad_glAttachShader = (PFNGLATTACHSHADERPROC) load(userptr, "glAttachShader"); + glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load(userptr, "glBindAttribLocation"); + glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load(userptr, "glBlendEquationSeparate"); + glad_glCompileShader = (PFNGLCOMPILESHADERPROC) load(userptr, "glCompileShader"); + glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC) load(userptr, "glCreateProgram"); + glad_glCreateShader = (PFNGLCREATESHADERPROC) load(userptr, "glCreateShader"); + glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load(userptr, "glDeleteProgram"); + glad_glDeleteShader = (PFNGLDELETESHADERPROC) load(userptr, "glDeleteShader"); + glad_glDetachShader = (PFNGLDETACHSHADERPROC) load(userptr, "glDetachShader"); + glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load(userptr, "glDisableVertexAttribArray"); + glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC) load(userptr, "glDrawBuffers"); + glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load(userptr, "glEnableVertexAttribArray"); + glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load(userptr, "glGetActiveAttrib"); + glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load(userptr, "glGetActiveUniform"); + glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load(userptr, "glGetAttachedShaders"); + glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load(userptr, "glGetAttribLocation"); + glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load(userptr, "glGetProgramInfoLog"); + glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load(userptr, "glGetProgramiv"); + glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load(userptr, "glGetShaderInfoLog"); + glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load(userptr, "glGetShaderSource"); + glad_glGetShaderiv = (PFNGLGETSHADERIVPROC) load(userptr, "glGetShaderiv"); + glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load(userptr, "glGetUniformLocation"); + glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load(userptr, "glGetUniformfv"); + glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load(userptr, "glGetUniformiv"); + glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load(userptr, "glGetVertexAttribPointerv"); + glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) load(userptr, "glGetVertexAttribdv"); + glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load(userptr, "glGetVertexAttribfv"); + glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load(userptr, "glGetVertexAttribiv"); + glad_glIsProgram = (PFNGLISPROGRAMPROC) load(userptr, "glIsProgram"); + glad_glIsShader = (PFNGLISSHADERPROC) load(userptr, "glIsShader"); + glad_glLinkProgram = (PFNGLLINKPROGRAMPROC) load(userptr, "glLinkProgram"); + glad_glShaderSource = (PFNGLSHADERSOURCEPROC) load(userptr, "glShaderSource"); + glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load(userptr, "glStencilFuncSeparate"); + glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load(userptr, "glStencilMaskSeparate"); + glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load(userptr, "glStencilOpSeparate"); + glad_glUniform1f = (PFNGLUNIFORM1FPROC) load(userptr, "glUniform1f"); + glad_glUniform1fv = (PFNGLUNIFORM1FVPROC) load(userptr, "glUniform1fv"); + glad_glUniform1i = (PFNGLUNIFORM1IPROC) load(userptr, "glUniform1i"); + glad_glUniform1iv = (PFNGLUNIFORM1IVPROC) load(userptr, "glUniform1iv"); + glad_glUniform2f = (PFNGLUNIFORM2FPROC) load(userptr, "glUniform2f"); + glad_glUniform2fv = (PFNGLUNIFORM2FVPROC) load(userptr, "glUniform2fv"); + glad_glUniform2i = (PFNGLUNIFORM2IPROC) load(userptr, "glUniform2i"); + glad_glUniform2iv = (PFNGLUNIFORM2IVPROC) load(userptr, "glUniform2iv"); + glad_glUniform3f = (PFNGLUNIFORM3FPROC) load(userptr, "glUniform3f"); + glad_glUniform3fv = (PFNGLUNIFORM3FVPROC) load(userptr, "glUniform3fv"); + glad_glUniform3i = (PFNGLUNIFORM3IPROC) load(userptr, "glUniform3i"); + glad_glUniform3iv = (PFNGLUNIFORM3IVPROC) load(userptr, "glUniform3iv"); + glad_glUniform4f = (PFNGLUNIFORM4FPROC) load(userptr, "glUniform4f"); + glad_glUniform4fv = (PFNGLUNIFORM4FVPROC) load(userptr, "glUniform4fv"); + glad_glUniform4i = (PFNGLUNIFORM4IPROC) load(userptr, "glUniform4i"); + glad_glUniform4iv = (PFNGLUNIFORM4IVPROC) load(userptr, "glUniform4iv"); + glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load(userptr, "glUniformMatrix2fv"); + glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load(userptr, "glUniformMatrix3fv"); + glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load(userptr, "glUniformMatrix4fv"); + glad_glUseProgram = (PFNGLUSEPROGRAMPROC) load(userptr, "glUseProgram"); + glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load(userptr, "glValidateProgram"); + glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) load(userptr, "glVertexAttrib1d"); + glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) load(userptr, "glVertexAttrib1dv"); + glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load(userptr, "glVertexAttrib1f"); + glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load(userptr, "glVertexAttrib1fv"); + glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) load(userptr, "glVertexAttrib1s"); + glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) load(userptr, "glVertexAttrib1sv"); + glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) load(userptr, "glVertexAttrib2d"); + glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) load(userptr, "glVertexAttrib2dv"); + glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load(userptr, "glVertexAttrib2f"); + glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load(userptr, "glVertexAttrib2fv"); + glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) load(userptr, "glVertexAttrib2s"); + glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) load(userptr, "glVertexAttrib2sv"); + glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) load(userptr, "glVertexAttrib3d"); + glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) load(userptr, "glVertexAttrib3dv"); + glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load(userptr, "glVertexAttrib3f"); + glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load(userptr, "glVertexAttrib3fv"); + glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) load(userptr, "glVertexAttrib3s"); + glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) load(userptr, "glVertexAttrib3sv"); + glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) load(userptr, "glVertexAttrib4Nbv"); + glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) load(userptr, "glVertexAttrib4Niv"); + glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) load(userptr, "glVertexAttrib4Nsv"); + glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) load(userptr, "glVertexAttrib4Nub"); + glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) load(userptr, "glVertexAttrib4Nubv"); + glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) load(userptr, "glVertexAttrib4Nuiv"); + glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) load(userptr, "glVertexAttrib4Nusv"); + glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) load(userptr, "glVertexAttrib4bv"); + glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) load(userptr, "glVertexAttrib4d"); + glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) load(userptr, "glVertexAttrib4dv"); + glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load(userptr, "glVertexAttrib4f"); + glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load(userptr, "glVertexAttrib4fv"); + glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) load(userptr, "glVertexAttrib4iv"); + glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) load(userptr, "glVertexAttrib4s"); + glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) load(userptr, "glVertexAttrib4sv"); + glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) load(userptr, "glVertexAttrib4ubv"); + glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) load(userptr, "glVertexAttrib4uiv"); + glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) load(userptr, "glVertexAttrib4usv"); + glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load(userptr, "glVertexAttribPointer"); +} +static void glad_gl_load_GL_VERSION_2_1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_2_1) return; + glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) load(userptr, "glUniformMatrix2x3fv"); + glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) load(userptr, "glUniformMatrix2x4fv"); + glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) load(userptr, "glUniformMatrix3x2fv"); + glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) load(userptr, "glUniformMatrix3x4fv"); + glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) load(userptr, "glUniformMatrix4x2fv"); + glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) load(userptr, "glUniformMatrix4x3fv"); +} +static void glad_gl_load_GL_VERSION_3_0( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_3_0) return; + glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) load(userptr, "glBeginConditionalRender"); + glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) load(userptr, "glBeginTransformFeedback"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load(userptr, "glBindBufferBase"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load(userptr, "glBindBufferRange"); + glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) load(userptr, "glBindFragDataLocation"); + glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer"); + glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer"); + glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) load(userptr, "glBindVertexArray"); + glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) load(userptr, "glBlitFramebuffer"); + glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus"); + glad_glClampColor = (PFNGLCLAMPCOLORPROC) load(userptr, "glClampColor"); + glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC) load(userptr, "glClearBufferfi"); + glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC) load(userptr, "glClearBufferfv"); + glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC) load(userptr, "glClearBufferiv"); + glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) load(userptr, "glClearBufferuiv"); + glad_glColorMaski = (PFNGLCOLORMASKIPROC) load(userptr, "glColorMaski"); + glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers"); + glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers"); + glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) load(userptr, "glDeleteVertexArrays"); + glad_glDisablei = (PFNGLDISABLEIPROC) load(userptr, "glDisablei"); + glad_glEnablei = (PFNGLENABLEIPROC) load(userptr, "glEnablei"); + glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) load(userptr, "glEndConditionalRender"); + glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) load(userptr, "glEndTransformFeedback"); + glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) load(userptr, "glFlushMappedBufferRange"); + glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer"); + glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) load(userptr, "glFramebufferTexture1D"); + glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D"); + glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) load(userptr, "glFramebufferTexture3D"); + glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glFramebufferTextureLayer"); + glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers"); + glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers"); + glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) load(userptr, "glGenVertexArrays"); + glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap"); + glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) load(userptr, "glGetBooleani_v"); + glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) load(userptr, "glGetFragDataLocation"); + glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load(userptr, "glGetIntegeri_v"); + glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv"); + glad_glGetStringi = (PFNGLGETSTRINGIPROC) load(userptr, "glGetStringi"); + glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) load(userptr, "glGetTexParameterIiv"); + glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) load(userptr, "glGetTexParameterIuiv"); + glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) load(userptr, "glGetTransformFeedbackVarying"); + glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) load(userptr, "glGetUniformuiv"); + glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) load(userptr, "glGetVertexAttribIiv"); + glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) load(userptr, "glGetVertexAttribIuiv"); + glad_glIsEnabledi = (PFNGLISENABLEDIPROC) load(userptr, "glIsEnabledi"); + glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer"); + glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer"); + glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC) load(userptr, "glIsVertexArray"); + glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) load(userptr, "glMapBufferRange"); + glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage"); + glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glRenderbufferStorageMultisample"); + glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) load(userptr, "glTexParameterIiv"); + glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) load(userptr, "glTexParameterIuiv"); + glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) load(userptr, "glTransformFeedbackVaryings"); + glad_glUniform1ui = (PFNGLUNIFORM1UIPROC) load(userptr, "glUniform1ui"); + glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC) load(userptr, "glUniform1uiv"); + glad_glUniform2ui = (PFNGLUNIFORM2UIPROC) load(userptr, "glUniform2ui"); + glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC) load(userptr, "glUniform2uiv"); + glad_glUniform3ui = (PFNGLUNIFORM3UIPROC) load(userptr, "glUniform3ui"); + glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC) load(userptr, "glUniform3uiv"); + glad_glUniform4ui = (PFNGLUNIFORM4UIPROC) load(userptr, "glUniform4ui"); + glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC) load(userptr, "glUniform4uiv"); + glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) load(userptr, "glVertexAttribI1i"); + glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) load(userptr, "glVertexAttribI1iv"); + glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) load(userptr, "glVertexAttribI1ui"); + glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) load(userptr, "glVertexAttribI1uiv"); + glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) load(userptr, "glVertexAttribI2i"); + glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) load(userptr, "glVertexAttribI2iv"); + glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) load(userptr, "glVertexAttribI2ui"); + glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) load(userptr, "glVertexAttribI2uiv"); + glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) load(userptr, "glVertexAttribI3i"); + glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) load(userptr, "glVertexAttribI3iv"); + glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) load(userptr, "glVertexAttribI3ui"); + glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) load(userptr, "glVertexAttribI3uiv"); + glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) load(userptr, "glVertexAttribI4bv"); + glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) load(userptr, "glVertexAttribI4i"); + glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) load(userptr, "glVertexAttribI4iv"); + glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) load(userptr, "glVertexAttribI4sv"); + glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) load(userptr, "glVertexAttribI4ubv"); + glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) load(userptr, "glVertexAttribI4ui"); + glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) load(userptr, "glVertexAttribI4uiv"); + glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) load(userptr, "glVertexAttribI4usv"); + glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) load(userptr, "glVertexAttribIPointer"); +} +static void glad_gl_load_GL_VERSION_3_1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_3_1) return; + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load(userptr, "glBindBufferBase"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load(userptr, "glBindBufferRange"); + glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) load(userptr, "glCopyBufferSubData"); + glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) load(userptr, "glDrawArraysInstanced"); + glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) load(userptr, "glDrawElementsInstanced"); + glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) load(userptr, "glGetActiveUniformBlockName"); + glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) load(userptr, "glGetActiveUniformBlockiv"); + glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) load(userptr, "glGetActiveUniformName"); + glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) load(userptr, "glGetActiveUniformsiv"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load(userptr, "glGetIntegeri_v"); + glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) load(userptr, "glGetUniformBlockIndex"); + glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) load(userptr, "glGetUniformIndices"); + glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) load(userptr, "glPrimitiveRestartIndex"); + glad_glTexBuffer = (PFNGLTEXBUFFERPROC) load(userptr, "glTexBuffer"); + glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) load(userptr, "glUniformBlockBinding"); +} +static void glad_gl_load_GL_VERSION_3_2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_3_2) return; + glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) load(userptr, "glClientWaitSync"); + glad_glDeleteSync = (PFNGLDELETESYNCPROC) load(userptr, "glDeleteSync"); + glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glDrawElementsBaseVertex"); + glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) load(userptr, "glDrawElementsInstancedBaseVertex"); + glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) load(userptr, "glDrawRangeElementsBaseVertex"); + glad_glFenceSync = (PFNGLFENCESYNCPROC) load(userptr, "glFenceSync"); + glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) load(userptr, "glFramebufferTexture"); + glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) load(userptr, "glGetBufferParameteri64v"); + glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) load(userptr, "glGetInteger64i_v"); + glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC) load(userptr, "glGetInteger64v"); + glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) load(userptr, "glGetMultisamplefv"); + glad_glGetSynciv = (PFNGLGETSYNCIVPROC) load(userptr, "glGetSynciv"); + glad_glIsSync = (PFNGLISSYNCPROC) load(userptr, "glIsSync"); + glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glMultiDrawElementsBaseVertex"); + glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) load(userptr, "glProvokingVertex"); + glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC) load(userptr, "glSampleMaski"); + glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) load(userptr, "glTexImage2DMultisample"); + glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) load(userptr, "glTexImage3DMultisample"); + glad_glWaitSync = (PFNGLWAITSYNCPROC) load(userptr, "glWaitSync"); +} +static void glad_gl_load_GL_VERSION_3_3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_3_3) return; + glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) load(userptr, "glBindFragDataLocationIndexed"); + glad_glBindSampler = (PFNGLBINDSAMPLERPROC) load(userptr, "glBindSampler"); + glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC) load(userptr, "glDeleteSamplers"); + glad_glGenSamplers = (PFNGLGENSAMPLERSPROC) load(userptr, "glGenSamplers"); + glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) load(userptr, "glGetFragDataIndex"); + glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) load(userptr, "glGetQueryObjecti64v"); + glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) load(userptr, "glGetQueryObjectui64v"); + glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) load(userptr, "glGetSamplerParameterIiv"); + glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) load(userptr, "glGetSamplerParameterIuiv"); + glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) load(userptr, "glGetSamplerParameterfv"); + glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) load(userptr, "glGetSamplerParameteriv"); + glad_glIsSampler = (PFNGLISSAMPLERPROC) load(userptr, "glIsSampler"); + glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC) load(userptr, "glQueryCounter"); + glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) load(userptr, "glSamplerParameterIiv"); + glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) load(userptr, "glSamplerParameterIuiv"); + glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) load(userptr, "glSamplerParameterf"); + glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) load(userptr, "glSamplerParameterfv"); + glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) load(userptr, "glSamplerParameteri"); + glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) load(userptr, "glSamplerParameteriv"); + glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) load(userptr, "glVertexAttribDivisor"); + glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) load(userptr, "glVertexAttribP1ui"); + glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) load(userptr, "glVertexAttribP1uiv"); + glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) load(userptr, "glVertexAttribP2ui"); + glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) load(userptr, "glVertexAttribP2uiv"); + glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) load(userptr, "glVertexAttribP3ui"); + glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) load(userptr, "glVertexAttribP3uiv"); + glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) load(userptr, "glVertexAttribP4ui"); + glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) load(userptr, "glVertexAttribP4uiv"); +} +static void glad_gl_load_GL_VERSION_4_0( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_0) return; + glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) load(userptr, "glBeginQueryIndexed"); + glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) load(userptr, "glBindTransformFeedback"); + glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) load(userptr, "glBlendEquationSeparatei"); + glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC) load(userptr, "glBlendEquationi"); + glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) load(userptr, "glBlendFuncSeparatei"); + glad_glBlendFunci = (PFNGLBLENDFUNCIPROC) load(userptr, "glBlendFunci"); + glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) load(userptr, "glDeleteTransformFeedbacks"); + glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) load(userptr, "glDrawArraysIndirect"); + glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) load(userptr, "glDrawElementsIndirect"); + glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) load(userptr, "glDrawTransformFeedback"); + glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) load(userptr, "glDrawTransformFeedbackStream"); + glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) load(userptr, "glEndQueryIndexed"); + glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) load(userptr, "glGenTransformFeedbacks"); + glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) load(userptr, "glGetActiveSubroutineName"); + glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) load(userptr, "glGetActiveSubroutineUniformName"); + glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) load(userptr, "glGetActiveSubroutineUniformiv"); + glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) load(userptr, "glGetProgramStageiv"); + glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) load(userptr, "glGetQueryIndexediv"); + glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) load(userptr, "glGetSubroutineIndex"); + glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) load(userptr, "glGetSubroutineUniformLocation"); + glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) load(userptr, "glGetUniformSubroutineuiv"); + glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC) load(userptr, "glGetUniformdv"); + glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) load(userptr, "glIsTransformFeedback"); + glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) load(userptr, "glMinSampleShading"); + glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) load(userptr, "glPatchParameterfv"); + glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC) load(userptr, "glPatchParameteri"); + glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) load(userptr, "glPauseTransformFeedback"); + glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) load(userptr, "glResumeTransformFeedback"); + glad_glUniform1d = (PFNGLUNIFORM1DPROC) load(userptr, "glUniform1d"); + glad_glUniform1dv = (PFNGLUNIFORM1DVPROC) load(userptr, "glUniform1dv"); + glad_glUniform2d = (PFNGLUNIFORM2DPROC) load(userptr, "glUniform2d"); + glad_glUniform2dv = (PFNGLUNIFORM2DVPROC) load(userptr, "glUniform2dv"); + glad_glUniform3d = (PFNGLUNIFORM3DPROC) load(userptr, "glUniform3d"); + glad_glUniform3dv = (PFNGLUNIFORM3DVPROC) load(userptr, "glUniform3dv"); + glad_glUniform4d = (PFNGLUNIFORM4DPROC) load(userptr, "glUniform4d"); + glad_glUniform4dv = (PFNGLUNIFORM4DVPROC) load(userptr, "glUniform4dv"); + glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) load(userptr, "glUniformMatrix2dv"); + glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) load(userptr, "glUniformMatrix2x3dv"); + glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) load(userptr, "glUniformMatrix2x4dv"); + glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) load(userptr, "glUniformMatrix3dv"); + glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) load(userptr, "glUniformMatrix3x2dv"); + glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) load(userptr, "glUniformMatrix3x4dv"); + glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) load(userptr, "glUniformMatrix4dv"); + glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) load(userptr, "glUniformMatrix4x2dv"); + glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) load(userptr, "glUniformMatrix4x3dv"); + glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) load(userptr, "glUniformSubroutinesuiv"); +} +static void glad_gl_load_GL_VERSION_4_1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_1) return; + glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) load(userptr, "glActiveShaderProgram"); + glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) load(userptr, "glBindProgramPipeline"); + glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf"); + glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) load(userptr, "glCreateShaderProgramv"); + glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) load(userptr, "glDeleteProgramPipelines"); + glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) load(userptr, "glDepthRangeArrayv"); + glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) load(userptr, "glDepthRangeIndexed"); + glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef"); + glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) load(userptr, "glGenProgramPipelines"); + glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) load(userptr, "glGetDoublei_v"); + glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC) load(userptr, "glGetFloati_v"); + glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) load(userptr, "glGetProgramBinary"); + glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) load(userptr, "glGetProgramPipelineInfoLog"); + glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) load(userptr, "glGetProgramPipelineiv"); + glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat"); + glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) load(userptr, "glGetVertexAttribLdv"); + glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) load(userptr, "glIsProgramPipeline"); + glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC) load(userptr, "glProgramBinary"); + glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) load(userptr, "glProgramParameteri"); + glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) load(userptr, "glProgramUniform1d"); + glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) load(userptr, "glProgramUniform1dv"); + glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) load(userptr, "glProgramUniform1f"); + glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) load(userptr, "glProgramUniform1fv"); + glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) load(userptr, "glProgramUniform1i"); + glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) load(userptr, "glProgramUniform1iv"); + glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) load(userptr, "glProgramUniform1ui"); + glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) load(userptr, "glProgramUniform1uiv"); + glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) load(userptr, "glProgramUniform2d"); + glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) load(userptr, "glProgramUniform2dv"); + glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) load(userptr, "glProgramUniform2f"); + glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) load(userptr, "glProgramUniform2fv"); + glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) load(userptr, "glProgramUniform2i"); + glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) load(userptr, "glProgramUniform2iv"); + glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) load(userptr, "glProgramUniform2ui"); + glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) load(userptr, "glProgramUniform2uiv"); + glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) load(userptr, "glProgramUniform3d"); + glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) load(userptr, "glProgramUniform3dv"); + glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) load(userptr, "glProgramUniform3f"); + glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) load(userptr, "glProgramUniform3fv"); + glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) load(userptr, "glProgramUniform3i"); + glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) load(userptr, "glProgramUniform3iv"); + glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) load(userptr, "glProgramUniform3ui"); + glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) load(userptr, "glProgramUniform3uiv"); + glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) load(userptr, "glProgramUniform4d"); + glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) load(userptr, "glProgramUniform4dv"); + glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) load(userptr, "glProgramUniform4f"); + glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) load(userptr, "glProgramUniform4fv"); + glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) load(userptr, "glProgramUniform4i"); + glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) load(userptr, "glProgramUniform4iv"); + glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) load(userptr, "glProgramUniform4ui"); + glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) load(userptr, "glProgramUniform4uiv"); + glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) load(userptr, "glProgramUniformMatrix2dv"); + glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) load(userptr, "glProgramUniformMatrix2fv"); + glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) load(userptr, "glProgramUniformMatrix2x3dv"); + glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) load(userptr, "glProgramUniformMatrix2x3fv"); + glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) load(userptr, "glProgramUniformMatrix2x4dv"); + glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) load(userptr, "glProgramUniformMatrix2x4fv"); + glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) load(userptr, "glProgramUniformMatrix3dv"); + glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) load(userptr, "glProgramUniformMatrix3fv"); + glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) load(userptr, "glProgramUniformMatrix3x2dv"); + glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) load(userptr, "glProgramUniformMatrix3x2fv"); + glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) load(userptr, "glProgramUniformMatrix3x4dv"); + glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) load(userptr, "glProgramUniformMatrix3x4fv"); + glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) load(userptr, "glProgramUniformMatrix4dv"); + glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) load(userptr, "glProgramUniformMatrix4fv"); + glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) load(userptr, "glProgramUniformMatrix4x2dv"); + glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) load(userptr, "glProgramUniformMatrix4x2fv"); + glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) load(userptr, "glProgramUniformMatrix4x3dv"); + glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) load(userptr, "glProgramUniformMatrix4x3fv"); + glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler"); + glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC) load(userptr, "glScissorArrayv"); + glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC) load(userptr, "glScissorIndexed"); + glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) load(userptr, "glScissorIndexedv"); + glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary"); + glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) load(userptr, "glUseProgramStages"); + glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) load(userptr, "glValidateProgramPipeline"); + glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) load(userptr, "glVertexAttribL1d"); + glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) load(userptr, "glVertexAttribL1dv"); + glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) load(userptr, "glVertexAttribL2d"); + glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) load(userptr, "glVertexAttribL2dv"); + glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) load(userptr, "glVertexAttribL3d"); + glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) load(userptr, "glVertexAttribL3dv"); + glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) load(userptr, "glVertexAttribL4d"); + glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) load(userptr, "glVertexAttribL4dv"); + glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) load(userptr, "glVertexAttribLPointer"); + glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) load(userptr, "glViewportArrayv"); + glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) load(userptr, "glViewportIndexedf"); + glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) load(userptr, "glViewportIndexedfv"); +} +static void glad_gl_load_GL_VERSION_4_2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_2) return; + glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) load(userptr, "glBindImageTexture"); + glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawArraysInstancedBaseInstance"); + glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseInstance"); + glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseVertexBaseInstance"); + glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackInstanced"); + glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackStreamInstanced"); + glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) load(userptr, "glGetActiveAtomicCounterBufferiv"); + glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) load(userptr, "glGetInternalformativ"); + glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC) load(userptr, "glMemoryBarrier"); + glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC) load(userptr, "glTexStorage1D"); + glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC) load(userptr, "glTexStorage2D"); + glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC) load(userptr, "glTexStorage3D"); +} +static void glad_gl_load_GL_VERSION_4_3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_3) return; + glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) load(userptr, "glBindVertexBuffer"); + glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC) load(userptr, "glClearBufferData"); + glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) load(userptr, "glClearBufferSubData"); + glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) load(userptr, "glCopyImageSubData"); + glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) load(userptr, "glDebugMessageCallback"); + glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) load(userptr, "glDebugMessageControl"); + glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) load(userptr, "glDebugMessageInsert"); + glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) load(userptr, "glDispatchCompute"); + glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) load(userptr, "glDispatchComputeIndirect"); + glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) load(userptr, "glFramebufferParameteri"); + glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) load(userptr, "glGetDebugMessageLog"); + glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetFramebufferParameteriv"); + glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) load(userptr, "glGetInternalformati64v"); + glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC) load(userptr, "glGetObjectLabel"); + glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) load(userptr, "glGetObjectPtrLabel"); + glad_glGetPointerv = (PFNGLGETPOINTERVPROC) load(userptr, "glGetPointerv"); + glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) load(userptr, "glGetProgramInterfaceiv"); + glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) load(userptr, "glGetProgramResourceIndex"); + glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) load(userptr, "glGetProgramResourceLocation"); + glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) load(userptr, "glGetProgramResourceLocationIndex"); + glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) load(userptr, "glGetProgramResourceName"); + glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) load(userptr, "glGetProgramResourceiv"); + glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) load(userptr, "glInvalidateBufferData"); + glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) load(userptr, "glInvalidateBufferSubData"); + glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) load(userptr, "glInvalidateFramebuffer"); + glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) load(userptr, "glInvalidateSubFramebuffer"); + glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) load(userptr, "glInvalidateTexImage"); + glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) load(userptr, "glInvalidateTexSubImage"); + glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) load(userptr, "glMultiDrawArraysIndirect"); + glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) load(userptr, "glMultiDrawElementsIndirect"); + glad_glObjectLabel = (PFNGLOBJECTLABELPROC) load(userptr, "glObjectLabel"); + glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) load(userptr, "glObjectPtrLabel"); + glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) load(userptr, "glPopDebugGroup"); + glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) load(userptr, "glPushDebugGroup"); + glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) load(userptr, "glShaderStorageBlockBinding"); + glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) load(userptr, "glTexBufferRange"); + glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) load(userptr, "glTexStorage2DMultisample"); + glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) load(userptr, "glTexStorage3DMultisample"); + glad_glTextureView = (PFNGLTEXTUREVIEWPROC) load(userptr, "glTextureView"); + glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) load(userptr, "glVertexAttribBinding"); + glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) load(userptr, "glVertexAttribFormat"); + glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) load(userptr, "glVertexAttribIFormat"); + glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) load(userptr, "glVertexAttribLFormat"); + glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) load(userptr, "glVertexBindingDivisor"); +} +static void glad_gl_load_GL_VERSION_4_4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_4) return; + glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC) load(userptr, "glBindBuffersBase"); + glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC) load(userptr, "glBindBuffersRange"); + glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC) load(userptr, "glBindImageTextures"); + glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC) load(userptr, "glBindSamplers"); + glad_glBindTextures = (PFNGLBINDTEXTURESPROC) load(userptr, "glBindTextures"); + glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC) load(userptr, "glBindVertexBuffers"); + glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC) load(userptr, "glBufferStorage"); + glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC) load(userptr, "glClearTexImage"); + glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC) load(userptr, "glClearTexSubImage"); +} +static void glad_gl_load_GL_VERSION_4_5( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_5) return; + glad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC) load(userptr, "glBindTextureUnit"); + glad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC) load(userptr, "glBlitNamedFramebuffer"); + glad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckNamedFramebufferStatus"); + glad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC) load(userptr, "glClearNamedBufferData"); + glad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC) load(userptr, "glClearNamedBufferSubData"); + glad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) load(userptr, "glClearNamedFramebufferfi"); + glad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) load(userptr, "glClearNamedFramebufferfv"); + glad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) load(userptr, "glClearNamedFramebufferiv"); + glad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) load(userptr, "glClearNamedFramebufferuiv"); + glad_glClipControl = (PFNGLCLIPCONTROLPROC) load(userptr, "glClipControl"); + glad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) load(userptr, "glCompressedTextureSubImage1D"); + glad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) load(userptr, "glCompressedTextureSubImage2D"); + glad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) load(userptr, "glCompressedTextureSubImage3D"); + glad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC) load(userptr, "glCopyNamedBufferSubData"); + glad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC) load(userptr, "glCopyTextureSubImage1D"); + glad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC) load(userptr, "glCopyTextureSubImage2D"); + glad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC) load(userptr, "glCopyTextureSubImage3D"); + glad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC) load(userptr, "glCreateBuffers"); + glad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC) load(userptr, "glCreateFramebuffers"); + glad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC) load(userptr, "glCreateProgramPipelines"); + glad_glCreateQueries = (PFNGLCREATEQUERIESPROC) load(userptr, "glCreateQueries"); + glad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC) load(userptr, "glCreateRenderbuffers"); + glad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC) load(userptr, "glCreateSamplers"); + glad_glCreateTextures = (PFNGLCREATETEXTURESPROC) load(userptr, "glCreateTextures"); + glad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC) load(userptr, "glCreateTransformFeedbacks"); + glad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC) load(userptr, "glCreateVertexArrays"); + glad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC) load(userptr, "glDisableVertexArrayAttrib"); + glad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC) load(userptr, "glEnableVertexArrayAttrib"); + glad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) load(userptr, "glFlushMappedNamedBufferRange"); + glad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC) load(userptr, "glGenerateTextureMipmap"); + glad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) load(userptr, "glGetCompressedTextureImage"); + glad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) load(userptr, "glGetCompressedTextureSubImage"); + glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC) load(userptr, "glGetGraphicsResetStatus"); + glad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) load(userptr, "glGetNamedBufferParameteri64v"); + glad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedBufferParameteriv"); + glad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC) load(userptr, "glGetNamedBufferPointerv"); + glad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC) load(userptr, "glGetNamedBufferSubData"); + glad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferAttachmentParameteriv"); + glad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferParameteriv"); + glad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedRenderbufferParameteriv"); + glad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC) load(userptr, "glGetQueryBufferObjecti64v"); + glad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC) load(userptr, "glGetQueryBufferObjectiv"); + glad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC) load(userptr, "glGetQueryBufferObjectui64v"); + glad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC) load(userptr, "glGetQueryBufferObjectuiv"); + glad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC) load(userptr, "glGetTextureImage"); + glad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC) load(userptr, "glGetTextureLevelParameterfv"); + glad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC) load(userptr, "glGetTextureLevelParameteriv"); + glad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC) load(userptr, "glGetTextureParameterIiv"); + glad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC) load(userptr, "glGetTextureParameterIuiv"); + glad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC) load(userptr, "glGetTextureParameterfv"); + glad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC) load(userptr, "glGetTextureParameteriv"); + glad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC) load(userptr, "glGetTextureSubImage"); + glad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC) load(userptr, "glGetTransformFeedbacki64_v"); + glad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC) load(userptr, "glGetTransformFeedbacki_v"); + glad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC) load(userptr, "glGetTransformFeedbackiv"); + glad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC) load(userptr, "glGetVertexArrayIndexed64iv"); + glad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC) load(userptr, "glGetVertexArrayIndexediv"); + glad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC) load(userptr, "glGetVertexArrayiv"); + glad_glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC) load(userptr, "glGetnCompressedTexImage"); + glad_glGetnTexImage = (PFNGLGETNTEXIMAGEPROC) load(userptr, "glGetnTexImage"); + glad_glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC) load(userptr, "glGetnUniformdv"); + glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC) load(userptr, "glGetnUniformfv"); + glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC) load(userptr, "glGetnUniformiv"); + glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC) load(userptr, "glGetnUniformuiv"); + glad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) load(userptr, "glInvalidateNamedFramebufferData"); + glad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) load(userptr, "glInvalidateNamedFramebufferSubData"); + glad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC) load(userptr, "glMapNamedBuffer"); + glad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC) load(userptr, "glMapNamedBufferRange"); + glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC) load(userptr, "glMemoryBarrierByRegion"); + glad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC) load(userptr, "glNamedBufferData"); + glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC) load(userptr, "glNamedBufferStorage"); + glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC) load(userptr, "glNamedBufferSubData"); + glad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) load(userptr, "glNamedFramebufferDrawBuffer"); + glad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) load(userptr, "glNamedFramebufferDrawBuffers"); + glad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) load(userptr, "glNamedFramebufferParameteri"); + glad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) load(userptr, "glNamedFramebufferReadBuffer"); + glad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glNamedFramebufferRenderbuffer"); + glad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) load(userptr, "glNamedFramebufferTexture"); + glad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glNamedFramebufferTextureLayer"); + glad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC) load(userptr, "glNamedRenderbufferStorage"); + glad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glNamedRenderbufferStorageMultisample"); + glad_glReadnPixels = (PFNGLREADNPIXELSPROC) load(userptr, "glReadnPixels"); + glad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC) load(userptr, "glTextureBarrier"); + glad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC) load(userptr, "glTextureBuffer"); + glad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC) load(userptr, "glTextureBufferRange"); + glad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC) load(userptr, "glTextureParameterIiv"); + glad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC) load(userptr, "glTextureParameterIuiv"); + glad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC) load(userptr, "glTextureParameterf"); + glad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC) load(userptr, "glTextureParameterfv"); + glad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC) load(userptr, "glTextureParameteri"); + glad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC) load(userptr, "glTextureParameteriv"); + glad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC) load(userptr, "glTextureStorage1D"); + glad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC) load(userptr, "glTextureStorage2D"); + glad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) load(userptr, "glTextureStorage2DMultisample"); + glad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC) load(userptr, "glTextureStorage3D"); + glad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) load(userptr, "glTextureStorage3DMultisample"); + glad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC) load(userptr, "glTextureSubImage1D"); + glad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC) load(userptr, "glTextureSubImage2D"); + glad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC) load(userptr, "glTextureSubImage3D"); + glad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) load(userptr, "glTransformFeedbackBufferBase"); + glad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) load(userptr, "glTransformFeedbackBufferRange"); + glad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC) load(userptr, "glUnmapNamedBuffer"); + glad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC) load(userptr, "glVertexArrayAttribBinding"); + glad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC) load(userptr, "glVertexArrayAttribFormat"); + glad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC) load(userptr, "glVertexArrayAttribIFormat"); + glad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC) load(userptr, "glVertexArrayAttribLFormat"); + glad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC) load(userptr, "glVertexArrayBindingDivisor"); + glad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC) load(userptr, "glVertexArrayElementBuffer"); + glad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC) load(userptr, "glVertexArrayVertexBuffer"); + glad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC) load(userptr, "glVertexArrayVertexBuffers"); +} +static void glad_gl_load_GL_VERSION_4_6( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_VERSION_4_6) return; + glad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) load(userptr, "glMultiDrawArraysIndirectCount"); + glad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) load(userptr, "glMultiDrawElementsIndirectCount"); + glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC) load(userptr, "glPolygonOffsetClamp"); + glad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC) load(userptr, "glSpecializeShader"); +} +static void glad_gl_load_GL_AMD_draw_buffers_blend( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_AMD_draw_buffers_blend) return; + glad_glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC) load(userptr, "glBlendEquationIndexedAMD"); + glad_glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) load(userptr, "glBlendEquationSeparateIndexedAMD"); + glad_glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC) load(userptr, "glBlendFuncIndexedAMD"); + glad_glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) load(userptr, "glBlendFuncSeparateIndexedAMD"); +} +static void glad_gl_load_GL_AMD_multi_draw_indirect( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_AMD_multi_draw_indirect) return; + glad_glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) load(userptr, "glMultiDrawArraysIndirectAMD"); + glad_glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) load(userptr, "glMultiDrawElementsIndirectAMD"); +} +static void glad_gl_load_GL_APPLE_flush_buffer_range( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_APPLE_flush_buffer_range) return; + glad_glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC) load(userptr, "glBufferParameteriAPPLE"); + glad_glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) load(userptr, "glFlushMappedBufferRangeAPPLE"); +} +static void glad_gl_load_GL_APPLE_vertex_array_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_APPLE_vertex_array_object) return; + glad_glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC) load(userptr, "glBindVertexArrayAPPLE"); + glad_glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC) load(userptr, "glDeleteVertexArraysAPPLE"); + glad_glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC) load(userptr, "glGenVertexArraysAPPLE"); + glad_glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC) load(userptr, "glIsVertexArrayAPPLE"); +} +static void glad_gl_load_GL_ARB_ES2_compatibility( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_ES2_compatibility) return; + glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf"); + glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef"); + glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat"); + glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler"); + glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary"); +} +static void glad_gl_load_GL_ARB_ES3_1_compatibility( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_ES3_1_compatibility) return; + glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC) load(userptr, "glMemoryBarrierByRegion"); +} +static void glad_gl_load_GL_ARB_base_instance( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_base_instance) return; + glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawArraysInstancedBaseInstance"); + glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseInstance"); + glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseVertexBaseInstance"); +} +static void glad_gl_load_GL_ARB_bindless_texture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_bindless_texture) return; + glad_glGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC) load(userptr, "glGetImageHandleARB"); + glad_glGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC) load(userptr, "glGetTextureHandleARB"); + glad_glGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC) load(userptr, "glGetTextureSamplerHandleARB"); + glad_glGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC) load(userptr, "glGetVertexAttribLui64vARB"); + glad_glIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC) load(userptr, "glIsImageHandleResidentARB"); + glad_glIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC) load(userptr, "glIsTextureHandleResidentARB"); + glad_glMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) load(userptr, "glMakeImageHandleNonResidentARB"); + glad_glMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) load(userptr, "glMakeImageHandleResidentARB"); + glad_glMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) load(userptr, "glMakeTextureHandleNonResidentARB"); + glad_glMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) load(userptr, "glMakeTextureHandleResidentARB"); + glad_glProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) load(userptr, "glProgramUniformHandleui64ARB"); + glad_glProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) load(userptr, "glProgramUniformHandleui64vARB"); + glad_glUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC) load(userptr, "glUniformHandleui64ARB"); + glad_glUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC) load(userptr, "glUniformHandleui64vARB"); + glad_glVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC) load(userptr, "glVertexAttribL1ui64ARB"); + glad_glVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC) load(userptr, "glVertexAttribL1ui64vARB"); +} +static void glad_gl_load_GL_ARB_blend_func_extended( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_blend_func_extended) return; + glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) load(userptr, "glBindFragDataLocationIndexed"); + glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) load(userptr, "glGetFragDataIndex"); +} +static void glad_gl_load_GL_ARB_buffer_storage( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_buffer_storage) return; + glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC) load(userptr, "glBufferStorage"); +} +static void glad_gl_load_GL_ARB_clear_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_clear_buffer_object) return; + glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC) load(userptr, "glClearBufferData"); + glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) load(userptr, "glClearBufferSubData"); +} +static void glad_gl_load_GL_ARB_clear_texture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_clear_texture) return; + glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC) load(userptr, "glClearTexImage"); + glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC) load(userptr, "glClearTexSubImage"); +} +static void glad_gl_load_GL_ARB_clip_control( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_clip_control) return; + glad_glClipControl = (PFNGLCLIPCONTROLPROC) load(userptr, "glClipControl"); +} +static void glad_gl_load_GL_ARB_color_buffer_float( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_color_buffer_float) return; + glad_glClampColorARB = (PFNGLCLAMPCOLORARBPROC) load(userptr, "glClampColorARB"); +} +static void glad_gl_load_GL_ARB_compute_shader( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_compute_shader) return; + glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) load(userptr, "glDispatchCompute"); + glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) load(userptr, "glDispatchComputeIndirect"); +} +static void glad_gl_load_GL_ARB_copy_buffer( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_copy_buffer) return; + glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) load(userptr, "glCopyBufferSubData"); +} +static void glad_gl_load_GL_ARB_copy_image( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_copy_image) return; + glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) load(userptr, "glCopyImageSubData"); +} +static void glad_gl_load_GL_ARB_debug_output( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_debug_output) return; + glad_glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC) load(userptr, "glDebugMessageCallbackARB"); + glad_glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC) load(userptr, "glDebugMessageControlARB"); + glad_glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC) load(userptr, "glDebugMessageInsertARB"); + glad_glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC) load(userptr, "glGetDebugMessageLogARB"); +} +static void glad_gl_load_GL_ARB_direct_state_access( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_direct_state_access) return; + glad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC) load(userptr, "glBindTextureUnit"); + glad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC) load(userptr, "glBlitNamedFramebuffer"); + glad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckNamedFramebufferStatus"); + glad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC) load(userptr, "glClearNamedBufferData"); + glad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC) load(userptr, "glClearNamedBufferSubData"); + glad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) load(userptr, "glClearNamedFramebufferfi"); + glad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) load(userptr, "glClearNamedFramebufferfv"); + glad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) load(userptr, "glClearNamedFramebufferiv"); + glad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) load(userptr, "glClearNamedFramebufferuiv"); + glad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) load(userptr, "glCompressedTextureSubImage1D"); + glad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) load(userptr, "glCompressedTextureSubImage2D"); + glad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) load(userptr, "glCompressedTextureSubImage3D"); + glad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC) load(userptr, "glCopyNamedBufferSubData"); + glad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC) load(userptr, "glCopyTextureSubImage1D"); + glad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC) load(userptr, "glCopyTextureSubImage2D"); + glad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC) load(userptr, "glCopyTextureSubImage3D"); + glad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC) load(userptr, "glCreateBuffers"); + glad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC) load(userptr, "glCreateFramebuffers"); + glad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC) load(userptr, "glCreateProgramPipelines"); + glad_glCreateQueries = (PFNGLCREATEQUERIESPROC) load(userptr, "glCreateQueries"); + glad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC) load(userptr, "glCreateRenderbuffers"); + glad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC) load(userptr, "glCreateSamplers"); + glad_glCreateTextures = (PFNGLCREATETEXTURESPROC) load(userptr, "glCreateTextures"); + glad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC) load(userptr, "glCreateTransformFeedbacks"); + glad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC) load(userptr, "glCreateVertexArrays"); + glad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC) load(userptr, "glDisableVertexArrayAttrib"); + glad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC) load(userptr, "glEnableVertexArrayAttrib"); + glad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) load(userptr, "glFlushMappedNamedBufferRange"); + glad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC) load(userptr, "glGenerateTextureMipmap"); + glad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) load(userptr, "glGetCompressedTextureImage"); + glad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) load(userptr, "glGetNamedBufferParameteri64v"); + glad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedBufferParameteriv"); + glad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC) load(userptr, "glGetNamedBufferPointerv"); + glad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC) load(userptr, "glGetNamedBufferSubData"); + glad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferAttachmentParameteriv"); + glad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferParameteriv"); + glad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedRenderbufferParameteriv"); + glad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC) load(userptr, "glGetQueryBufferObjecti64v"); + glad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC) load(userptr, "glGetQueryBufferObjectiv"); + glad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC) load(userptr, "glGetQueryBufferObjectui64v"); + glad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC) load(userptr, "glGetQueryBufferObjectuiv"); + glad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC) load(userptr, "glGetTextureImage"); + glad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC) load(userptr, "glGetTextureLevelParameterfv"); + glad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC) load(userptr, "glGetTextureLevelParameteriv"); + glad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC) load(userptr, "glGetTextureParameterIiv"); + glad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC) load(userptr, "glGetTextureParameterIuiv"); + glad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC) load(userptr, "glGetTextureParameterfv"); + glad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC) load(userptr, "glGetTextureParameteriv"); + glad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC) load(userptr, "glGetTransformFeedbacki64_v"); + glad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC) load(userptr, "glGetTransformFeedbacki_v"); + glad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC) load(userptr, "glGetTransformFeedbackiv"); + glad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC) load(userptr, "glGetVertexArrayIndexed64iv"); + glad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC) load(userptr, "glGetVertexArrayIndexediv"); + glad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC) load(userptr, "glGetVertexArrayiv"); + glad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) load(userptr, "glInvalidateNamedFramebufferData"); + glad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) load(userptr, "glInvalidateNamedFramebufferSubData"); + glad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC) load(userptr, "glMapNamedBuffer"); + glad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC) load(userptr, "glMapNamedBufferRange"); + glad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC) load(userptr, "glNamedBufferData"); + glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC) load(userptr, "glNamedBufferStorage"); + glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC) load(userptr, "glNamedBufferSubData"); + glad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) load(userptr, "glNamedFramebufferDrawBuffer"); + glad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) load(userptr, "glNamedFramebufferDrawBuffers"); + glad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) load(userptr, "glNamedFramebufferParameteri"); + glad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) load(userptr, "glNamedFramebufferReadBuffer"); + glad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glNamedFramebufferRenderbuffer"); + glad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) load(userptr, "glNamedFramebufferTexture"); + glad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glNamedFramebufferTextureLayer"); + glad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC) load(userptr, "glNamedRenderbufferStorage"); + glad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glNamedRenderbufferStorageMultisample"); + glad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC) load(userptr, "glTextureBuffer"); + glad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC) load(userptr, "glTextureBufferRange"); + glad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC) load(userptr, "glTextureParameterIiv"); + glad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC) load(userptr, "glTextureParameterIuiv"); + glad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC) load(userptr, "glTextureParameterf"); + glad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC) load(userptr, "glTextureParameterfv"); + glad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC) load(userptr, "glTextureParameteri"); + glad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC) load(userptr, "glTextureParameteriv"); + glad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC) load(userptr, "glTextureStorage1D"); + glad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC) load(userptr, "glTextureStorage2D"); + glad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) load(userptr, "glTextureStorage2DMultisample"); + glad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC) load(userptr, "glTextureStorage3D"); + glad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) load(userptr, "glTextureStorage3DMultisample"); + glad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC) load(userptr, "glTextureSubImage1D"); + glad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC) load(userptr, "glTextureSubImage2D"); + glad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC) load(userptr, "glTextureSubImage3D"); + glad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) load(userptr, "glTransformFeedbackBufferBase"); + glad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) load(userptr, "glTransformFeedbackBufferRange"); + glad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC) load(userptr, "glUnmapNamedBuffer"); + glad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC) load(userptr, "glVertexArrayAttribBinding"); + glad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC) load(userptr, "glVertexArrayAttribFormat"); + glad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC) load(userptr, "glVertexArrayAttribIFormat"); + glad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC) load(userptr, "glVertexArrayAttribLFormat"); + glad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC) load(userptr, "glVertexArrayBindingDivisor"); + glad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC) load(userptr, "glVertexArrayElementBuffer"); + glad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC) load(userptr, "glVertexArrayVertexBuffer"); + glad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC) load(userptr, "glVertexArrayVertexBuffers"); +} +static void glad_gl_load_GL_ARB_draw_buffers( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_draw_buffers) return; + glad_glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC) load(userptr, "glDrawBuffersARB"); +} +static void glad_gl_load_GL_ARB_draw_buffers_blend( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_draw_buffers_blend) return; + glad_glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC) load(userptr, "glBlendEquationSeparateiARB"); + glad_glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC) load(userptr, "glBlendEquationiARB"); + glad_glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC) load(userptr, "glBlendFuncSeparateiARB"); + glad_glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC) load(userptr, "glBlendFunciARB"); +} +static void glad_gl_load_GL_ARB_draw_elements_base_vertex( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_draw_elements_base_vertex) return; + glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glDrawElementsBaseVertex"); + glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) load(userptr, "glDrawElementsInstancedBaseVertex"); + glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) load(userptr, "glDrawRangeElementsBaseVertex"); + glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glMultiDrawElementsBaseVertex"); +} +static void glad_gl_load_GL_ARB_draw_indirect( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_draw_indirect) return; + glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) load(userptr, "glDrawArraysIndirect"); + glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) load(userptr, "glDrawElementsIndirect"); +} +static void glad_gl_load_GL_ARB_draw_instanced( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_draw_instanced) return; + glad_glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC) load(userptr, "glDrawArraysInstancedARB"); + glad_glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC) load(userptr, "glDrawElementsInstancedARB"); +} +static void glad_gl_load_GL_ARB_framebuffer_no_attachments( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_framebuffer_no_attachments) return; + glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) load(userptr, "glFramebufferParameteri"); + glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetFramebufferParameteriv"); +} +static void glad_gl_load_GL_ARB_framebuffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_framebuffer_object) return; + glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer"); + glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer"); + glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) load(userptr, "glBlitFramebuffer"); + glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus"); + glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers"); + glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers"); + glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer"); + glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) load(userptr, "glFramebufferTexture1D"); + glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D"); + glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) load(userptr, "glFramebufferTexture3D"); + glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glFramebufferTextureLayer"); + glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers"); + glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers"); + glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap"); + glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv"); + glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv"); + glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer"); + glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer"); + glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage"); + glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glRenderbufferStorageMultisample"); +} +static void glad_gl_load_GL_ARB_geometry_shader4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_geometry_shader4) return; + glad_glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC) load(userptr, "glFramebufferTextureARB"); + glad_glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) load(userptr, "glFramebufferTextureFaceARB"); + glad_glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) load(userptr, "glFramebufferTextureLayerARB"); + glad_glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC) load(userptr, "glProgramParameteriARB"); +} +static void glad_gl_load_GL_ARB_get_program_binary( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_get_program_binary) return; + glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) load(userptr, "glGetProgramBinary"); + glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC) load(userptr, "glProgramBinary"); + glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) load(userptr, "glProgramParameteri"); +} +static void glad_gl_load_GL_ARB_get_texture_sub_image( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_get_texture_sub_image) return; + glad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) load(userptr, "glGetCompressedTextureSubImage"); + glad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC) load(userptr, "glGetTextureSubImage"); +} +static void glad_gl_load_GL_ARB_gl_spirv( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_gl_spirv) return; + glad_glSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC) load(userptr, "glSpecializeShaderARB"); +} +static void glad_gl_load_GL_ARB_gpu_shader_fp64( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_gpu_shader_fp64) return; + glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC) load(userptr, "glGetUniformdv"); + glad_glUniform1d = (PFNGLUNIFORM1DPROC) load(userptr, "glUniform1d"); + glad_glUniform1dv = (PFNGLUNIFORM1DVPROC) load(userptr, "glUniform1dv"); + glad_glUniform2d = (PFNGLUNIFORM2DPROC) load(userptr, "glUniform2d"); + glad_glUniform2dv = (PFNGLUNIFORM2DVPROC) load(userptr, "glUniform2dv"); + glad_glUniform3d = (PFNGLUNIFORM3DPROC) load(userptr, "glUniform3d"); + glad_glUniform3dv = (PFNGLUNIFORM3DVPROC) load(userptr, "glUniform3dv"); + glad_glUniform4d = (PFNGLUNIFORM4DPROC) load(userptr, "glUniform4d"); + glad_glUniform4dv = (PFNGLUNIFORM4DVPROC) load(userptr, "glUniform4dv"); + glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) load(userptr, "glUniformMatrix2dv"); + glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) load(userptr, "glUniformMatrix2x3dv"); + glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) load(userptr, "glUniformMatrix2x4dv"); + glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) load(userptr, "glUniformMatrix3dv"); + glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) load(userptr, "glUniformMatrix3x2dv"); + glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) load(userptr, "glUniformMatrix3x4dv"); + glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) load(userptr, "glUniformMatrix4dv"); + glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) load(userptr, "glUniformMatrix4x2dv"); + glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) load(userptr, "glUniformMatrix4x3dv"); +} +static void glad_gl_load_GL_ARB_imaging( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_imaging) return; + glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor"); + glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation"); +} +static void glad_gl_load_GL_ARB_indirect_parameters( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_indirect_parameters) return; + glad_glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) load(userptr, "glMultiDrawArraysIndirectCountARB"); + glad_glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) load(userptr, "glMultiDrawElementsIndirectCountARB"); +} +static void glad_gl_load_GL_ARB_instanced_arrays( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_instanced_arrays) return; + glad_glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC) load(userptr, "glVertexAttribDivisorARB"); +} +static void glad_gl_load_GL_ARB_internalformat_query( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_internalformat_query) return; + glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) load(userptr, "glGetInternalformativ"); +} +static void glad_gl_load_GL_ARB_internalformat_query2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_internalformat_query2) return; + glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) load(userptr, "glGetInternalformati64v"); +} +static void glad_gl_load_GL_ARB_invalidate_subdata( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_invalidate_subdata) return; + glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) load(userptr, "glInvalidateBufferData"); + glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) load(userptr, "glInvalidateBufferSubData"); + glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) load(userptr, "glInvalidateFramebuffer"); + glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) load(userptr, "glInvalidateSubFramebuffer"); + glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) load(userptr, "glInvalidateTexImage"); + glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) load(userptr, "glInvalidateTexSubImage"); +} +static void glad_gl_load_GL_ARB_map_buffer_range( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_map_buffer_range) return; + glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) load(userptr, "glFlushMappedBufferRange"); + glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) load(userptr, "glMapBufferRange"); +} +static void glad_gl_load_GL_ARB_multi_bind( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_multi_bind) return; + glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC) load(userptr, "glBindBuffersBase"); + glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC) load(userptr, "glBindBuffersRange"); + glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC) load(userptr, "glBindImageTextures"); + glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC) load(userptr, "glBindSamplers"); + glad_glBindTextures = (PFNGLBINDTEXTURESPROC) load(userptr, "glBindTextures"); + glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC) load(userptr, "glBindVertexBuffers"); +} +static void glad_gl_load_GL_ARB_multi_draw_indirect( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_multi_draw_indirect) return; + glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) load(userptr, "glMultiDrawArraysIndirect"); + glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) load(userptr, "glMultiDrawElementsIndirect"); +} +static void glad_gl_load_GL_ARB_multisample( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_multisample) return; + glad_glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC) load(userptr, "glSampleCoverageARB"); +} +static void glad_gl_load_GL_ARB_multitexture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_multitexture) return; + glad_glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC) load(userptr, "glActiveTextureARB"); + glad_glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC) load(userptr, "glClientActiveTextureARB"); + glad_glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC) load(userptr, "glMultiTexCoord1dARB"); + glad_glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC) load(userptr, "glMultiTexCoord1dvARB"); + glad_glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC) load(userptr, "glMultiTexCoord1fARB"); + glad_glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC) load(userptr, "glMultiTexCoord1fvARB"); + glad_glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC) load(userptr, "glMultiTexCoord1iARB"); + glad_glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC) load(userptr, "glMultiTexCoord1ivARB"); + glad_glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC) load(userptr, "glMultiTexCoord1sARB"); + glad_glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC) load(userptr, "glMultiTexCoord1svARB"); + glad_glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC) load(userptr, "glMultiTexCoord2dARB"); + glad_glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC) load(userptr, "glMultiTexCoord2dvARB"); + glad_glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC) load(userptr, "glMultiTexCoord2fARB"); + glad_glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC) load(userptr, "glMultiTexCoord2fvARB"); + glad_glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC) load(userptr, "glMultiTexCoord2iARB"); + glad_glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC) load(userptr, "glMultiTexCoord2ivARB"); + glad_glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC) load(userptr, "glMultiTexCoord2sARB"); + glad_glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC) load(userptr, "glMultiTexCoord2svARB"); + glad_glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC) load(userptr, "glMultiTexCoord3dARB"); + glad_glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC) load(userptr, "glMultiTexCoord3dvARB"); + glad_glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC) load(userptr, "glMultiTexCoord3fARB"); + glad_glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC) load(userptr, "glMultiTexCoord3fvARB"); + glad_glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC) load(userptr, "glMultiTexCoord3iARB"); + glad_glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC) load(userptr, "glMultiTexCoord3ivARB"); + glad_glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC) load(userptr, "glMultiTexCoord3sARB"); + glad_glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC) load(userptr, "glMultiTexCoord3svARB"); + glad_glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC) load(userptr, "glMultiTexCoord4dARB"); + glad_glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC) load(userptr, "glMultiTexCoord4dvARB"); + glad_glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC) load(userptr, "glMultiTexCoord4fARB"); + glad_glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC) load(userptr, "glMultiTexCoord4fvARB"); + glad_glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC) load(userptr, "glMultiTexCoord4iARB"); + glad_glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC) load(userptr, "glMultiTexCoord4ivARB"); + glad_glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC) load(userptr, "glMultiTexCoord4sARB"); + glad_glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC) load(userptr, "glMultiTexCoord4svARB"); +} +static void glad_gl_load_GL_ARB_occlusion_query( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_occlusion_query) return; + glad_glBeginQueryARB = (PFNGLBEGINQUERYARBPROC) load(userptr, "glBeginQueryARB"); + glad_glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC) load(userptr, "glDeleteQueriesARB"); + glad_glEndQueryARB = (PFNGLENDQUERYARBPROC) load(userptr, "glEndQueryARB"); + glad_glGenQueriesARB = (PFNGLGENQUERIESARBPROC) load(userptr, "glGenQueriesARB"); + glad_glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC) load(userptr, "glGetQueryObjectivARB"); + glad_glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC) load(userptr, "glGetQueryObjectuivARB"); + glad_glGetQueryivARB = (PFNGLGETQUERYIVARBPROC) load(userptr, "glGetQueryivARB"); + glad_glIsQueryARB = (PFNGLISQUERYARBPROC) load(userptr, "glIsQueryARB"); +} +static void glad_gl_load_GL_ARB_point_parameters( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_point_parameters) return; + glad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC) load(userptr, "glPointParameterfARB"); + glad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC) load(userptr, "glPointParameterfvARB"); +} +static void glad_gl_load_GL_ARB_polygon_offset_clamp( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_polygon_offset_clamp) return; + glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC) load(userptr, "glPolygonOffsetClamp"); +} +static void glad_gl_load_GL_ARB_program_interface_query( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_program_interface_query) return; + glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) load(userptr, "glGetProgramInterfaceiv"); + glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) load(userptr, "glGetProgramResourceIndex"); + glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) load(userptr, "glGetProgramResourceLocation"); + glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) load(userptr, "glGetProgramResourceLocationIndex"); + glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) load(userptr, "glGetProgramResourceName"); + glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) load(userptr, "glGetProgramResourceiv"); +} +static void glad_gl_load_GL_ARB_provoking_vertex( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_provoking_vertex) return; + glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) load(userptr, "glProvokingVertex"); +} +static void glad_gl_load_GL_ARB_robustness( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_robustness) return; + glad_glGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC) load(userptr, "glGetGraphicsResetStatusARB"); + glad_glGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) load(userptr, "glGetnCompressedTexImageARB"); + glad_glGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC) load(userptr, "glGetnTexImageARB"); + glad_glGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC) load(userptr, "glGetnUniformdvARB"); + glad_glGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC) load(userptr, "glGetnUniformfvARB"); + glad_glGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC) load(userptr, "glGetnUniformivARB"); + glad_glGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC) load(userptr, "glGetnUniformuivARB"); + glad_glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC) load(userptr, "glReadnPixelsARB"); +} +static void glad_gl_load_GL_ARB_sample_shading( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_sample_shading) return; + glad_glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC) load(userptr, "glMinSampleShadingARB"); +} +static void glad_gl_load_GL_ARB_sampler_objects( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_sampler_objects) return; + glad_glBindSampler = (PFNGLBINDSAMPLERPROC) load(userptr, "glBindSampler"); + glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC) load(userptr, "glDeleteSamplers"); + glad_glGenSamplers = (PFNGLGENSAMPLERSPROC) load(userptr, "glGenSamplers"); + glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) load(userptr, "glGetSamplerParameterIiv"); + glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) load(userptr, "glGetSamplerParameterIuiv"); + glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) load(userptr, "glGetSamplerParameterfv"); + glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) load(userptr, "glGetSamplerParameteriv"); + glad_glIsSampler = (PFNGLISSAMPLERPROC) load(userptr, "glIsSampler"); + glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) load(userptr, "glSamplerParameterIiv"); + glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) load(userptr, "glSamplerParameterIuiv"); + glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) load(userptr, "glSamplerParameterf"); + glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) load(userptr, "glSamplerParameterfv"); + glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) load(userptr, "glSamplerParameteri"); + glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) load(userptr, "glSamplerParameteriv"); +} +static void glad_gl_load_GL_ARB_separate_shader_objects( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_separate_shader_objects) return; + glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) load(userptr, "glActiveShaderProgram"); + glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) load(userptr, "glBindProgramPipeline"); + glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) load(userptr, "glCreateShaderProgramv"); + glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) load(userptr, "glDeleteProgramPipelines"); + glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) load(userptr, "glGenProgramPipelines"); + glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) load(userptr, "glGetProgramPipelineInfoLog"); + glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) load(userptr, "glGetProgramPipelineiv"); + glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) load(userptr, "glIsProgramPipeline"); + glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) load(userptr, "glProgramParameteri"); + glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) load(userptr, "glProgramUniform1d"); + glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) load(userptr, "glProgramUniform1dv"); + glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) load(userptr, "glProgramUniform1f"); + glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) load(userptr, "glProgramUniform1fv"); + glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) load(userptr, "glProgramUniform1i"); + glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) load(userptr, "glProgramUniform1iv"); + glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) load(userptr, "glProgramUniform1ui"); + glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) load(userptr, "glProgramUniform1uiv"); + glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) load(userptr, "glProgramUniform2d"); + glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) load(userptr, "glProgramUniform2dv"); + glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) load(userptr, "glProgramUniform2f"); + glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) load(userptr, "glProgramUniform2fv"); + glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) load(userptr, "glProgramUniform2i"); + glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) load(userptr, "glProgramUniform2iv"); + glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) load(userptr, "glProgramUniform2ui"); + glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) load(userptr, "glProgramUniform2uiv"); + glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) load(userptr, "glProgramUniform3d"); + glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) load(userptr, "glProgramUniform3dv"); + glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) load(userptr, "glProgramUniform3f"); + glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) load(userptr, "glProgramUniform3fv"); + glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) load(userptr, "glProgramUniform3i"); + glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) load(userptr, "glProgramUniform3iv"); + glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) load(userptr, "glProgramUniform3ui"); + glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) load(userptr, "glProgramUniform3uiv"); + glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) load(userptr, "glProgramUniform4d"); + glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) load(userptr, "glProgramUniform4dv"); + glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) load(userptr, "glProgramUniform4f"); + glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) load(userptr, "glProgramUniform4fv"); + glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) load(userptr, "glProgramUniform4i"); + glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) load(userptr, "glProgramUniform4iv"); + glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) load(userptr, "glProgramUniform4ui"); + glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) load(userptr, "glProgramUniform4uiv"); + glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) load(userptr, "glProgramUniformMatrix2dv"); + glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) load(userptr, "glProgramUniformMatrix2fv"); + glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) load(userptr, "glProgramUniformMatrix2x3dv"); + glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) load(userptr, "glProgramUniformMatrix2x3fv"); + glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) load(userptr, "glProgramUniformMatrix2x4dv"); + glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) load(userptr, "glProgramUniformMatrix2x4fv"); + glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) load(userptr, "glProgramUniformMatrix3dv"); + glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) load(userptr, "glProgramUniformMatrix3fv"); + glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) load(userptr, "glProgramUniformMatrix3x2dv"); + glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) load(userptr, "glProgramUniformMatrix3x2fv"); + glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) load(userptr, "glProgramUniformMatrix3x4dv"); + glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) load(userptr, "glProgramUniformMatrix3x4fv"); + glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) load(userptr, "glProgramUniformMatrix4dv"); + glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) load(userptr, "glProgramUniformMatrix4fv"); + glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) load(userptr, "glProgramUniformMatrix4x2dv"); + glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) load(userptr, "glProgramUniformMatrix4x2fv"); + glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) load(userptr, "glProgramUniformMatrix4x3dv"); + glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) load(userptr, "glProgramUniformMatrix4x3fv"); + glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) load(userptr, "glUseProgramStages"); + glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) load(userptr, "glValidateProgramPipeline"); +} +static void glad_gl_load_GL_ARB_shader_atomic_counters( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_shader_atomic_counters) return; + glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) load(userptr, "glGetActiveAtomicCounterBufferiv"); +} +static void glad_gl_load_GL_ARB_shader_image_load_store( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_shader_image_load_store) return; + glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) load(userptr, "glBindImageTexture"); + glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC) load(userptr, "glMemoryBarrier"); +} +static void glad_gl_load_GL_ARB_shader_objects( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_shader_objects) return; + glad_glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC) load(userptr, "glAttachObjectARB"); + glad_glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC) load(userptr, "glCompileShaderARB"); + glad_glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC) load(userptr, "glCreateProgramObjectARB"); + glad_glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC) load(userptr, "glCreateShaderObjectARB"); + glad_glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC) load(userptr, "glDeleteObjectARB"); + glad_glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC) load(userptr, "glDetachObjectARB"); + glad_glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC) load(userptr, "glGetActiveUniformARB"); + glad_glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC) load(userptr, "glGetAttachedObjectsARB"); + glad_glGetHandleARB = (PFNGLGETHANDLEARBPROC) load(userptr, "glGetHandleARB"); + glad_glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC) load(userptr, "glGetInfoLogARB"); + glad_glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC) load(userptr, "glGetObjectParameterfvARB"); + glad_glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC) load(userptr, "glGetObjectParameterivARB"); + glad_glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC) load(userptr, "glGetShaderSourceARB"); + glad_glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC) load(userptr, "glGetUniformLocationARB"); + glad_glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC) load(userptr, "glGetUniformfvARB"); + glad_glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC) load(userptr, "glGetUniformivARB"); + glad_glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC) load(userptr, "glLinkProgramARB"); + glad_glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC) load(userptr, "glShaderSourceARB"); + glad_glUniform1fARB = (PFNGLUNIFORM1FARBPROC) load(userptr, "glUniform1fARB"); + glad_glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC) load(userptr, "glUniform1fvARB"); + glad_glUniform1iARB = (PFNGLUNIFORM1IARBPROC) load(userptr, "glUniform1iARB"); + glad_glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC) load(userptr, "glUniform1ivARB"); + glad_glUniform2fARB = (PFNGLUNIFORM2FARBPROC) load(userptr, "glUniform2fARB"); + glad_glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC) load(userptr, "glUniform2fvARB"); + glad_glUniform2iARB = (PFNGLUNIFORM2IARBPROC) load(userptr, "glUniform2iARB"); + glad_glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC) load(userptr, "glUniform2ivARB"); + glad_glUniform3fARB = (PFNGLUNIFORM3FARBPROC) load(userptr, "glUniform3fARB"); + glad_glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC) load(userptr, "glUniform3fvARB"); + glad_glUniform3iARB = (PFNGLUNIFORM3IARBPROC) load(userptr, "glUniform3iARB"); + glad_glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC) load(userptr, "glUniform3ivARB"); + glad_glUniform4fARB = (PFNGLUNIFORM4FARBPROC) load(userptr, "glUniform4fARB"); + glad_glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC) load(userptr, "glUniform4fvARB"); + glad_glUniform4iARB = (PFNGLUNIFORM4IARBPROC) load(userptr, "glUniform4iARB"); + glad_glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC) load(userptr, "glUniform4ivARB"); + glad_glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC) load(userptr, "glUniformMatrix2fvARB"); + glad_glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC) load(userptr, "glUniformMatrix3fvARB"); + glad_glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC) load(userptr, "glUniformMatrix4fvARB"); + glad_glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC) load(userptr, "glUseProgramObjectARB"); + glad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC) load(userptr, "glValidateProgramARB"); +} +static void glad_gl_load_GL_ARB_shader_storage_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_shader_storage_buffer_object) return; + glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) load(userptr, "glShaderStorageBlockBinding"); +} +static void glad_gl_load_GL_ARB_shader_subroutine( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_shader_subroutine) return; + glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) load(userptr, "glGetActiveSubroutineName"); + glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) load(userptr, "glGetActiveSubroutineUniformName"); + glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) load(userptr, "glGetActiveSubroutineUniformiv"); + glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) load(userptr, "glGetProgramStageiv"); + glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) load(userptr, "glGetSubroutineIndex"); + glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) load(userptr, "glGetSubroutineUniformLocation"); + glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) load(userptr, "glGetUniformSubroutineuiv"); + glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) load(userptr, "glUniformSubroutinesuiv"); +} +static void glad_gl_load_GL_ARB_sync( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_sync) return; + glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) load(userptr, "glClientWaitSync"); + glad_glDeleteSync = (PFNGLDELETESYNCPROC) load(userptr, "glDeleteSync"); + glad_glFenceSync = (PFNGLFENCESYNCPROC) load(userptr, "glFenceSync"); + glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC) load(userptr, "glGetInteger64v"); + glad_glGetSynciv = (PFNGLGETSYNCIVPROC) load(userptr, "glGetSynciv"); + glad_glIsSync = (PFNGLISSYNCPROC) load(userptr, "glIsSync"); + glad_glWaitSync = (PFNGLWAITSYNCPROC) load(userptr, "glWaitSync"); +} +static void glad_gl_load_GL_ARB_tessellation_shader( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_tessellation_shader) return; + glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) load(userptr, "glPatchParameterfv"); + glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC) load(userptr, "glPatchParameteri"); +} +static void glad_gl_load_GL_ARB_texture_barrier( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_barrier) return; + glad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC) load(userptr, "glTextureBarrier"); +} +static void glad_gl_load_GL_ARB_texture_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_buffer_object) return; + glad_glTexBufferARB = (PFNGLTEXBUFFERARBPROC) load(userptr, "glTexBufferARB"); +} +static void glad_gl_load_GL_ARB_texture_buffer_range( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_buffer_range) return; + glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) load(userptr, "glTexBufferRange"); +} +static void glad_gl_load_GL_ARB_texture_compression( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_compression) return; + glad_glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) load(userptr, "glCompressedTexImage1DARB"); + glad_glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) load(userptr, "glCompressedTexImage2DARB"); + glad_glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) load(userptr, "glCompressedTexImage3DARB"); + glad_glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) load(userptr, "glCompressedTexSubImage1DARB"); + glad_glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) load(userptr, "glCompressedTexSubImage2DARB"); + glad_glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) load(userptr, "glCompressedTexSubImage3DARB"); + glad_glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) load(userptr, "glGetCompressedTexImageARB"); +} +static void glad_gl_load_GL_ARB_texture_multisample( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_multisample) return; + glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) load(userptr, "glGetMultisamplefv"); + glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC) load(userptr, "glSampleMaski"); + glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) load(userptr, "glTexImage2DMultisample"); + glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) load(userptr, "glTexImage3DMultisample"); +} +static void glad_gl_load_GL_ARB_texture_storage( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_storage) return; + glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC) load(userptr, "glTexStorage1D"); + glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC) load(userptr, "glTexStorage2D"); + glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC) load(userptr, "glTexStorage3D"); +} +static void glad_gl_load_GL_ARB_texture_storage_multisample( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_storage_multisample) return; + glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) load(userptr, "glTexStorage2DMultisample"); + glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) load(userptr, "glTexStorage3DMultisample"); +} +static void glad_gl_load_GL_ARB_texture_view( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_texture_view) return; + glad_glTextureView = (PFNGLTEXTUREVIEWPROC) load(userptr, "glTextureView"); +} +static void glad_gl_load_GL_ARB_timer_query( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_timer_query) return; + glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) load(userptr, "glGetQueryObjecti64v"); + glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) load(userptr, "glGetQueryObjectui64v"); + glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC) load(userptr, "glQueryCounter"); +} +static void glad_gl_load_GL_ARB_transform_feedback2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_transform_feedback2) return; + glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) load(userptr, "glBindTransformFeedback"); + glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) load(userptr, "glDeleteTransformFeedbacks"); + glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) load(userptr, "glDrawTransformFeedback"); + glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) load(userptr, "glGenTransformFeedbacks"); + glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) load(userptr, "glIsTransformFeedback"); + glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) load(userptr, "glPauseTransformFeedback"); + glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) load(userptr, "glResumeTransformFeedback"); +} +static void glad_gl_load_GL_ARB_transform_feedback3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_transform_feedback3) return; + glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) load(userptr, "glBeginQueryIndexed"); + glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) load(userptr, "glDrawTransformFeedbackStream"); + glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) load(userptr, "glEndQueryIndexed"); + glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) load(userptr, "glGetQueryIndexediv"); +} +static void glad_gl_load_GL_ARB_transform_feedback_instanced( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_transform_feedback_instanced) return; + glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackInstanced"); + glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackStreamInstanced"); +} +static void glad_gl_load_GL_ARB_uniform_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_uniform_buffer_object) return; + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load(userptr, "glBindBufferBase"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load(userptr, "glBindBufferRange"); + glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) load(userptr, "glGetActiveUniformBlockName"); + glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) load(userptr, "glGetActiveUniformBlockiv"); + glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) load(userptr, "glGetActiveUniformName"); + glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) load(userptr, "glGetActiveUniformsiv"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load(userptr, "glGetIntegeri_v"); + glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) load(userptr, "glGetUniformBlockIndex"); + glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) load(userptr, "glGetUniformIndices"); + glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) load(userptr, "glUniformBlockBinding"); +} +static void glad_gl_load_GL_ARB_vertex_array_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_array_object) return; + glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) load(userptr, "glBindVertexArray"); + glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) load(userptr, "glDeleteVertexArrays"); + glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) load(userptr, "glGenVertexArrays"); + glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC) load(userptr, "glIsVertexArray"); +} +static void glad_gl_load_GL_ARB_vertex_attrib_64bit( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_attrib_64bit) return; + glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) load(userptr, "glGetVertexAttribLdv"); + glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) load(userptr, "glVertexAttribL1d"); + glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) load(userptr, "glVertexAttribL1dv"); + glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) load(userptr, "glVertexAttribL2d"); + glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) load(userptr, "glVertexAttribL2dv"); + glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) load(userptr, "glVertexAttribL3d"); + glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) load(userptr, "glVertexAttribL3dv"); + glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) load(userptr, "glVertexAttribL4d"); + glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) load(userptr, "glVertexAttribL4dv"); + glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) load(userptr, "glVertexAttribLPointer"); +} +static void glad_gl_load_GL_ARB_vertex_attrib_binding( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_attrib_binding) return; + glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) load(userptr, "glBindVertexBuffer"); + glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) load(userptr, "glVertexAttribBinding"); + glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) load(userptr, "glVertexAttribFormat"); + glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) load(userptr, "glVertexAttribIFormat"); + glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) load(userptr, "glVertexAttribLFormat"); + glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) load(userptr, "glVertexBindingDivisor"); +} +static void glad_gl_load_GL_ARB_vertex_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_buffer_object) return; + glad_glBindBufferARB = (PFNGLBINDBUFFERARBPROC) load(userptr, "glBindBufferARB"); + glad_glBufferDataARB = (PFNGLBUFFERDATAARBPROC) load(userptr, "glBufferDataARB"); + glad_glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC) load(userptr, "glBufferSubDataARB"); + glad_glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC) load(userptr, "glDeleteBuffersARB"); + glad_glGenBuffersARB = (PFNGLGENBUFFERSARBPROC) load(userptr, "glGenBuffersARB"); + glad_glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC) load(userptr, "glGetBufferParameterivARB"); + glad_glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC) load(userptr, "glGetBufferPointervARB"); + glad_glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC) load(userptr, "glGetBufferSubDataARB"); + glad_glIsBufferARB = (PFNGLISBUFFERARBPROC) load(userptr, "glIsBufferARB"); + glad_glMapBufferARB = (PFNGLMAPBUFFERARBPROC) load(userptr, "glMapBufferARB"); + glad_glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC) load(userptr, "glUnmapBufferARB"); +} +static void glad_gl_load_GL_ARB_vertex_program( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_program) return; + glad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC) load(userptr, "glBindProgramARB"); + glad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC) load(userptr, "glDeleteProgramsARB"); + glad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) load(userptr, "glDisableVertexAttribArrayARB"); + glad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC) load(userptr, "glEnableVertexAttribArrayARB"); + glad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC) load(userptr, "glGenProgramsARB"); + glad_glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC) load(userptr, "glGetProgramEnvParameterdvARB"); + glad_glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC) load(userptr, "glGetProgramEnvParameterfvARB"); + glad_glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) load(userptr, "glGetProgramLocalParameterdvARB"); + glad_glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) load(userptr, "glGetProgramLocalParameterfvARB"); + glad_glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC) load(userptr, "glGetProgramStringARB"); + glad_glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC) load(userptr, "glGetProgramivARB"); + glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC) load(userptr, "glGetVertexAttribPointervARB"); + glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC) load(userptr, "glGetVertexAttribdvARB"); + glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) load(userptr, "glGetVertexAttribfvARB"); + glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC) load(userptr, "glGetVertexAttribivARB"); + glad_glIsProgramARB = (PFNGLISPROGRAMARBPROC) load(userptr, "glIsProgramARB"); + glad_glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC) load(userptr, "glProgramEnvParameter4dARB"); + glad_glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC) load(userptr, "glProgramEnvParameter4dvARB"); + glad_glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC) load(userptr, "glProgramEnvParameter4fARB"); + glad_glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC) load(userptr, "glProgramEnvParameter4fvARB"); + glad_glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC) load(userptr, "glProgramLocalParameter4dARB"); + glad_glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) load(userptr, "glProgramLocalParameter4dvARB"); + glad_glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC) load(userptr, "glProgramLocalParameter4fARB"); + glad_glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) load(userptr, "glProgramLocalParameter4fvARB"); + glad_glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC) load(userptr, "glProgramStringARB"); + glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC) load(userptr, "glVertexAttrib1dARB"); + glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC) load(userptr, "glVertexAttrib1dvARB"); + glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC) load(userptr, "glVertexAttrib1fARB"); + glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC) load(userptr, "glVertexAttrib1fvARB"); + glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC) load(userptr, "glVertexAttrib1sARB"); + glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC) load(userptr, "glVertexAttrib1svARB"); + glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC) load(userptr, "glVertexAttrib2dARB"); + glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC) load(userptr, "glVertexAttrib2dvARB"); + glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC) load(userptr, "glVertexAttrib2fARB"); + glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC) load(userptr, "glVertexAttrib2fvARB"); + glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC) load(userptr, "glVertexAttrib2sARB"); + glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC) load(userptr, "glVertexAttrib2svARB"); + glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC) load(userptr, "glVertexAttrib3dARB"); + glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC) load(userptr, "glVertexAttrib3dvARB"); + glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC) load(userptr, "glVertexAttrib3fARB"); + glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC) load(userptr, "glVertexAttrib3fvARB"); + glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC) load(userptr, "glVertexAttrib3sARB"); + glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC) load(userptr, "glVertexAttrib3svARB"); + glad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC) load(userptr, "glVertexAttrib4NbvARB"); + glad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC) load(userptr, "glVertexAttrib4NivARB"); + glad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC) load(userptr, "glVertexAttrib4NsvARB"); + glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC) load(userptr, "glVertexAttrib4NubARB"); + glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC) load(userptr, "glVertexAttrib4NubvARB"); + glad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC) load(userptr, "glVertexAttrib4NuivARB"); + glad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC) load(userptr, "glVertexAttrib4NusvARB"); + glad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC) load(userptr, "glVertexAttrib4bvARB"); + glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC) load(userptr, "glVertexAttrib4dARB"); + glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC) load(userptr, "glVertexAttrib4dvARB"); + glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC) load(userptr, "glVertexAttrib4fARB"); + glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC) load(userptr, "glVertexAttrib4fvARB"); + glad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC) load(userptr, "glVertexAttrib4ivARB"); + glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC) load(userptr, "glVertexAttrib4sARB"); + glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC) load(userptr, "glVertexAttrib4svARB"); + glad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC) load(userptr, "glVertexAttrib4ubvARB"); + glad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC) load(userptr, "glVertexAttrib4uivARB"); + glad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC) load(userptr, "glVertexAttrib4usvARB"); + glad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC) load(userptr, "glVertexAttribPointerARB"); +} +static void glad_gl_load_GL_ARB_vertex_shader( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_shader) return; + glad_glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC) load(userptr, "glBindAttribLocationARB"); + glad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) load(userptr, "glDisableVertexAttribArrayARB"); + glad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC) load(userptr, "glEnableVertexAttribArrayARB"); + glad_glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC) load(userptr, "glGetActiveAttribARB"); + glad_glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC) load(userptr, "glGetAttribLocationARB"); + glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC) load(userptr, "glGetVertexAttribPointervARB"); + glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC) load(userptr, "glGetVertexAttribdvARB"); + glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) load(userptr, "glGetVertexAttribfvARB"); + glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC) load(userptr, "glGetVertexAttribivARB"); + glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC) load(userptr, "glVertexAttrib1dARB"); + glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC) load(userptr, "glVertexAttrib1dvARB"); + glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC) load(userptr, "glVertexAttrib1fARB"); + glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC) load(userptr, "glVertexAttrib1fvARB"); + glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC) load(userptr, "glVertexAttrib1sARB"); + glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC) load(userptr, "glVertexAttrib1svARB"); + glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC) load(userptr, "glVertexAttrib2dARB"); + glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC) load(userptr, "glVertexAttrib2dvARB"); + glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC) load(userptr, "glVertexAttrib2fARB"); + glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC) load(userptr, "glVertexAttrib2fvARB"); + glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC) load(userptr, "glVertexAttrib2sARB"); + glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC) load(userptr, "glVertexAttrib2svARB"); + glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC) load(userptr, "glVertexAttrib3dARB"); + glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC) load(userptr, "glVertexAttrib3dvARB"); + glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC) load(userptr, "glVertexAttrib3fARB"); + glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC) load(userptr, "glVertexAttrib3fvARB"); + glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC) load(userptr, "glVertexAttrib3sARB"); + glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC) load(userptr, "glVertexAttrib3svARB"); + glad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC) load(userptr, "glVertexAttrib4NbvARB"); + glad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC) load(userptr, "glVertexAttrib4NivARB"); + glad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC) load(userptr, "glVertexAttrib4NsvARB"); + glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC) load(userptr, "glVertexAttrib4NubARB"); + glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC) load(userptr, "glVertexAttrib4NubvARB"); + glad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC) load(userptr, "glVertexAttrib4NuivARB"); + glad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC) load(userptr, "glVertexAttrib4NusvARB"); + glad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC) load(userptr, "glVertexAttrib4bvARB"); + glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC) load(userptr, "glVertexAttrib4dARB"); + glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC) load(userptr, "glVertexAttrib4dvARB"); + glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC) load(userptr, "glVertexAttrib4fARB"); + glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC) load(userptr, "glVertexAttrib4fvARB"); + glad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC) load(userptr, "glVertexAttrib4ivARB"); + glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC) load(userptr, "glVertexAttrib4sARB"); + glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC) load(userptr, "glVertexAttrib4svARB"); + glad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC) load(userptr, "glVertexAttrib4ubvARB"); + glad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC) load(userptr, "glVertexAttrib4uivARB"); + glad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC) load(userptr, "glVertexAttrib4usvARB"); + glad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC) load(userptr, "glVertexAttribPointerARB"); +} +static void glad_gl_load_GL_ARB_vertex_type_2_10_10_10_rev( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_vertex_type_2_10_10_10_rev) return; + glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) load(userptr, "glVertexAttribP1ui"); + glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) load(userptr, "glVertexAttribP1uiv"); + glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) load(userptr, "glVertexAttribP2ui"); + glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) load(userptr, "glVertexAttribP2uiv"); + glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) load(userptr, "glVertexAttribP3ui"); + glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) load(userptr, "glVertexAttribP3uiv"); + glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) load(userptr, "glVertexAttribP4ui"); + glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) load(userptr, "glVertexAttribP4uiv"); +} +static void glad_gl_load_GL_ARB_viewport_array( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ARB_viewport_array) return; + glad_glDepthRangeArraydvNV = (PFNGLDEPTHRANGEARRAYDVNVPROC) load(userptr, "glDepthRangeArraydvNV"); + glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) load(userptr, "glDepthRangeArrayv"); + glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) load(userptr, "glDepthRangeIndexed"); + glad_glDepthRangeIndexeddNV = (PFNGLDEPTHRANGEINDEXEDDNVPROC) load(userptr, "glDepthRangeIndexeddNV"); + glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) load(userptr, "glGetDoublei_v"); + glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC) load(userptr, "glGetFloati_v"); + glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC) load(userptr, "glScissorArrayv"); + glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC) load(userptr, "glScissorIndexed"); + glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) load(userptr, "glScissorIndexedv"); + glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) load(userptr, "glViewportArrayv"); + glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) load(userptr, "glViewportIndexedf"); + glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) load(userptr, "glViewportIndexedfv"); +} +static void glad_gl_load_GL_ATI_draw_buffers( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ATI_draw_buffers) return; + glad_glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC) load(userptr, "glDrawBuffersATI"); +} +static void glad_gl_load_GL_ATI_separate_stencil( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_ATI_separate_stencil) return; + glad_glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC) load(userptr, "glStencilFuncSeparateATI"); + glad_glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC) load(userptr, "glStencilOpSeparateATI"); +} +static void glad_gl_load_GL_EXT_blend_color( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_blend_color) return; + glad_glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC) load(userptr, "glBlendColorEXT"); +} +static void glad_gl_load_GL_EXT_blend_equation_separate( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_blend_equation_separate) return; + glad_glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC) load(userptr, "glBlendEquationSeparateEXT"); +} +static void glad_gl_load_GL_EXT_blend_func_separate( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_blend_func_separate) return; + glad_glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC) load(userptr, "glBlendFuncSeparateEXT"); +} +static void glad_gl_load_GL_EXT_blend_minmax( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_blend_minmax) return; + glad_glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC) load(userptr, "glBlendEquationEXT"); +} +static void glad_gl_load_GL_EXT_copy_texture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_copy_texture) return; + glad_glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC) load(userptr, "glCopyTexImage1DEXT"); + glad_glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC) load(userptr, "glCopyTexImage2DEXT"); + glad_glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC) load(userptr, "glCopyTexSubImage1DEXT"); + glad_glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC) load(userptr, "glCopyTexSubImage2DEXT"); + glad_glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC) load(userptr, "glCopyTexSubImage3DEXT"); +} +static void glad_gl_load_GL_EXT_direct_state_access( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_direct_state_access) return; + glad_glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC) load(userptr, "glBindMultiTextureEXT"); + glad_glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) load(userptr, "glCheckNamedFramebufferStatusEXT"); + glad_glClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC) load(userptr, "glClearNamedBufferDataEXT"); + glad_glClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) load(userptr, "glClearNamedBufferSubDataEXT"); + glad_glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC) load(userptr, "glClientAttribDefaultEXT"); + glad_glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) load(userptr, "glCompressedMultiTexImage1DEXT"); + glad_glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) load(userptr, "glCompressedMultiTexImage2DEXT"); + glad_glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) load(userptr, "glCompressedMultiTexImage3DEXT"); + glad_glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) load(userptr, "glCompressedMultiTexSubImage1DEXT"); + glad_glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) load(userptr, "glCompressedMultiTexSubImage2DEXT"); + glad_glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) load(userptr, "glCompressedMultiTexSubImage3DEXT"); + glad_glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) load(userptr, "glCompressedTextureImage1DEXT"); + glad_glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) load(userptr, "glCompressedTextureImage2DEXT"); + glad_glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) load(userptr, "glCompressedTextureImage3DEXT"); + glad_glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) load(userptr, "glCompressedTextureSubImage1DEXT"); + glad_glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) load(userptr, "glCompressedTextureSubImage2DEXT"); + glad_glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) load(userptr, "glCompressedTextureSubImage3DEXT"); + glad_glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC) load(userptr, "glCopyMultiTexImage1DEXT"); + glad_glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC) load(userptr, "glCopyMultiTexImage2DEXT"); + glad_glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) load(userptr, "glCopyMultiTexSubImage1DEXT"); + glad_glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) load(userptr, "glCopyMultiTexSubImage2DEXT"); + glad_glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) load(userptr, "glCopyMultiTexSubImage3DEXT"); + glad_glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC) load(userptr, "glCopyTextureImage1DEXT"); + glad_glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC) load(userptr, "glCopyTextureImage2DEXT"); + glad_glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) load(userptr, "glCopyTextureSubImage1DEXT"); + glad_glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) load(userptr, "glCopyTextureSubImage2DEXT"); + glad_glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) load(userptr, "glCopyTextureSubImage3DEXT"); + glad_glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) load(userptr, "glDisableClientStateIndexedEXT"); + glad_glDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC) load(userptr, "glDisableClientStateiEXT"); + glad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC) load(userptr, "glDisableIndexedEXT"); + glad_glDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) load(userptr, "glDisableVertexArrayAttribEXT"); + glad_glDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC) load(userptr, "glDisableVertexArrayEXT"); + glad_glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) load(userptr, "glEnableClientStateIndexedEXT"); + glad_glEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC) load(userptr, "glEnableClientStateiEXT"); + glad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC) load(userptr, "glEnableIndexedEXT"); + glad_glEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) load(userptr, "glEnableVertexArrayAttribEXT"); + glad_glEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC) load(userptr, "glEnableVertexArrayEXT"); + glad_glFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) load(userptr, "glFlushMappedNamedBufferRangeEXT"); + glad_glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) load(userptr, "glFramebufferDrawBufferEXT"); + glad_glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) load(userptr, "glFramebufferDrawBuffersEXT"); + glad_glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC) load(userptr, "glFramebufferReadBufferEXT"); + glad_glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC) load(userptr, "glGenerateMultiTexMipmapEXT"); + glad_glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC) load(userptr, "glGenerateTextureMipmapEXT"); + glad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC) load(userptr, "glGetBooleanIndexedvEXT"); + glad_glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) load(userptr, "glGetCompressedMultiTexImageEXT"); + glad_glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) load(userptr, "glGetCompressedTextureImageEXT"); + glad_glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC) load(userptr, "glGetDoubleIndexedvEXT"); + glad_glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC) load(userptr, "glGetDoublei_vEXT"); + glad_glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC) load(userptr, "glGetFloatIndexedvEXT"); + glad_glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC) load(userptr, "glGetFloati_vEXT"); + glad_glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) load(userptr, "glGetFramebufferParameterivEXT"); + glad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC) load(userptr, "glGetIntegerIndexedvEXT"); + glad_glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC) load(userptr, "glGetMultiTexEnvfvEXT"); + glad_glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC) load(userptr, "glGetMultiTexEnvivEXT"); + glad_glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC) load(userptr, "glGetMultiTexGendvEXT"); + glad_glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC) load(userptr, "glGetMultiTexGenfvEXT"); + glad_glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC) load(userptr, "glGetMultiTexGenivEXT"); + glad_glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC) load(userptr, "glGetMultiTexImageEXT"); + glad_glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) load(userptr, "glGetMultiTexLevelParameterfvEXT"); + glad_glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) load(userptr, "glGetMultiTexLevelParameterivEXT"); + glad_glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC) load(userptr, "glGetMultiTexParameterIivEXT"); + glad_glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) load(userptr, "glGetMultiTexParameterIuivEXT"); + glad_glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC) load(userptr, "glGetMultiTexParameterfvEXT"); + glad_glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC) load(userptr, "glGetMultiTexParameterivEXT"); + glad_glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) load(userptr, "glGetNamedBufferParameterivEXT"); + glad_glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) load(userptr, "glGetNamedBufferPointervEXT"); + glad_glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) load(userptr, "glGetNamedBufferSubDataEXT"); + glad_glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) load(userptr, "glGetNamedFramebufferAttachmentParameterivEXT"); + glad_glGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) load(userptr, "glGetNamedFramebufferParameterivEXT"); + glad_glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) load(userptr, "glGetNamedProgramLocalParameterIivEXT"); + glad_glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) load(userptr, "glGetNamedProgramLocalParameterIuivEXT"); + glad_glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) load(userptr, "glGetNamedProgramLocalParameterdvEXT"); + glad_glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) load(userptr, "glGetNamedProgramLocalParameterfvEXT"); + glad_glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) load(userptr, "glGetNamedProgramStringEXT"); + glad_glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC) load(userptr, "glGetNamedProgramivEXT"); + glad_glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) load(userptr, "glGetNamedRenderbufferParameterivEXT"); + glad_glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC) load(userptr, "glGetPointerIndexedvEXT"); + glad_glGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC) load(userptr, "glGetPointeri_vEXT"); + glad_glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC) load(userptr, "glGetTextureImageEXT"); + glad_glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) load(userptr, "glGetTextureLevelParameterfvEXT"); + glad_glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) load(userptr, "glGetTextureLevelParameterivEXT"); + glad_glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC) load(userptr, "glGetTextureParameterIivEXT"); + glad_glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) load(userptr, "glGetTextureParameterIuivEXT"); + glad_glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC) load(userptr, "glGetTextureParameterfvEXT"); + glad_glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC) load(userptr, "glGetTextureParameterivEXT"); + glad_glGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) load(userptr, "glGetVertexArrayIntegeri_vEXT"); + glad_glGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC) load(userptr, "glGetVertexArrayIntegervEXT"); + glad_glGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) load(userptr, "glGetVertexArrayPointeri_vEXT"); + glad_glGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC) load(userptr, "glGetVertexArrayPointervEXT"); + glad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC) load(userptr, "glIsEnabledIndexedEXT"); + glad_glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC) load(userptr, "glMapNamedBufferEXT"); + glad_glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC) load(userptr, "glMapNamedBufferRangeEXT"); + glad_glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC) load(userptr, "glMatrixFrustumEXT"); + glad_glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC) load(userptr, "glMatrixLoadIdentityEXT"); + glad_glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC) load(userptr, "glMatrixLoadTransposedEXT"); + glad_glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC) load(userptr, "glMatrixLoadTransposefEXT"); + glad_glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC) load(userptr, "glMatrixLoaddEXT"); + glad_glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC) load(userptr, "glMatrixLoadfEXT"); + glad_glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC) load(userptr, "glMatrixMultTransposedEXT"); + glad_glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC) load(userptr, "glMatrixMultTransposefEXT"); + glad_glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC) load(userptr, "glMatrixMultdEXT"); + glad_glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC) load(userptr, "glMatrixMultfEXT"); + glad_glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC) load(userptr, "glMatrixOrthoEXT"); + glad_glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC) load(userptr, "glMatrixPopEXT"); + glad_glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC) load(userptr, "glMatrixPushEXT"); + glad_glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC) load(userptr, "glMatrixRotatedEXT"); + glad_glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC) load(userptr, "glMatrixRotatefEXT"); + glad_glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC) load(userptr, "glMatrixScaledEXT"); + glad_glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC) load(userptr, "glMatrixScalefEXT"); + glad_glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC) load(userptr, "glMatrixTranslatedEXT"); + glad_glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC) load(userptr, "glMatrixTranslatefEXT"); + glad_glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC) load(userptr, "glMultiTexBufferEXT"); + glad_glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC) load(userptr, "glMultiTexCoordPointerEXT"); + glad_glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC) load(userptr, "glMultiTexEnvfEXT"); + glad_glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC) load(userptr, "glMultiTexEnvfvEXT"); + glad_glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC) load(userptr, "glMultiTexEnviEXT"); + glad_glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC) load(userptr, "glMultiTexEnvivEXT"); + glad_glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC) load(userptr, "glMultiTexGendEXT"); + glad_glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC) load(userptr, "glMultiTexGendvEXT"); + glad_glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC) load(userptr, "glMultiTexGenfEXT"); + glad_glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC) load(userptr, "glMultiTexGenfvEXT"); + glad_glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC) load(userptr, "glMultiTexGeniEXT"); + glad_glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC) load(userptr, "glMultiTexGenivEXT"); + glad_glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC) load(userptr, "glMultiTexImage1DEXT"); + glad_glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC) load(userptr, "glMultiTexImage2DEXT"); + glad_glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC) load(userptr, "glMultiTexImage3DEXT"); + glad_glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC) load(userptr, "glMultiTexParameterIivEXT"); + glad_glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC) load(userptr, "glMultiTexParameterIuivEXT"); + glad_glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC) load(userptr, "glMultiTexParameterfEXT"); + glad_glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC) load(userptr, "glMultiTexParameterfvEXT"); + glad_glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC) load(userptr, "glMultiTexParameteriEXT"); + glad_glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC) load(userptr, "glMultiTexParameterivEXT"); + glad_glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC) load(userptr, "glMultiTexRenderbufferEXT"); + glad_glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC) load(userptr, "glMultiTexSubImage1DEXT"); + glad_glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC) load(userptr, "glMultiTexSubImage2DEXT"); + glad_glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC) load(userptr, "glMultiTexSubImage3DEXT"); + glad_glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC) load(userptr, "glNamedBufferDataEXT"); + glad_glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC) load(userptr, "glNamedBufferStorageEXT"); + glad_glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC) load(userptr, "glNamedBufferSubDataEXT"); + glad_glNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) load(userptr, "glNamedCopyBufferSubDataEXT"); + glad_glNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) load(userptr, "glNamedFramebufferParameteriEXT"); + glad_glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) load(userptr, "glNamedFramebufferRenderbufferEXT"); + glad_glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) load(userptr, "glNamedFramebufferTexture1DEXT"); + glad_glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) load(userptr, "glNamedFramebufferTexture2DEXT"); + glad_glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) load(userptr, "glNamedFramebufferTexture3DEXT"); + glad_glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) load(userptr, "glNamedFramebufferTextureEXT"); + glad_glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) load(userptr, "glNamedFramebufferTextureFaceEXT"); + glad_glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) load(userptr, "glNamedFramebufferTextureLayerEXT"); + glad_glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) load(userptr, "glNamedProgramLocalParameter4dEXT"); + glad_glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) load(userptr, "glNamedProgramLocalParameter4dvEXT"); + glad_glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) load(userptr, "glNamedProgramLocalParameter4fEXT"); + glad_glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) load(userptr, "glNamedProgramLocalParameter4fvEXT"); + glad_glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) load(userptr, "glNamedProgramLocalParameterI4iEXT"); + glad_glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) load(userptr, "glNamedProgramLocalParameterI4ivEXT"); + glad_glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) load(userptr, "glNamedProgramLocalParameterI4uiEXT"); + glad_glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) load(userptr, "glNamedProgramLocalParameterI4uivEXT"); + glad_glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) load(userptr, "glNamedProgramLocalParameters4fvEXT"); + glad_glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) load(userptr, "glNamedProgramLocalParametersI4ivEXT"); + glad_glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) load(userptr, "glNamedProgramLocalParametersI4uivEXT"); + glad_glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC) load(userptr, "glNamedProgramStringEXT"); + glad_glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) load(userptr, "glNamedRenderbufferStorageEXT"); + glad_glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) load(userptr, "glNamedRenderbufferStorageMultisampleCoverageEXT"); + glad_glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) load(userptr, "glNamedRenderbufferStorageMultisampleEXT"); + glad_glProgramUniform1dEXT = (PFNGLPROGRAMUNIFORM1DEXTPROC) load(userptr, "glProgramUniform1dEXT"); + glad_glProgramUniform1dvEXT = (PFNGLPROGRAMUNIFORM1DVEXTPROC) load(userptr, "glProgramUniform1dvEXT"); + glad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC) load(userptr, "glProgramUniform1fEXT"); + glad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC) load(userptr, "glProgramUniform1fvEXT"); + glad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC) load(userptr, "glProgramUniform1iEXT"); + glad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC) load(userptr, "glProgramUniform1ivEXT"); + glad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC) load(userptr, "glProgramUniform1uiEXT"); + glad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC) load(userptr, "glProgramUniform1uivEXT"); + glad_glProgramUniform2dEXT = (PFNGLPROGRAMUNIFORM2DEXTPROC) load(userptr, "glProgramUniform2dEXT"); + glad_glProgramUniform2dvEXT = (PFNGLPROGRAMUNIFORM2DVEXTPROC) load(userptr, "glProgramUniform2dvEXT"); + glad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC) load(userptr, "glProgramUniform2fEXT"); + glad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC) load(userptr, "glProgramUniform2fvEXT"); + glad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC) load(userptr, "glProgramUniform2iEXT"); + glad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC) load(userptr, "glProgramUniform2ivEXT"); + glad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC) load(userptr, "glProgramUniform2uiEXT"); + glad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC) load(userptr, "glProgramUniform2uivEXT"); + glad_glProgramUniform3dEXT = (PFNGLPROGRAMUNIFORM3DEXTPROC) load(userptr, "glProgramUniform3dEXT"); + glad_glProgramUniform3dvEXT = (PFNGLPROGRAMUNIFORM3DVEXTPROC) load(userptr, "glProgramUniform3dvEXT"); + glad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC) load(userptr, "glProgramUniform3fEXT"); + glad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC) load(userptr, "glProgramUniform3fvEXT"); + glad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC) load(userptr, "glProgramUniform3iEXT"); + glad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC) load(userptr, "glProgramUniform3ivEXT"); + glad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC) load(userptr, "glProgramUniform3uiEXT"); + glad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC) load(userptr, "glProgramUniform3uivEXT"); + glad_glProgramUniform4dEXT = (PFNGLPROGRAMUNIFORM4DEXTPROC) load(userptr, "glProgramUniform4dEXT"); + glad_glProgramUniform4dvEXT = (PFNGLPROGRAMUNIFORM4DVEXTPROC) load(userptr, "glProgramUniform4dvEXT"); + glad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC) load(userptr, "glProgramUniform4fEXT"); + glad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC) load(userptr, "glProgramUniform4fvEXT"); + glad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC) load(userptr, "glProgramUniform4iEXT"); + glad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC) load(userptr, "glProgramUniform4ivEXT"); + glad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC) load(userptr, "glProgramUniform4uiEXT"); + glad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC) load(userptr, "glProgramUniform4uivEXT"); + glad_glProgramUniformMatrix2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) load(userptr, "glProgramUniformMatrix2dvEXT"); + glad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) load(userptr, "glProgramUniformMatrix2fvEXT"); + glad_glProgramUniformMatrix2x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) load(userptr, "glProgramUniformMatrix2x3dvEXT"); + glad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) load(userptr, "glProgramUniformMatrix2x3fvEXT"); + glad_glProgramUniformMatrix2x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) load(userptr, "glProgramUniformMatrix2x4dvEXT"); + glad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) load(userptr, "glProgramUniformMatrix2x4fvEXT"); + glad_glProgramUniformMatrix3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) load(userptr, "glProgramUniformMatrix3dvEXT"); + glad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) load(userptr, "glProgramUniformMatrix3fvEXT"); + glad_glProgramUniformMatrix3x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) load(userptr, "glProgramUniformMatrix3x2dvEXT"); + glad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) load(userptr, "glProgramUniformMatrix3x2fvEXT"); + glad_glProgramUniformMatrix3x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) load(userptr, "glProgramUniformMatrix3x4dvEXT"); + glad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) load(userptr, "glProgramUniformMatrix3x4fvEXT"); + glad_glProgramUniformMatrix4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) load(userptr, "glProgramUniformMatrix4dvEXT"); + glad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) load(userptr, "glProgramUniformMatrix4fvEXT"); + glad_glProgramUniformMatrix4x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) load(userptr, "glProgramUniformMatrix4x2dvEXT"); + glad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) load(userptr, "glProgramUniformMatrix4x2fvEXT"); + glad_glProgramUniformMatrix4x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) load(userptr, "glProgramUniformMatrix4x3dvEXT"); + glad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) load(userptr, "glProgramUniformMatrix4x3fvEXT"); + glad_glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) load(userptr, "glPushClientAttribDefaultEXT"); + glad_glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC) load(userptr, "glTextureBufferEXT"); + glad_glTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC) load(userptr, "glTextureBufferRangeEXT"); + glad_glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC) load(userptr, "glTextureImage1DEXT"); + glad_glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC) load(userptr, "glTextureImage2DEXT"); + glad_glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC) load(userptr, "glTextureImage3DEXT"); + glad_glTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC) load(userptr, "glTexturePageCommitmentEXT"); + glad_glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC) load(userptr, "glTextureParameterIivEXT"); + glad_glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC) load(userptr, "glTextureParameterIuivEXT"); + glad_glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC) load(userptr, "glTextureParameterfEXT"); + glad_glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC) load(userptr, "glTextureParameterfvEXT"); + glad_glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC) load(userptr, "glTextureParameteriEXT"); + glad_glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC) load(userptr, "glTextureParameterivEXT"); + glad_glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC) load(userptr, "glTextureRenderbufferEXT"); + glad_glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC) load(userptr, "glTextureStorage1DEXT"); + glad_glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC) load(userptr, "glTextureStorage2DEXT"); + glad_glTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) load(userptr, "glTextureStorage2DMultisampleEXT"); + glad_glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC) load(userptr, "glTextureStorage3DEXT"); + glad_glTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) load(userptr, "glTextureStorage3DMultisampleEXT"); + glad_glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC) load(userptr, "glTextureSubImage1DEXT"); + glad_glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC) load(userptr, "glTextureSubImage2DEXT"); + glad_glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC) load(userptr, "glTextureSubImage3DEXT"); + glad_glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC) load(userptr, "glUnmapNamedBufferEXT"); + glad_glVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) load(userptr, "glVertexArrayBindVertexBufferEXT"); + glad_glVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) load(userptr, "glVertexArrayColorOffsetEXT"); + glad_glVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) load(userptr, "glVertexArrayEdgeFlagOffsetEXT"); + glad_glVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) load(userptr, "glVertexArrayFogCoordOffsetEXT"); + glad_glVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) load(userptr, "glVertexArrayIndexOffsetEXT"); + glad_glVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) load(userptr, "glVertexArrayMultiTexCoordOffsetEXT"); + glad_glVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) load(userptr, "glVertexArrayNormalOffsetEXT"); + glad_glVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) load(userptr, "glVertexArraySecondaryColorOffsetEXT"); + glad_glVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) load(userptr, "glVertexArrayTexCoordOffsetEXT"); + glad_glVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) load(userptr, "glVertexArrayVertexAttribBindingEXT"); + glad_glVertexArrayVertexAttribDivisorEXT = (PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) load(userptr, "glVertexArrayVertexAttribDivisorEXT"); + glad_glVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) load(userptr, "glVertexArrayVertexAttribFormatEXT"); + glad_glVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) load(userptr, "glVertexArrayVertexAttribIFormatEXT"); + glad_glVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) load(userptr, "glVertexArrayVertexAttribIOffsetEXT"); + glad_glVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) load(userptr, "glVertexArrayVertexAttribLFormatEXT"); + glad_glVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) load(userptr, "glVertexArrayVertexAttribLOffsetEXT"); + glad_glVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) load(userptr, "glVertexArrayVertexAttribOffsetEXT"); + glad_glVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) load(userptr, "glVertexArrayVertexBindingDivisorEXT"); + glad_glVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) load(userptr, "glVertexArrayVertexOffsetEXT"); +} +static void glad_gl_load_GL_EXT_draw_buffers2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_draw_buffers2) return; + glad_glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC) load(userptr, "glColorMaskIndexedEXT"); + glad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC) load(userptr, "glDisableIndexedEXT"); + glad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC) load(userptr, "glEnableIndexedEXT"); + glad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC) load(userptr, "glGetBooleanIndexedvEXT"); + glad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC) load(userptr, "glGetIntegerIndexedvEXT"); + glad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC) load(userptr, "glIsEnabledIndexedEXT"); +} +static void glad_gl_load_GL_EXT_draw_instanced( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_draw_instanced) return; + glad_glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC) load(userptr, "glDrawArraysInstancedEXT"); + glad_glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC) load(userptr, "glDrawElementsInstancedEXT"); +} +static void glad_gl_load_GL_EXT_draw_range_elements( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_draw_range_elements) return; + glad_glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC) load(userptr, "glDrawRangeElementsEXT"); +} +static void glad_gl_load_GL_EXT_framebuffer_blit( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_framebuffer_blit) return; + glad_glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC) load(userptr, "glBlitFramebufferEXT"); +} +static void glad_gl_load_GL_EXT_framebuffer_multisample( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_framebuffer_multisample) return; + glad_glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) load(userptr, "glRenderbufferStorageMultisampleEXT"); +} +static void glad_gl_load_GL_EXT_framebuffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_framebuffer_object) return; + glad_glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC) load(userptr, "glBindFramebufferEXT"); + glad_glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC) load(userptr, "glBindRenderbufferEXT"); + glad_glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) load(userptr, "glCheckFramebufferStatusEXT"); + glad_glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC) load(userptr, "glDeleteFramebuffersEXT"); + glad_glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC) load(userptr, "glDeleteRenderbuffersEXT"); + glad_glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) load(userptr, "glFramebufferRenderbufferEXT"); + glad_glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) load(userptr, "glFramebufferTexture1DEXT"); + glad_glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) load(userptr, "glFramebufferTexture2DEXT"); + glad_glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) load(userptr, "glFramebufferTexture3DEXT"); + glad_glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC) load(userptr, "glGenFramebuffersEXT"); + glad_glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC) load(userptr, "glGenRenderbuffersEXT"); + glad_glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC) load(userptr, "glGenerateMipmapEXT"); + glad_glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) load(userptr, "glGetFramebufferAttachmentParameterivEXT"); + glad_glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) load(userptr, "glGetRenderbufferParameterivEXT"); + glad_glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC) load(userptr, "glIsFramebufferEXT"); + glad_glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC) load(userptr, "glIsRenderbufferEXT"); + glad_glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC) load(userptr, "glRenderbufferStorageEXT"); +} +static void glad_gl_load_GL_EXT_geometry_shader4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_geometry_shader4) return; + glad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC) load(userptr, "glProgramParameteriEXT"); +} +static void glad_gl_load_GL_EXT_gpu_shader4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_gpu_shader4) return; + glad_glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC) load(userptr, "glBindFragDataLocationEXT"); + glad_glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC) load(userptr, "glGetFragDataLocationEXT"); + glad_glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC) load(userptr, "glGetUniformuivEXT"); + glad_glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC) load(userptr, "glGetVertexAttribIivEXT"); + glad_glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC) load(userptr, "glGetVertexAttribIuivEXT"); + glad_glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC) load(userptr, "glUniform1uiEXT"); + glad_glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC) load(userptr, "glUniform1uivEXT"); + glad_glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC) load(userptr, "glUniform2uiEXT"); + glad_glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC) load(userptr, "glUniform2uivEXT"); + glad_glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC) load(userptr, "glUniform3uiEXT"); + glad_glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC) load(userptr, "glUniform3uivEXT"); + glad_glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC) load(userptr, "glUniform4uiEXT"); + glad_glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC) load(userptr, "glUniform4uivEXT"); + glad_glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC) load(userptr, "glVertexAttribI1iEXT"); + glad_glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC) load(userptr, "glVertexAttribI1ivEXT"); + glad_glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC) load(userptr, "glVertexAttribI1uiEXT"); + glad_glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC) load(userptr, "glVertexAttribI1uivEXT"); + glad_glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC) load(userptr, "glVertexAttribI2iEXT"); + glad_glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC) load(userptr, "glVertexAttribI2ivEXT"); + glad_glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC) load(userptr, "glVertexAttribI2uiEXT"); + glad_glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC) load(userptr, "glVertexAttribI2uivEXT"); + glad_glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC) load(userptr, "glVertexAttribI3iEXT"); + glad_glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC) load(userptr, "glVertexAttribI3ivEXT"); + glad_glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC) load(userptr, "glVertexAttribI3uiEXT"); + glad_glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC) load(userptr, "glVertexAttribI3uivEXT"); + glad_glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC) load(userptr, "glVertexAttribI4bvEXT"); + glad_glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC) load(userptr, "glVertexAttribI4iEXT"); + glad_glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC) load(userptr, "glVertexAttribI4ivEXT"); + glad_glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC) load(userptr, "glVertexAttribI4svEXT"); + glad_glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC) load(userptr, "glVertexAttribI4ubvEXT"); + glad_glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC) load(userptr, "glVertexAttribI4uiEXT"); + glad_glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC) load(userptr, "glVertexAttribI4uivEXT"); + glad_glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC) load(userptr, "glVertexAttribI4usvEXT"); + glad_glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC) load(userptr, "glVertexAttribIPointerEXT"); +} +static void glad_gl_load_GL_EXT_multi_draw_arrays( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_multi_draw_arrays) return; + glad_glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC) load(userptr, "glMultiDrawArraysEXT"); + glad_glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC) load(userptr, "glMultiDrawElementsEXT"); +} +static void glad_gl_load_GL_EXT_point_parameters( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_point_parameters) return; + glad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC) load(userptr, "glPointParameterfEXT"); + glad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC) load(userptr, "glPointParameterfvEXT"); +} +static void glad_gl_load_GL_EXT_polygon_offset_clamp( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_polygon_offset_clamp) return; + glad_glPolygonOffsetClampEXT = (PFNGLPOLYGONOFFSETCLAMPEXTPROC) load(userptr, "glPolygonOffsetClampEXT"); +} +static void glad_gl_load_GL_EXT_provoking_vertex( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_provoking_vertex) return; + glad_glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC) load(userptr, "glProvokingVertexEXT"); +} +static void glad_gl_load_GL_EXT_shader_image_load_store( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_shader_image_load_store) return; + glad_glBindImageTextureEXT = (PFNGLBINDIMAGETEXTUREEXTPROC) load(userptr, "glBindImageTextureEXT"); + glad_glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC) load(userptr, "glMemoryBarrierEXT"); +} +static void glad_gl_load_GL_EXT_subtexture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_subtexture) return; + glad_glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC) load(userptr, "glTexSubImage1DEXT"); + glad_glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC) load(userptr, "glTexSubImage2DEXT"); +} +static void glad_gl_load_GL_EXT_texture3D( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture3D) return; + glad_glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC) load(userptr, "glTexImage3DEXT"); + glad_glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC) load(userptr, "glTexSubImage3DEXT"); +} +static void glad_gl_load_GL_EXT_texture_array( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture_array) return; + glad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) load(userptr, "glFramebufferTextureLayerEXT"); +} +static void glad_gl_load_GL_EXT_texture_buffer_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture_buffer_object) return; + glad_glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC) load(userptr, "glTexBufferEXT"); +} +static void glad_gl_load_GL_EXT_texture_integer( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture_integer) return; + glad_glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC) load(userptr, "glClearColorIiEXT"); + glad_glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC) load(userptr, "glClearColorIuiEXT"); + glad_glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC) load(userptr, "glGetTexParameterIivEXT"); + glad_glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC) load(userptr, "glGetTexParameterIuivEXT"); + glad_glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC) load(userptr, "glTexParameterIivEXT"); + glad_glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC) load(userptr, "glTexParameterIuivEXT"); +} +static void glad_gl_load_GL_EXT_texture_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture_object) return; + glad_glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC) load(userptr, "glAreTexturesResidentEXT"); + glad_glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC) load(userptr, "glBindTextureEXT"); + glad_glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC) load(userptr, "glDeleteTexturesEXT"); + glad_glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC) load(userptr, "glGenTexturesEXT"); + glad_glIsTextureEXT = (PFNGLISTEXTUREEXTPROC) load(userptr, "glIsTextureEXT"); + glad_glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC) load(userptr, "glPrioritizeTexturesEXT"); +} +static void glad_gl_load_GL_EXT_texture_storage( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_texture_storage) return; + glad_glTexStorage1DEXT = (PFNGLTEXSTORAGE1DEXTPROC) load(userptr, "glTexStorage1DEXT"); + glad_glTexStorage2DEXT = (PFNGLTEXSTORAGE2DEXTPROC) load(userptr, "glTexStorage2DEXT"); + glad_glTexStorage3DEXT = (PFNGLTEXSTORAGE3DEXTPROC) load(userptr, "glTexStorage3DEXT"); + glad_glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC) load(userptr, "glTextureStorage1DEXT"); + glad_glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC) load(userptr, "glTextureStorage2DEXT"); + glad_glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC) load(userptr, "glTextureStorage3DEXT"); +} +static void glad_gl_load_GL_EXT_timer_query( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_timer_query) return; + glad_glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC) load(userptr, "glGetQueryObjecti64vEXT"); + glad_glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC) load(userptr, "glGetQueryObjectui64vEXT"); +} +static void glad_gl_load_GL_EXT_transform_feedback( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_transform_feedback) return; + glad_glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) load(userptr, "glBeginTransformFeedbackEXT"); + glad_glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC) load(userptr, "glBindBufferBaseEXT"); + glad_glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC) load(userptr, "glBindBufferOffsetEXT"); + glad_glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC) load(userptr, "glBindBufferRangeEXT"); + glad_glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC) load(userptr, "glEndTransformFeedbackEXT"); + glad_glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) load(userptr, "glGetTransformFeedbackVaryingEXT"); + glad_glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) load(userptr, "glTransformFeedbackVaryingsEXT"); +} +static void glad_gl_load_GL_EXT_vertex_array( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_vertex_array) return; + glad_glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC) load(userptr, "glArrayElementEXT"); + glad_glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC) load(userptr, "glColorPointerEXT"); + glad_glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC) load(userptr, "glDrawArraysEXT"); + glad_glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC) load(userptr, "glEdgeFlagPointerEXT"); + glad_glGetPointervEXT = (PFNGLGETPOINTERVEXTPROC) load(userptr, "glGetPointervEXT"); + glad_glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC) load(userptr, "glIndexPointerEXT"); + glad_glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC) load(userptr, "glNormalPointerEXT"); + glad_glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC) load(userptr, "glTexCoordPointerEXT"); + glad_glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC) load(userptr, "glVertexPointerEXT"); +} +static void glad_gl_load_GL_EXT_vertex_attrib_64bit( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_EXT_vertex_attrib_64bit) return; + glad_glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC) load(userptr, "glGetVertexAttribLdvEXT"); + glad_glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC) load(userptr, "glVertexAttribL1dEXT"); + glad_glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC) load(userptr, "glVertexAttribL1dvEXT"); + glad_glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC) load(userptr, "glVertexAttribL2dEXT"); + glad_glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC) load(userptr, "glVertexAttribL2dvEXT"); + glad_glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC) load(userptr, "glVertexAttribL3dEXT"); + glad_glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC) load(userptr, "glVertexAttribL3dvEXT"); + glad_glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC) load(userptr, "glVertexAttribL4dEXT"); + glad_glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC) load(userptr, "glVertexAttribL4dvEXT"); + glad_glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC) load(userptr, "glVertexAttribLPointerEXT"); +} +static void glad_gl_load_GL_INGR_blend_func_separate( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_INGR_blend_func_separate) return; + glad_glBlendFuncSeparateINGR = (PFNGLBLENDFUNCSEPARATEINGRPROC) load(userptr, "glBlendFuncSeparateINGR"); +} +static void glad_gl_load_GL_KHR_debug( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_KHR_debug) return; + glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) load(userptr, "glDebugMessageCallback"); + glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) load(userptr, "glDebugMessageControl"); + glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) load(userptr, "glDebugMessageInsert"); + glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) load(userptr, "glGetDebugMessageLog"); + glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC) load(userptr, "glGetObjectLabel"); + glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) load(userptr, "glGetObjectPtrLabel"); + glad_glGetPointerv = (PFNGLGETPOINTERVPROC) load(userptr, "glGetPointerv"); + glad_glObjectLabel = (PFNGLOBJECTLABELPROC) load(userptr, "glObjectLabel"); + glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) load(userptr, "glObjectPtrLabel"); + glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) load(userptr, "glPopDebugGroup"); + glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) load(userptr, "glPushDebugGroup"); +} +static void glad_gl_load_GL_KHR_robustness( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_KHR_robustness) return; + glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC) load(userptr, "glGetGraphicsResetStatus"); + glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC) load(userptr, "glGetnUniformfv"); + glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC) load(userptr, "glGetnUniformiv"); + glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC) load(userptr, "glGetnUniformuiv"); + glad_glReadnPixels = (PFNGLREADNPIXELSPROC) load(userptr, "glReadnPixels"); +} +static void glad_gl_load_GL_NVX_conditional_render( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NVX_conditional_render) return; + glad_glBeginConditionalRenderNVX = (PFNGLBEGINCONDITIONALRENDERNVXPROC) load(userptr, "glBeginConditionalRenderNVX"); + glad_glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC) load(userptr, "glEndConditionalRenderNVX"); +} +static void glad_gl_load_GL_NV_bindless_multi_draw_indirect( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_bindless_multi_draw_indirect) return; + glad_glMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) load(userptr, "glMultiDrawArraysIndirectBindlessNV"); + glad_glMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) load(userptr, "glMultiDrawElementsIndirectBindlessNV"); +} +static void glad_gl_load_GL_NV_bindless_multi_draw_indirect_count( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_bindless_multi_draw_indirect_count) return; + glad_glMultiDrawArraysIndirectBindlessCountNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) load(userptr, "glMultiDrawArraysIndirectBindlessCountNV"); + glad_glMultiDrawElementsIndirectBindlessCountNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) load(userptr, "glMultiDrawElementsIndirectBindlessCountNV"); +} +static void glad_gl_load_GL_NV_bindless_texture( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_bindless_texture) return; + glad_glGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC) load(userptr, "glGetImageHandleNV"); + glad_glGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC) load(userptr, "glGetTextureHandleNV"); + glad_glGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC) load(userptr, "glGetTextureSamplerHandleNV"); + glad_glIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC) load(userptr, "glIsImageHandleResidentNV"); + glad_glIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC) load(userptr, "glIsTextureHandleResidentNV"); + glad_glMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) load(userptr, "glMakeImageHandleNonResidentNV"); + glad_glMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) load(userptr, "glMakeImageHandleResidentNV"); + glad_glMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) load(userptr, "glMakeTextureHandleNonResidentNV"); + glad_glMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) load(userptr, "glMakeTextureHandleResidentNV"); + glad_glProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) load(userptr, "glProgramUniformHandleui64NV"); + glad_glProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) load(userptr, "glProgramUniformHandleui64vNV"); + glad_glUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC) load(userptr, "glUniformHandleui64NV"); + glad_glUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC) load(userptr, "glUniformHandleui64vNV"); +} +static void glad_gl_load_GL_NV_conditional_render( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_conditional_render) return; + glad_glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC) load(userptr, "glBeginConditionalRenderNV"); + glad_glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC) load(userptr, "glEndConditionalRenderNV"); +} +static void glad_gl_load_GL_NV_explicit_multisample( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_explicit_multisample) return; + glad_glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC) load(userptr, "glGetMultisamplefvNV"); + glad_glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC) load(userptr, "glSampleMaskIndexedNV"); + glad_glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC) load(userptr, "glTexRenderbufferNV"); +} +static void glad_gl_load_GL_NV_geometry_program4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_geometry_program4) return; + glad_glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC) load(userptr, "glFramebufferTextureEXT"); + glad_glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) load(userptr, "glFramebufferTextureFaceEXT"); + glad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) load(userptr, "glFramebufferTextureLayerEXT"); + glad_glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC) load(userptr, "glProgramVertexLimitNV"); +} +static void glad_gl_load_GL_NV_point_sprite( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_point_sprite) return; + glad_glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC) load(userptr, "glPointParameteriNV"); + glad_glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC) load(userptr, "glPointParameterivNV"); +} +static void glad_gl_load_GL_NV_transform_feedback( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_transform_feedback) return; + glad_glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC) load(userptr, "glActiveVaryingNV"); + glad_glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC) load(userptr, "glBeginTransformFeedbackNV"); + glad_glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC) load(userptr, "glBindBufferBaseNV"); + glad_glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC) load(userptr, "glBindBufferOffsetNV"); + glad_glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC) load(userptr, "glBindBufferRangeNV"); + glad_glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC) load(userptr, "glEndTransformFeedbackNV"); + glad_glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC) load(userptr, "glGetActiveVaryingNV"); + glad_glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) load(userptr, "glGetTransformFeedbackVaryingNV"); + glad_glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC) load(userptr, "glGetVaryingLocationNV"); + glad_glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) load(userptr, "glTransformFeedbackAttribsNV"); + glad_glTransformFeedbackStreamAttribsNV = (PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) load(userptr, "glTransformFeedbackStreamAttribsNV"); + glad_glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) load(userptr, "glTransformFeedbackVaryingsNV"); +} +static void glad_gl_load_GL_NV_transform_feedback2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_transform_feedback2) return; + glad_glBindTransformFeedbackNV = (PFNGLBINDTRANSFORMFEEDBACKNVPROC) load(userptr, "glBindTransformFeedbackNV"); + glad_glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC) load(userptr, "glDeleteTransformFeedbacksNV"); + glad_glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC) load(userptr, "glDrawTransformFeedbackNV"); + glad_glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC) load(userptr, "glGenTransformFeedbacksNV"); + glad_glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC) load(userptr, "glIsTransformFeedbackNV"); + glad_glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC) load(userptr, "glPauseTransformFeedbackNV"); + glad_glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC) load(userptr, "glResumeTransformFeedbackNV"); +} +static void glad_gl_load_GL_NV_vertex_program( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_vertex_program) return; + glad_glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC) load(userptr, "glAreProgramsResidentNV"); + glad_glBindProgramNV = (PFNGLBINDPROGRAMNVPROC) load(userptr, "glBindProgramNV"); + glad_glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC) load(userptr, "glDeleteProgramsNV"); + glad_glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC) load(userptr, "glExecuteProgramNV"); + glad_glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC) load(userptr, "glGenProgramsNV"); + glad_glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC) load(userptr, "glGetProgramParameterdvNV"); + glad_glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC) load(userptr, "glGetProgramParameterfvNV"); + glad_glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC) load(userptr, "glGetProgramStringNV"); + glad_glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC) load(userptr, "glGetProgramivNV"); + glad_glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC) load(userptr, "glGetTrackMatrixivNV"); + glad_glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC) load(userptr, "glGetVertexAttribPointervNV"); + glad_glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) load(userptr, "glGetVertexAttribdvNV"); + glad_glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) load(userptr, "glGetVertexAttribfvNV"); + glad_glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) load(userptr, "glGetVertexAttribivNV"); + glad_glIsProgramNV = (PFNGLISPROGRAMNVPROC) load(userptr, "glIsProgramNV"); + glad_glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC) load(userptr, "glLoadProgramNV"); + glad_glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC) load(userptr, "glProgramParameter4dNV"); + glad_glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC) load(userptr, "glProgramParameter4dvNV"); + glad_glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC) load(userptr, "glProgramParameter4fNV"); + glad_glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC) load(userptr, "glProgramParameter4fvNV"); + glad_glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC) load(userptr, "glProgramParameters4dvNV"); + glad_glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC) load(userptr, "glProgramParameters4fvNV"); + glad_glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC) load(userptr, "glRequestResidentProgramsNV"); + glad_glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC) load(userptr, "glTrackMatrixNV"); + glad_glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC) load(userptr, "glVertexAttrib1dNV"); + glad_glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC) load(userptr, "glVertexAttrib1dvNV"); + glad_glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC) load(userptr, "glVertexAttrib1fNV"); + glad_glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC) load(userptr, "glVertexAttrib1fvNV"); + glad_glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC) load(userptr, "glVertexAttrib1sNV"); + glad_glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC) load(userptr, "glVertexAttrib1svNV"); + glad_glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC) load(userptr, "glVertexAttrib2dNV"); + glad_glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC) load(userptr, "glVertexAttrib2dvNV"); + glad_glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC) load(userptr, "glVertexAttrib2fNV"); + glad_glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC) load(userptr, "glVertexAttrib2fvNV"); + glad_glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC) load(userptr, "glVertexAttrib2sNV"); + glad_glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC) load(userptr, "glVertexAttrib2svNV"); + glad_glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC) load(userptr, "glVertexAttrib3dNV"); + glad_glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC) load(userptr, "glVertexAttrib3dvNV"); + glad_glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC) load(userptr, "glVertexAttrib3fNV"); + glad_glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC) load(userptr, "glVertexAttrib3fvNV"); + glad_glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC) load(userptr, "glVertexAttrib3sNV"); + glad_glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC) load(userptr, "glVertexAttrib3svNV"); + glad_glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC) load(userptr, "glVertexAttrib4dNV"); + glad_glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC) load(userptr, "glVertexAttrib4dvNV"); + glad_glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC) load(userptr, "glVertexAttrib4fNV"); + glad_glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC) load(userptr, "glVertexAttrib4fvNV"); + glad_glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC) load(userptr, "glVertexAttrib4sNV"); + glad_glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC) load(userptr, "glVertexAttrib4svNV"); + glad_glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC) load(userptr, "glVertexAttrib4ubNV"); + glad_glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC) load(userptr, "glVertexAttrib4ubvNV"); + glad_glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC) load(userptr, "glVertexAttribPointerNV"); + glad_glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC) load(userptr, "glVertexAttribs1dvNV"); + glad_glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC) load(userptr, "glVertexAttribs1fvNV"); + glad_glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC) load(userptr, "glVertexAttribs1svNV"); + glad_glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC) load(userptr, "glVertexAttribs2dvNV"); + glad_glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC) load(userptr, "glVertexAttribs2fvNV"); + glad_glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC) load(userptr, "glVertexAttribs2svNV"); + glad_glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC) load(userptr, "glVertexAttribs3dvNV"); + glad_glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC) load(userptr, "glVertexAttribs3fvNV"); + glad_glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC) load(userptr, "glVertexAttribs3svNV"); + glad_glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC) load(userptr, "glVertexAttribs4dvNV"); + glad_glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC) load(userptr, "glVertexAttribs4fvNV"); + glad_glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC) load(userptr, "glVertexAttribs4svNV"); + glad_glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC) load(userptr, "glVertexAttribs4ubvNV"); +} +static void glad_gl_load_GL_NV_vertex_program4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_NV_vertex_program4) return; + glad_glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC) load(userptr, "glGetVertexAttribIivEXT"); + glad_glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC) load(userptr, "glGetVertexAttribIuivEXT"); + glad_glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC) load(userptr, "glVertexAttribI1iEXT"); + glad_glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC) load(userptr, "glVertexAttribI1ivEXT"); + glad_glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC) load(userptr, "glVertexAttribI1uiEXT"); + glad_glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC) load(userptr, "glVertexAttribI1uivEXT"); + glad_glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC) load(userptr, "glVertexAttribI2iEXT"); + glad_glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC) load(userptr, "glVertexAttribI2ivEXT"); + glad_glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC) load(userptr, "glVertexAttribI2uiEXT"); + glad_glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC) load(userptr, "glVertexAttribI2uivEXT"); + glad_glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC) load(userptr, "glVertexAttribI3iEXT"); + glad_glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC) load(userptr, "glVertexAttribI3ivEXT"); + glad_glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC) load(userptr, "glVertexAttribI3uiEXT"); + glad_glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC) load(userptr, "glVertexAttribI3uivEXT"); + glad_glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC) load(userptr, "glVertexAttribI4bvEXT"); + glad_glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC) load(userptr, "glVertexAttribI4iEXT"); + glad_glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC) load(userptr, "glVertexAttribI4ivEXT"); + glad_glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC) load(userptr, "glVertexAttribI4svEXT"); + glad_glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC) load(userptr, "glVertexAttribI4ubvEXT"); + glad_glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC) load(userptr, "glVertexAttribI4uiEXT"); + glad_glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC) load(userptr, "glVertexAttribI4uivEXT"); + glad_glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC) load(userptr, "glVertexAttribI4usvEXT"); + glad_glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC) load(userptr, "glVertexAttribIPointerEXT"); +} +static void glad_gl_load_GL_OES_single_precision( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_OES_single_precision) return; + glad_glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC) load(userptr, "glClearDepthfOES"); + glad_glClipPlanefOES = (PFNGLCLIPPLANEFOESPROC) load(userptr, "glClipPlanefOES"); + glad_glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC) load(userptr, "glDepthRangefOES"); + glad_glFrustumfOES = (PFNGLFRUSTUMFOESPROC) load(userptr, "glFrustumfOES"); + glad_glGetClipPlanefOES = (PFNGLGETCLIPPLANEFOESPROC) load(userptr, "glGetClipPlanefOES"); + glad_glOrthofOES = (PFNGLORTHOFOESPROC) load(userptr, "glOrthofOES"); +} +static void glad_gl_load_GL_SGIS_point_parameters( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_GL_SGIS_point_parameters) return; + glad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC) load(userptr, "glPointParameterfSGIS"); + glad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC) load(userptr, "glPointParameterfvSGIS"); +} + + +static void glad_gl_resolve_aliases(void) { + if (glad_glActiveTexture == NULL && glad_glActiveTextureARB != NULL) glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)glad_glActiveTextureARB; + if (glad_glActiveTextureARB == NULL && glad_glActiveTexture != NULL) glad_glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)glad_glActiveTexture; + if (glad_glAttachObjectARB == NULL && glad_glAttachShader != NULL) glad_glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)glad_glAttachShader; + if (glad_glAttachShader == NULL && glad_glAttachObjectARB != NULL) glad_glAttachShader = (PFNGLATTACHSHADERPROC)glad_glAttachObjectARB; + if (glad_glBeginConditionalRender == NULL && glad_glBeginConditionalRenderNV != NULL) glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)glad_glBeginConditionalRenderNV; + if (glad_glBeginConditionalRenderNV == NULL && glad_glBeginConditionalRender != NULL) glad_glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)glad_glBeginConditionalRender; + if (glad_glBeginQuery == NULL && glad_glBeginQueryARB != NULL) glad_glBeginQuery = (PFNGLBEGINQUERYPROC)glad_glBeginQueryARB; + if (glad_glBeginQueryARB == NULL && glad_glBeginQuery != NULL) glad_glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)glad_glBeginQuery; + if (glad_glBeginTransformFeedback == NULL && glad_glBeginTransformFeedbackEXT != NULL) glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)glad_glBeginTransformFeedbackEXT; + if (glad_glBeginTransformFeedback == NULL && glad_glBeginTransformFeedbackNV != NULL) glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)glad_glBeginTransformFeedbackNV; + if (glad_glBeginTransformFeedbackEXT == NULL && glad_glBeginTransformFeedback != NULL) glad_glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)glad_glBeginTransformFeedback; + if (glad_glBeginTransformFeedbackEXT == NULL && glad_glBeginTransformFeedbackNV != NULL) glad_glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)glad_glBeginTransformFeedbackNV; + if (glad_glBeginTransformFeedbackNV == NULL && glad_glBeginTransformFeedback != NULL) glad_glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)glad_glBeginTransformFeedback; + if (glad_glBeginTransformFeedbackNV == NULL && glad_glBeginTransformFeedbackEXT != NULL) glad_glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)glad_glBeginTransformFeedbackEXT; + if (glad_glBindAttribLocation == NULL && glad_glBindAttribLocationARB != NULL) glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)glad_glBindAttribLocationARB; + if (glad_glBindAttribLocationARB == NULL && glad_glBindAttribLocation != NULL) glad_glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)glad_glBindAttribLocation; + if (glad_glBindBuffer == NULL && glad_glBindBufferARB != NULL) glad_glBindBuffer = (PFNGLBINDBUFFERPROC)glad_glBindBufferARB; + if (glad_glBindBufferARB == NULL && glad_glBindBuffer != NULL) glad_glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glad_glBindBuffer; + if (glad_glBindBufferBase == NULL && glad_glBindBufferBaseEXT != NULL) glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glad_glBindBufferBaseEXT; + if (glad_glBindBufferBase == NULL && glad_glBindBufferBaseNV != NULL) glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glad_glBindBufferBaseNV; + if (glad_glBindBufferBaseEXT == NULL && glad_glBindBufferBase != NULL) glad_glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)glad_glBindBufferBase; + if (glad_glBindBufferBaseEXT == NULL && glad_glBindBufferBaseNV != NULL) glad_glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)glad_glBindBufferBaseNV; + if (glad_glBindBufferBaseNV == NULL && glad_glBindBufferBase != NULL) glad_glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)glad_glBindBufferBase; + if (glad_glBindBufferBaseNV == NULL && glad_glBindBufferBaseEXT != NULL) glad_glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)glad_glBindBufferBaseEXT; + if (glad_glBindBufferOffsetEXT == NULL && glad_glBindBufferOffsetNV != NULL) glad_glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)glad_glBindBufferOffsetNV; + if (glad_glBindBufferOffsetNV == NULL && glad_glBindBufferOffsetEXT != NULL) glad_glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)glad_glBindBufferOffsetEXT; + if (glad_glBindBufferRange == NULL && glad_glBindBufferRangeEXT != NULL) glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)glad_glBindBufferRangeEXT; + if (glad_glBindBufferRange == NULL && glad_glBindBufferRangeNV != NULL) glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)glad_glBindBufferRangeNV; + if (glad_glBindBufferRangeEXT == NULL && glad_glBindBufferRange != NULL) glad_glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)glad_glBindBufferRange; + if (glad_glBindBufferRangeEXT == NULL && glad_glBindBufferRangeNV != NULL) glad_glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)glad_glBindBufferRangeNV; + if (glad_glBindBufferRangeNV == NULL && glad_glBindBufferRange != NULL) glad_glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)glad_glBindBufferRange; + if (glad_glBindBufferRangeNV == NULL && glad_glBindBufferRangeEXT != NULL) glad_glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)glad_glBindBufferRangeEXT; + if (glad_glBindFragDataLocation == NULL && glad_glBindFragDataLocationEXT != NULL) glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)glad_glBindFragDataLocationEXT; + if (glad_glBindFragDataLocationEXT == NULL && glad_glBindFragDataLocation != NULL) glad_glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)glad_glBindFragDataLocation; + if (glad_glBindProgramARB == NULL && glad_glBindProgramNV != NULL) glad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)glad_glBindProgramNV; + if (glad_glBindProgramNV == NULL && glad_glBindProgramARB != NULL) glad_glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)glad_glBindProgramARB; + if (glad_glBindTexture == NULL && glad_glBindTextureEXT != NULL) glad_glBindTexture = (PFNGLBINDTEXTUREPROC)glad_glBindTextureEXT; + if (glad_glBindTextureEXT == NULL && glad_glBindTexture != NULL) glad_glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)glad_glBindTexture; + if (glad_glBlendColor == NULL && glad_glBlendColorEXT != NULL) glad_glBlendColor = (PFNGLBLENDCOLORPROC)glad_glBlendColorEXT; + if (glad_glBlendColorEXT == NULL && glad_glBlendColor != NULL) glad_glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)glad_glBlendColor; + if (glad_glBlendEquation == NULL && glad_glBlendEquationEXT != NULL) glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)glad_glBlendEquationEXT; + if (glad_glBlendEquationEXT == NULL && glad_glBlendEquation != NULL) glad_glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)glad_glBlendEquation; + if (glad_glBlendEquationi == NULL && glad_glBlendEquationIndexedAMD != NULL) glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)glad_glBlendEquationIndexedAMD; + if (glad_glBlendEquationi == NULL && glad_glBlendEquationiARB != NULL) glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)glad_glBlendEquationiARB; + if (glad_glBlendEquationiARB == NULL && glad_glBlendEquationIndexedAMD != NULL) glad_glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)glad_glBlendEquationIndexedAMD; + if (glad_glBlendEquationiARB == NULL && glad_glBlendEquationi != NULL) glad_glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)glad_glBlendEquationi; + if (glad_glBlendEquationIndexedAMD == NULL && glad_glBlendEquationi != NULL) glad_glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)glad_glBlendEquationi; + if (glad_glBlendEquationIndexedAMD == NULL && glad_glBlendEquationiARB != NULL) glad_glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)glad_glBlendEquationiARB; + if (glad_glBlendEquationSeparate == NULL && glad_glBlendEquationSeparateEXT != NULL) glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)glad_glBlendEquationSeparateEXT; + if (glad_glBlendEquationSeparateEXT == NULL && glad_glBlendEquationSeparate != NULL) glad_glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)glad_glBlendEquationSeparate; + if (glad_glBlendEquationSeparatei == NULL && glad_glBlendEquationSeparateIndexedAMD != NULL) glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)glad_glBlendEquationSeparateIndexedAMD; + if (glad_glBlendEquationSeparatei == NULL && glad_glBlendEquationSeparateiARB != NULL) glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)glad_glBlendEquationSeparateiARB; + if (glad_glBlendEquationSeparateiARB == NULL && glad_glBlendEquationSeparateIndexedAMD != NULL) glad_glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)glad_glBlendEquationSeparateIndexedAMD; + if (glad_glBlendEquationSeparateiARB == NULL && glad_glBlendEquationSeparatei != NULL) glad_glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)glad_glBlendEquationSeparatei; + if (glad_glBlendEquationSeparateIndexedAMD == NULL && glad_glBlendEquationSeparatei != NULL) glad_glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)glad_glBlendEquationSeparatei; + if (glad_glBlendEquationSeparateIndexedAMD == NULL && glad_glBlendEquationSeparateiARB != NULL) glad_glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)glad_glBlendEquationSeparateiARB; + if (glad_glBlendFunci == NULL && glad_glBlendFuncIndexedAMD != NULL) glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)glad_glBlendFuncIndexedAMD; + if (glad_glBlendFunci == NULL && glad_glBlendFunciARB != NULL) glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)glad_glBlendFunciARB; + if (glad_glBlendFunciARB == NULL && glad_glBlendFuncIndexedAMD != NULL) glad_glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)glad_glBlendFuncIndexedAMD; + if (glad_glBlendFunciARB == NULL && glad_glBlendFunci != NULL) glad_glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)glad_glBlendFunci; + if (glad_glBlendFuncIndexedAMD == NULL && glad_glBlendFunci != NULL) glad_glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)glad_glBlendFunci; + if (glad_glBlendFuncIndexedAMD == NULL && glad_glBlendFunciARB != NULL) glad_glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)glad_glBlendFunciARB; + if (glad_glBlendFuncSeparate == NULL && glad_glBlendFuncSeparateEXT != NULL) glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glad_glBlendFuncSeparateEXT; + if (glad_glBlendFuncSeparate == NULL && glad_glBlendFuncSeparateINGR != NULL) glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glad_glBlendFuncSeparateINGR; + if (glad_glBlendFuncSeparateEXT == NULL && glad_glBlendFuncSeparate != NULL) glad_glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glad_glBlendFuncSeparate; + if (glad_glBlendFuncSeparateEXT == NULL && glad_glBlendFuncSeparateINGR != NULL) glad_glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glad_glBlendFuncSeparateINGR; + if (glad_glBlendFuncSeparatei == NULL && glad_glBlendFuncSeparateIndexedAMD != NULL) glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)glad_glBlendFuncSeparateIndexedAMD; + if (glad_glBlendFuncSeparatei == NULL && glad_glBlendFuncSeparateiARB != NULL) glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)glad_glBlendFuncSeparateiARB; + if (glad_glBlendFuncSeparateiARB == NULL && glad_glBlendFuncSeparateIndexedAMD != NULL) glad_glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)glad_glBlendFuncSeparateIndexedAMD; + if (glad_glBlendFuncSeparateiARB == NULL && glad_glBlendFuncSeparatei != NULL) glad_glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)glad_glBlendFuncSeparatei; + if (glad_glBlendFuncSeparateIndexedAMD == NULL && glad_glBlendFuncSeparatei != NULL) glad_glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)glad_glBlendFuncSeparatei; + if (glad_glBlendFuncSeparateIndexedAMD == NULL && glad_glBlendFuncSeparateiARB != NULL) glad_glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)glad_glBlendFuncSeparateiARB; + if (glad_glBlendFuncSeparateINGR == NULL && glad_glBlendFuncSeparate != NULL) glad_glBlendFuncSeparateINGR = (PFNGLBLENDFUNCSEPARATEINGRPROC)glad_glBlendFuncSeparate; + if (glad_glBlendFuncSeparateINGR == NULL && glad_glBlendFuncSeparateEXT != NULL) glad_glBlendFuncSeparateINGR = (PFNGLBLENDFUNCSEPARATEINGRPROC)glad_glBlendFuncSeparateEXT; + if (glad_glBlitFramebuffer == NULL && glad_glBlitFramebufferEXT != NULL) glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)glad_glBlitFramebufferEXT; + if (glad_glBlitFramebufferEXT == NULL && glad_glBlitFramebuffer != NULL) glad_glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)glad_glBlitFramebuffer; + if (glad_glBufferData == NULL && glad_glBufferDataARB != NULL) glad_glBufferData = (PFNGLBUFFERDATAPROC)glad_glBufferDataARB; + if (glad_glBufferDataARB == NULL && glad_glBufferData != NULL) glad_glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glad_glBufferData; + if (glad_glBufferSubData == NULL && glad_glBufferSubDataARB != NULL) glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)glad_glBufferSubDataARB; + if (glad_glBufferSubDataARB == NULL && glad_glBufferSubData != NULL) glad_glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)glad_glBufferSubData; + if (glad_glCheckFramebufferStatus == NULL && glad_glCheckFramebufferStatusEXT != NULL) glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)glad_glCheckFramebufferStatusEXT; + if (glad_glCheckFramebufferStatusEXT == NULL && glad_glCheckFramebufferStatus != NULL) glad_glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)glad_glCheckFramebufferStatus; + if (glad_glClampColor == NULL && glad_glClampColorARB != NULL) glad_glClampColor = (PFNGLCLAMPCOLORPROC)glad_glClampColorARB; + if (glad_glClampColorARB == NULL && glad_glClampColor != NULL) glad_glClampColorARB = (PFNGLCLAMPCOLORARBPROC)glad_glClampColor; + if (glad_glClearDepthf == NULL && glad_glClearDepthfOES != NULL) glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)glad_glClearDepthfOES; + if (glad_glClearDepthfOES == NULL && glad_glClearDepthf != NULL) glad_glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC)glad_glClearDepthf; + if (glad_glColorMaski == NULL && glad_glColorMaskIndexedEXT != NULL) glad_glColorMaski = (PFNGLCOLORMASKIPROC)glad_glColorMaskIndexedEXT; + if (glad_glColorMaskIndexedEXT == NULL && glad_glColorMaski != NULL) glad_glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)glad_glColorMaski; + if (glad_glCompileShader == NULL && glad_glCompileShaderARB != NULL) glad_glCompileShader = (PFNGLCOMPILESHADERPROC)glad_glCompileShaderARB; + if (glad_glCompileShaderARB == NULL && glad_glCompileShader != NULL) glad_glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)glad_glCompileShader; + if (glad_glCompressedTexImage1D == NULL && glad_glCompressedTexImage1DARB != NULL) glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)glad_glCompressedTexImage1DARB; + if (glad_glCompressedTexImage1DARB == NULL && glad_glCompressedTexImage1D != NULL) glad_glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)glad_glCompressedTexImage1D; + if (glad_glCompressedTexImage2D == NULL && glad_glCompressedTexImage2DARB != NULL) glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)glad_glCompressedTexImage2DARB; + if (glad_glCompressedTexImage2DARB == NULL && glad_glCompressedTexImage2D != NULL) glad_glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)glad_glCompressedTexImage2D; + if (glad_glCompressedTexImage3D == NULL && glad_glCompressedTexImage3DARB != NULL) glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)glad_glCompressedTexImage3DARB; + if (glad_glCompressedTexImage3DARB == NULL && glad_glCompressedTexImage3D != NULL) glad_glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)glad_glCompressedTexImage3D; + if (glad_glCompressedTexSubImage1D == NULL && glad_glCompressedTexSubImage1DARB != NULL) glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)glad_glCompressedTexSubImage1DARB; + if (glad_glCompressedTexSubImage1DARB == NULL && glad_glCompressedTexSubImage1D != NULL) glad_glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)glad_glCompressedTexSubImage1D; + if (glad_glCompressedTexSubImage2D == NULL && glad_glCompressedTexSubImage2DARB != NULL) glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)glad_glCompressedTexSubImage2DARB; + if (glad_glCompressedTexSubImage2DARB == NULL && glad_glCompressedTexSubImage2D != NULL) glad_glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)glad_glCompressedTexSubImage2D; + if (glad_glCompressedTexSubImage3D == NULL && glad_glCompressedTexSubImage3DARB != NULL) glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)glad_glCompressedTexSubImage3DARB; + if (glad_glCompressedTexSubImage3DARB == NULL && glad_glCompressedTexSubImage3D != NULL) glad_glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)glad_glCompressedTexSubImage3D; + if (glad_glCopyTexImage1D == NULL && glad_glCopyTexImage1DEXT != NULL) glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)glad_glCopyTexImage1DEXT; + if (glad_glCopyTexImage1DEXT == NULL && glad_glCopyTexImage1D != NULL) glad_glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)glad_glCopyTexImage1D; + if (glad_glCopyTexImage2D == NULL && glad_glCopyTexImage2DEXT != NULL) glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)glad_glCopyTexImage2DEXT; + if (glad_glCopyTexImage2DEXT == NULL && glad_glCopyTexImage2D != NULL) glad_glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)glad_glCopyTexImage2D; + if (glad_glCopyTexSubImage1D == NULL && glad_glCopyTexSubImage1DEXT != NULL) glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)glad_glCopyTexSubImage1DEXT; + if (glad_glCopyTexSubImage1DEXT == NULL && glad_glCopyTexSubImage1D != NULL) glad_glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)glad_glCopyTexSubImage1D; + if (glad_glCopyTexSubImage2D == NULL && glad_glCopyTexSubImage2DEXT != NULL) glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)glad_glCopyTexSubImage2DEXT; + if (glad_glCopyTexSubImage2DEXT == NULL && glad_glCopyTexSubImage2D != NULL) glad_glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)glad_glCopyTexSubImage2D; + if (glad_glCopyTexSubImage3D == NULL && glad_glCopyTexSubImage3DEXT != NULL) glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)glad_glCopyTexSubImage3DEXT; + if (glad_glCopyTexSubImage3DEXT == NULL && glad_glCopyTexSubImage3D != NULL) glad_glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)glad_glCopyTexSubImage3D; + if (glad_glCreateProgram == NULL && glad_glCreateProgramObjectARB != NULL) glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)glad_glCreateProgramObjectARB; + if (glad_glCreateProgramObjectARB == NULL && glad_glCreateProgram != NULL) glad_glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)glad_glCreateProgram; + if (glad_glCreateShader == NULL && glad_glCreateShaderObjectARB != NULL) glad_glCreateShader = (PFNGLCREATESHADERPROC)glad_glCreateShaderObjectARB; + if (glad_glCreateShaderObjectARB == NULL && glad_glCreateShader != NULL) glad_glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)glad_glCreateShader; + if (glad_glDebugMessageCallback == NULL && glad_glDebugMessageCallbackARB != NULL) glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)glad_glDebugMessageCallbackARB; + if (glad_glDebugMessageCallbackARB == NULL && glad_glDebugMessageCallback != NULL) glad_glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)glad_glDebugMessageCallback; + if (glad_glDebugMessageControl == NULL && glad_glDebugMessageControlARB != NULL) glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)glad_glDebugMessageControlARB; + if (glad_glDebugMessageControlARB == NULL && glad_glDebugMessageControl != NULL) glad_glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)glad_glDebugMessageControl; + if (glad_glDebugMessageInsert == NULL && glad_glDebugMessageInsertARB != NULL) glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)glad_glDebugMessageInsertARB; + if (glad_glDebugMessageInsertARB == NULL && glad_glDebugMessageInsert != NULL) glad_glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)glad_glDebugMessageInsert; + if (glad_glDeleteBuffers == NULL && glad_glDeleteBuffersARB != NULL) glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)glad_glDeleteBuffersARB; + if (glad_glDeleteBuffersARB == NULL && glad_glDeleteBuffers != NULL) glad_glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)glad_glDeleteBuffers; + if (glad_glDeleteFramebuffers == NULL && glad_glDeleteFramebuffersEXT != NULL) glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glad_glDeleteFramebuffersEXT; + if (glad_glDeleteFramebuffersEXT == NULL && glad_glDeleteFramebuffers != NULL) glad_glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)glad_glDeleteFramebuffers; + if (glad_glDeleteProgramsARB == NULL && glad_glDeleteProgramsNV != NULL) glad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)glad_glDeleteProgramsNV; + if (glad_glDeleteProgramsNV == NULL && glad_glDeleteProgramsARB != NULL) glad_glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)glad_glDeleteProgramsARB; + if (glad_glDeleteQueries == NULL && glad_glDeleteQueriesARB != NULL) glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)glad_glDeleteQueriesARB; + if (glad_glDeleteQueriesARB == NULL && glad_glDeleteQueries != NULL) glad_glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)glad_glDeleteQueries; + if (glad_glDeleteRenderbuffers == NULL && glad_glDeleteRenderbuffersEXT != NULL) glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glad_glDeleteRenderbuffersEXT; + if (glad_glDeleteRenderbuffersEXT == NULL && glad_glDeleteRenderbuffers != NULL) glad_glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)glad_glDeleteRenderbuffers; + if (glad_glDeleteTransformFeedbacks == NULL && glad_glDeleteTransformFeedbacksNV != NULL) glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)glad_glDeleteTransformFeedbacksNV; + if (glad_glDeleteTransformFeedbacksNV == NULL && glad_glDeleteTransformFeedbacks != NULL) glad_glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC)glad_glDeleteTransformFeedbacks; + if (glad_glDeleteVertexArrays == NULL && glad_glDeleteVertexArraysAPPLE != NULL) glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)glad_glDeleteVertexArraysAPPLE; + if (glad_glDeleteVertexArraysAPPLE == NULL && glad_glDeleteVertexArrays != NULL) glad_glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)glad_glDeleteVertexArrays; + if (glad_glDepthRangef == NULL && glad_glDepthRangefOES != NULL) glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)glad_glDepthRangefOES; + if (glad_glDepthRangefOES == NULL && glad_glDepthRangef != NULL) glad_glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC)glad_glDepthRangef; + if (glad_glDetachObjectARB == NULL && glad_glDetachShader != NULL) glad_glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)glad_glDetachShader; + if (glad_glDetachShader == NULL && glad_glDetachObjectARB != NULL) glad_glDetachShader = (PFNGLDETACHSHADERPROC)glad_glDetachObjectARB; + if (glad_glDisablei == NULL && glad_glDisableIndexedEXT != NULL) glad_glDisablei = (PFNGLDISABLEIPROC)glad_glDisableIndexedEXT; + if (glad_glDisableIndexedEXT == NULL && glad_glDisablei != NULL) glad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)glad_glDisablei; + if (glad_glDisableVertexAttribArray == NULL && glad_glDisableVertexAttribArrayARB != NULL) glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)glad_glDisableVertexAttribArrayARB; + if (glad_glDisableVertexAttribArrayARB == NULL && glad_glDisableVertexAttribArray != NULL) glad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)glad_glDisableVertexAttribArray; + if (glad_glDrawArrays == NULL && glad_glDrawArraysEXT != NULL) glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)glad_glDrawArraysEXT; + if (glad_glDrawArraysEXT == NULL && glad_glDrawArrays != NULL) glad_glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)glad_glDrawArrays; + if (glad_glDrawArraysInstanced == NULL && glad_glDrawArraysInstancedARB != NULL) glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)glad_glDrawArraysInstancedARB; + if (glad_glDrawArraysInstanced == NULL && glad_glDrawArraysInstancedEXT != NULL) glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)glad_glDrawArraysInstancedEXT; + if (glad_glDrawArraysInstancedARB == NULL && glad_glDrawArraysInstanced != NULL) glad_glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glad_glDrawArraysInstanced; + if (glad_glDrawArraysInstancedARB == NULL && glad_glDrawArraysInstancedEXT != NULL) glad_glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glad_glDrawArraysInstancedEXT; + if (glad_glDrawArraysInstancedEXT == NULL && glad_glDrawArraysInstanced != NULL) glad_glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)glad_glDrawArraysInstanced; + if (glad_glDrawArraysInstancedEXT == NULL && glad_glDrawArraysInstancedARB != NULL) glad_glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)glad_glDrawArraysInstancedARB; + if (glad_glDrawBuffers == NULL && glad_glDrawBuffersARB != NULL) glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glad_glDrawBuffersARB; + if (glad_glDrawBuffers == NULL && glad_glDrawBuffersATI != NULL) glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glad_glDrawBuffersATI; + if (glad_glDrawBuffersARB == NULL && glad_glDrawBuffers != NULL) glad_glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)glad_glDrawBuffers; + if (glad_glDrawBuffersARB == NULL && glad_glDrawBuffersATI != NULL) glad_glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)glad_glDrawBuffersATI; + if (glad_glDrawBuffersATI == NULL && glad_glDrawBuffers != NULL) glad_glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glad_glDrawBuffers; + if (glad_glDrawBuffersATI == NULL && glad_glDrawBuffersARB != NULL) glad_glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glad_glDrawBuffersARB; + if (glad_glDrawElementsInstanced == NULL && glad_glDrawElementsInstancedARB != NULL) glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)glad_glDrawElementsInstancedARB; + if (glad_glDrawElementsInstanced == NULL && glad_glDrawElementsInstancedEXT != NULL) glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)glad_glDrawElementsInstancedEXT; + if (glad_glDrawElementsInstancedARB == NULL && glad_glDrawElementsInstanced != NULL) glad_glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glad_glDrawElementsInstanced; + if (glad_glDrawElementsInstancedARB == NULL && glad_glDrawElementsInstancedEXT != NULL) glad_glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glad_glDrawElementsInstancedEXT; + if (glad_glDrawElementsInstancedEXT == NULL && glad_glDrawElementsInstanced != NULL) glad_glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)glad_glDrawElementsInstanced; + if (glad_glDrawElementsInstancedEXT == NULL && glad_glDrawElementsInstancedARB != NULL) glad_glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)glad_glDrawElementsInstancedARB; + if (glad_glDrawRangeElements == NULL && glad_glDrawRangeElementsEXT != NULL) glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)glad_glDrawRangeElementsEXT; + if (glad_glDrawRangeElementsEXT == NULL && glad_glDrawRangeElements != NULL) glad_glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)glad_glDrawRangeElements; + if (glad_glDrawTransformFeedback == NULL && glad_glDrawTransformFeedbackNV != NULL) glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)glad_glDrawTransformFeedbackNV; + if (glad_glDrawTransformFeedbackNV == NULL && glad_glDrawTransformFeedback != NULL) glad_glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC)glad_glDrawTransformFeedback; + if (glad_glEnablei == NULL && glad_glEnableIndexedEXT != NULL) glad_glEnablei = (PFNGLENABLEIPROC)glad_glEnableIndexedEXT; + if (glad_glEnableIndexedEXT == NULL && glad_glEnablei != NULL) glad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)glad_glEnablei; + if (glad_glEnableVertexAttribArray == NULL && glad_glEnableVertexAttribArrayARB != NULL) glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)glad_glEnableVertexAttribArrayARB; + if (glad_glEnableVertexAttribArrayARB == NULL && glad_glEnableVertexAttribArray != NULL) glad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)glad_glEnableVertexAttribArray; + if (glad_glEndConditionalRender == NULL && glad_glEndConditionalRenderNV != NULL) glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)glad_glEndConditionalRenderNV; + if (glad_glEndConditionalRender == NULL && glad_glEndConditionalRenderNVX != NULL) glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)glad_glEndConditionalRenderNVX; + if (glad_glEndConditionalRenderNV == NULL && glad_glEndConditionalRender != NULL) glad_glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)glad_glEndConditionalRender; + if (glad_glEndConditionalRenderNV == NULL && glad_glEndConditionalRenderNVX != NULL) glad_glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)glad_glEndConditionalRenderNVX; + if (glad_glEndConditionalRenderNVX == NULL && glad_glEndConditionalRender != NULL) glad_glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)glad_glEndConditionalRender; + if (glad_glEndConditionalRenderNVX == NULL && glad_glEndConditionalRenderNV != NULL) glad_glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)glad_glEndConditionalRenderNV; + if (glad_glEndQuery == NULL && glad_glEndQueryARB != NULL) glad_glEndQuery = (PFNGLENDQUERYPROC)glad_glEndQueryARB; + if (glad_glEndQueryARB == NULL && glad_glEndQuery != NULL) glad_glEndQueryARB = (PFNGLENDQUERYARBPROC)glad_glEndQuery; + if (glad_glEndTransformFeedback == NULL && glad_glEndTransformFeedbackEXT != NULL) glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)glad_glEndTransformFeedbackEXT; + if (glad_glEndTransformFeedback == NULL && glad_glEndTransformFeedbackNV != NULL) glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)glad_glEndTransformFeedbackNV; + if (glad_glEndTransformFeedbackEXT == NULL && glad_glEndTransformFeedback != NULL) glad_glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)glad_glEndTransformFeedback; + if (glad_glEndTransformFeedbackEXT == NULL && glad_glEndTransformFeedbackNV != NULL) glad_glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)glad_glEndTransformFeedbackNV; + if (glad_glEndTransformFeedbackNV == NULL && glad_glEndTransformFeedback != NULL) glad_glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)glad_glEndTransformFeedback; + if (glad_glEndTransformFeedbackNV == NULL && glad_glEndTransformFeedbackEXT != NULL) glad_glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)glad_glEndTransformFeedbackEXT; + if (glad_glFlushMappedBufferRange == NULL && glad_glFlushMappedBufferRangeAPPLE != NULL) glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)glad_glFlushMappedBufferRangeAPPLE; + if (glad_glFlushMappedBufferRangeAPPLE == NULL && glad_glFlushMappedBufferRange != NULL) glad_glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)glad_glFlushMappedBufferRange; + if (glad_glFramebufferRenderbuffer == NULL && glad_glFramebufferRenderbufferEXT != NULL) glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glad_glFramebufferRenderbufferEXT; + if (glad_glFramebufferRenderbufferEXT == NULL && glad_glFramebufferRenderbuffer != NULL) glad_glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)glad_glFramebufferRenderbuffer; + if (glad_glFramebufferTexture == NULL && glad_glFramebufferTextureARB != NULL) glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)glad_glFramebufferTextureARB; + if (glad_glFramebufferTexture == NULL && glad_glFramebufferTextureEXT != NULL) glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)glad_glFramebufferTextureEXT; + if (glad_glFramebufferTexture1D == NULL && glad_glFramebufferTexture1DEXT != NULL) glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)glad_glFramebufferTexture1DEXT; + if (glad_glFramebufferTexture1DEXT == NULL && glad_glFramebufferTexture1D != NULL) glad_glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)glad_glFramebufferTexture1D; + if (glad_glFramebufferTexture2D == NULL && glad_glFramebufferTexture2DEXT != NULL) glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glad_glFramebufferTexture2DEXT; + if (glad_glFramebufferTexture2DEXT == NULL && glad_glFramebufferTexture2D != NULL) glad_glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)glad_glFramebufferTexture2D; + if (glad_glFramebufferTexture3D == NULL && glad_glFramebufferTexture3DEXT != NULL) glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)glad_glFramebufferTexture3DEXT; + if (glad_glFramebufferTexture3DEXT == NULL && glad_glFramebufferTexture3D != NULL) glad_glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)glad_glFramebufferTexture3D; + if (glad_glFramebufferTextureARB == NULL && glad_glFramebufferTexture != NULL) glad_glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)glad_glFramebufferTexture; + if (glad_glFramebufferTextureARB == NULL && glad_glFramebufferTextureEXT != NULL) glad_glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)glad_glFramebufferTextureEXT; + if (glad_glFramebufferTextureEXT == NULL && glad_glFramebufferTexture != NULL) glad_glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glad_glFramebufferTexture; + if (glad_glFramebufferTextureEXT == NULL && glad_glFramebufferTextureARB != NULL) glad_glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glad_glFramebufferTextureARB; + if (glad_glFramebufferTextureFaceARB == NULL && glad_glFramebufferTextureFaceEXT != NULL) glad_glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)glad_glFramebufferTextureFaceEXT; + if (glad_glFramebufferTextureFaceEXT == NULL && glad_glFramebufferTextureFaceARB != NULL) glad_glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)glad_glFramebufferTextureFaceARB; + if (glad_glFramebufferTextureLayer == NULL && glad_glFramebufferTextureLayerARB != NULL) glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)glad_glFramebufferTextureLayerARB; + if (glad_glFramebufferTextureLayer == NULL && glad_glFramebufferTextureLayerEXT != NULL) glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)glad_glFramebufferTextureLayerEXT; + if (glad_glFramebufferTextureLayerARB == NULL && glad_glFramebufferTextureLayer != NULL) glad_glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)glad_glFramebufferTextureLayer; + if (glad_glFramebufferTextureLayerARB == NULL && glad_glFramebufferTextureLayerEXT != NULL) glad_glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)glad_glFramebufferTextureLayerEXT; + if (glad_glFramebufferTextureLayerEXT == NULL && glad_glFramebufferTextureLayer != NULL) glad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glad_glFramebufferTextureLayer; + if (glad_glFramebufferTextureLayerEXT == NULL && glad_glFramebufferTextureLayerARB != NULL) glad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glad_glFramebufferTextureLayerARB; + if (glad_glGenBuffers == NULL && glad_glGenBuffersARB != NULL) glad_glGenBuffers = (PFNGLGENBUFFERSPROC)glad_glGenBuffersARB; + if (glad_glGenBuffersARB == NULL && glad_glGenBuffers != NULL) glad_glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glad_glGenBuffers; + if (glad_glGenerateMipmap == NULL && glad_glGenerateMipmapEXT != NULL) glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)glad_glGenerateMipmapEXT; + if (glad_glGenerateMipmapEXT == NULL && glad_glGenerateMipmap != NULL) glad_glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)glad_glGenerateMipmap; + if (glad_glGenFramebuffers == NULL && glad_glGenFramebuffersEXT != NULL) glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)glad_glGenFramebuffersEXT; + if (glad_glGenFramebuffersEXT == NULL && glad_glGenFramebuffers != NULL) glad_glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)glad_glGenFramebuffers; + if (glad_glGenProgramsARB == NULL && glad_glGenProgramsNV != NULL) glad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)glad_glGenProgramsNV; + if (glad_glGenProgramsNV == NULL && glad_glGenProgramsARB != NULL) glad_glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)glad_glGenProgramsARB; + if (glad_glGenQueries == NULL && glad_glGenQueriesARB != NULL) glad_glGenQueries = (PFNGLGENQUERIESPROC)glad_glGenQueriesARB; + if (glad_glGenQueriesARB == NULL && glad_glGenQueries != NULL) glad_glGenQueriesARB = (PFNGLGENQUERIESARBPROC)glad_glGenQueries; + if (glad_glGenRenderbuffers == NULL && glad_glGenRenderbuffersEXT != NULL) glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)glad_glGenRenderbuffersEXT; + if (glad_glGenRenderbuffersEXT == NULL && glad_glGenRenderbuffers != NULL) glad_glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)glad_glGenRenderbuffers; + if (glad_glGenTransformFeedbacks == NULL && glad_glGenTransformFeedbacksNV != NULL) glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)glad_glGenTransformFeedbacksNV; + if (glad_glGenTransformFeedbacksNV == NULL && glad_glGenTransformFeedbacks != NULL) glad_glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC)glad_glGenTransformFeedbacks; + if (glad_glGenVertexArrays == NULL && glad_glGenVertexArraysAPPLE != NULL) glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)glad_glGenVertexArraysAPPLE; + if (glad_glGenVertexArraysAPPLE == NULL && glad_glGenVertexArrays != NULL) glad_glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)glad_glGenVertexArrays; + if (glad_glGetActiveAttrib == NULL && glad_glGetActiveAttribARB != NULL) glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)glad_glGetActiveAttribARB; + if (glad_glGetActiveAttribARB == NULL && glad_glGetActiveAttrib != NULL) glad_glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)glad_glGetActiveAttrib; + if (glad_glGetActiveUniform == NULL && glad_glGetActiveUniformARB != NULL) glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)glad_glGetActiveUniformARB; + if (glad_glGetActiveUniformARB == NULL && glad_glGetActiveUniform != NULL) glad_glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)glad_glGetActiveUniform; + if (glad_glGetAttribLocation == NULL && glad_glGetAttribLocationARB != NULL) glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)glad_glGetAttribLocationARB; + if (glad_glGetAttribLocationARB == NULL && glad_glGetAttribLocation != NULL) glad_glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)glad_glGetAttribLocation; + if (glad_glGetBooleani_v == NULL && glad_glGetBooleanIndexedvEXT != NULL) glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)glad_glGetBooleanIndexedvEXT; + if (glad_glGetBooleanIndexedvEXT == NULL && glad_glGetBooleani_v != NULL) glad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)glad_glGetBooleani_v; + if (glad_glGetBufferParameteriv == NULL && glad_glGetBufferParameterivARB != NULL) glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)glad_glGetBufferParameterivARB; + if (glad_glGetBufferParameterivARB == NULL && glad_glGetBufferParameteriv != NULL) glad_glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)glad_glGetBufferParameteriv; + if (glad_glGetBufferPointerv == NULL && glad_glGetBufferPointervARB != NULL) glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)glad_glGetBufferPointervARB; + if (glad_glGetBufferPointervARB == NULL && glad_glGetBufferPointerv != NULL) glad_glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)glad_glGetBufferPointerv; + if (glad_glGetBufferSubData == NULL && glad_glGetBufferSubDataARB != NULL) glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)glad_glGetBufferSubDataARB; + if (glad_glGetBufferSubDataARB == NULL && glad_glGetBufferSubData != NULL) glad_glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)glad_glGetBufferSubData; + if (glad_glGetCompressedTexImage == NULL && glad_glGetCompressedTexImageARB != NULL) glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)glad_glGetCompressedTexImageARB; + if (glad_glGetCompressedTexImageARB == NULL && glad_glGetCompressedTexImage != NULL) glad_glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)glad_glGetCompressedTexImage; + if (glad_glGetDebugMessageLog == NULL && glad_glGetDebugMessageLogARB != NULL) glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)glad_glGetDebugMessageLogARB; + if (glad_glGetDebugMessageLogARB == NULL && glad_glGetDebugMessageLog != NULL) glad_glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)glad_glGetDebugMessageLog; + if (glad_glGetDoublei_v == NULL && glad_glGetDoubleIndexedvEXT != NULL) glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)glad_glGetDoubleIndexedvEXT; + if (glad_glGetDoublei_v == NULL && glad_glGetDoublei_vEXT != NULL) glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)glad_glGetDoublei_vEXT; + if (glad_glGetDoublei_vEXT == NULL && glad_glGetDoubleIndexedvEXT != NULL) glad_glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)glad_glGetDoubleIndexedvEXT; + if (glad_glGetDoublei_vEXT == NULL && glad_glGetDoublei_v != NULL) glad_glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)glad_glGetDoublei_v; + if (glad_glGetDoubleIndexedvEXT == NULL && glad_glGetDoublei_v != NULL) glad_glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)glad_glGetDoublei_v; + if (glad_glGetDoubleIndexedvEXT == NULL && glad_glGetDoublei_vEXT != NULL) glad_glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)glad_glGetDoublei_vEXT; + if (glad_glGetFloati_v == NULL && glad_glGetFloatIndexedvEXT != NULL) glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)glad_glGetFloatIndexedvEXT; + if (glad_glGetFloati_v == NULL && glad_glGetFloati_vEXT != NULL) glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)glad_glGetFloati_vEXT; + if (glad_glGetFloati_vEXT == NULL && glad_glGetFloatIndexedvEXT != NULL) glad_glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)glad_glGetFloatIndexedvEXT; + if (glad_glGetFloati_vEXT == NULL && glad_glGetFloati_v != NULL) glad_glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)glad_glGetFloati_v; + if (glad_glGetFloatIndexedvEXT == NULL && glad_glGetFloati_v != NULL) glad_glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)glad_glGetFloati_v; + if (glad_glGetFloatIndexedvEXT == NULL && glad_glGetFloati_vEXT != NULL) glad_glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)glad_glGetFloati_vEXT; + if (glad_glGetFragDataLocation == NULL && glad_glGetFragDataLocationEXT != NULL) glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)glad_glGetFragDataLocationEXT; + if (glad_glGetFragDataLocationEXT == NULL && glad_glGetFragDataLocation != NULL) glad_glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)glad_glGetFragDataLocation; + if (glad_glGetFramebufferAttachmentParameteriv == NULL && glad_glGetFramebufferAttachmentParameterivEXT != NULL) glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)glad_glGetFramebufferAttachmentParameterivEXT; + if (glad_glGetFramebufferAttachmentParameterivEXT == NULL && glad_glGetFramebufferAttachmentParameteriv != NULL) glad_glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glad_glGetFramebufferAttachmentParameteriv; + if (glad_glGetIntegeri_v == NULL && glad_glGetIntegerIndexedvEXT != NULL) glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)glad_glGetIntegerIndexedvEXT; + if (glad_glGetIntegerIndexedvEXT == NULL && glad_glGetIntegeri_v != NULL) glad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)glad_glGetIntegeri_v; + if (glad_glGetMultisamplefv == NULL && glad_glGetMultisamplefvNV != NULL) glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)glad_glGetMultisamplefvNV; + if (glad_glGetMultisamplefvNV == NULL && glad_glGetMultisamplefv != NULL) glad_glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)glad_glGetMultisamplefv; + if (glad_glGetPointerv == NULL && glad_glGetPointervEXT != NULL) glad_glGetPointerv = (PFNGLGETPOINTERVPROC)glad_glGetPointervEXT; + if (glad_glGetPointervEXT == NULL && glad_glGetPointerv != NULL) glad_glGetPointervEXT = (PFNGLGETPOINTERVEXTPROC)glad_glGetPointerv; + if (glad_glGetQueryiv == NULL && glad_glGetQueryivARB != NULL) glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)glad_glGetQueryivARB; + if (glad_glGetQueryivARB == NULL && glad_glGetQueryiv != NULL) glad_glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)glad_glGetQueryiv; + if (glad_glGetQueryObjecti64v == NULL && glad_glGetQueryObjecti64vEXT != NULL) glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)glad_glGetQueryObjecti64vEXT; + if (glad_glGetQueryObjecti64vEXT == NULL && glad_glGetQueryObjecti64v != NULL) glad_glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)glad_glGetQueryObjecti64v; + if (glad_glGetQueryObjectiv == NULL && glad_glGetQueryObjectivARB != NULL) glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)glad_glGetQueryObjectivARB; + if (glad_glGetQueryObjectivARB == NULL && glad_glGetQueryObjectiv != NULL) glad_glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)glad_glGetQueryObjectiv; + if (glad_glGetQueryObjectui64v == NULL && glad_glGetQueryObjectui64vEXT != NULL) glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)glad_glGetQueryObjectui64vEXT; + if (glad_glGetQueryObjectui64vEXT == NULL && glad_glGetQueryObjectui64v != NULL) glad_glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)glad_glGetQueryObjectui64v; + if (glad_glGetQueryObjectuiv == NULL && glad_glGetQueryObjectuivARB != NULL) glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)glad_glGetQueryObjectuivARB; + if (glad_glGetQueryObjectuivARB == NULL && glad_glGetQueryObjectuiv != NULL) glad_glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)glad_glGetQueryObjectuiv; + if (glad_glGetRenderbufferParameteriv == NULL && glad_glGetRenderbufferParameterivEXT != NULL) glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)glad_glGetRenderbufferParameterivEXT; + if (glad_glGetRenderbufferParameterivEXT == NULL && glad_glGetRenderbufferParameteriv != NULL) glad_glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)glad_glGetRenderbufferParameteriv; + if (glad_glGetShaderSource == NULL && glad_glGetShaderSourceARB != NULL) glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)glad_glGetShaderSourceARB; + if (glad_glGetShaderSourceARB == NULL && glad_glGetShaderSource != NULL) glad_glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)glad_glGetShaderSource; + if (glad_glGetTexParameterIiv == NULL && glad_glGetTexParameterIivEXT != NULL) glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)glad_glGetTexParameterIivEXT; + if (glad_glGetTexParameterIivEXT == NULL && glad_glGetTexParameterIiv != NULL) glad_glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)glad_glGetTexParameterIiv; + if (glad_glGetTexParameterIuiv == NULL && glad_glGetTexParameterIuivEXT != NULL) glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)glad_glGetTexParameterIuivEXT; + if (glad_glGetTexParameterIuivEXT == NULL && glad_glGetTexParameterIuiv != NULL) glad_glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)glad_glGetTexParameterIuiv; + if (glad_glGetTransformFeedbackVarying == NULL && glad_glGetTransformFeedbackVaryingEXT != NULL) glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)glad_glGetTransformFeedbackVaryingEXT; + if (glad_glGetTransformFeedbackVaryingEXT == NULL && glad_glGetTransformFeedbackVarying != NULL) glad_glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)glad_glGetTransformFeedbackVarying; + if (glad_glGetUniformfv == NULL && glad_glGetUniformfvARB != NULL) glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)glad_glGetUniformfvARB; + if (glad_glGetUniformfvARB == NULL && glad_glGetUniformfv != NULL) glad_glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)glad_glGetUniformfv; + if (glad_glGetUniformiv == NULL && glad_glGetUniformivARB != NULL) glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)glad_glGetUniformivARB; + if (glad_glGetUniformivARB == NULL && glad_glGetUniformiv != NULL) glad_glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)glad_glGetUniformiv; + if (glad_glGetUniformLocation == NULL && glad_glGetUniformLocationARB != NULL) glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)glad_glGetUniformLocationARB; + if (glad_glGetUniformLocationARB == NULL && glad_glGetUniformLocation != NULL) glad_glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)glad_glGetUniformLocation; + if (glad_glGetUniformuiv == NULL && glad_glGetUniformuivEXT != NULL) glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)glad_glGetUniformuivEXT; + if (glad_glGetUniformuivEXT == NULL && glad_glGetUniformuiv != NULL) glad_glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)glad_glGetUniformuiv; + if (glad_glGetVertexAttribdv == NULL && glad_glGetVertexAttribdvARB != NULL) glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)glad_glGetVertexAttribdvARB; + if (glad_glGetVertexAttribdv == NULL && glad_glGetVertexAttribdvNV != NULL) glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)glad_glGetVertexAttribdvNV; + if (glad_glGetVertexAttribdvARB == NULL && glad_glGetVertexAttribdv != NULL) glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glad_glGetVertexAttribdv; + if (glad_glGetVertexAttribdvARB == NULL && glad_glGetVertexAttribdvNV != NULL) glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glad_glGetVertexAttribdvNV; + if (glad_glGetVertexAttribdvNV == NULL && glad_glGetVertexAttribdv != NULL) glad_glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glad_glGetVertexAttribdv; + if (glad_glGetVertexAttribdvNV == NULL && glad_glGetVertexAttribdvARB != NULL) glad_glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glad_glGetVertexAttribdvARB; + if (glad_glGetVertexAttribfv == NULL && glad_glGetVertexAttribfvARB != NULL) glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)glad_glGetVertexAttribfvARB; + if (glad_glGetVertexAttribfv == NULL && glad_glGetVertexAttribfvNV != NULL) glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)glad_glGetVertexAttribfvNV; + if (glad_glGetVertexAttribfvARB == NULL && glad_glGetVertexAttribfv != NULL) glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glad_glGetVertexAttribfv; + if (glad_glGetVertexAttribfvARB == NULL && glad_glGetVertexAttribfvNV != NULL) glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glad_glGetVertexAttribfvNV; + if (glad_glGetVertexAttribfvNV == NULL && glad_glGetVertexAttribfv != NULL) glad_glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glad_glGetVertexAttribfv; + if (glad_glGetVertexAttribfvNV == NULL && glad_glGetVertexAttribfvARB != NULL) glad_glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glad_glGetVertexAttribfvARB; + if (glad_glGetVertexAttribIiv == NULL && glad_glGetVertexAttribIivEXT != NULL) glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)glad_glGetVertexAttribIivEXT; + if (glad_glGetVertexAttribIivEXT == NULL && glad_glGetVertexAttribIiv != NULL) glad_glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)glad_glGetVertexAttribIiv; + if (glad_glGetVertexAttribIuiv == NULL && glad_glGetVertexAttribIuivEXT != NULL) glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)glad_glGetVertexAttribIuivEXT; + if (glad_glGetVertexAttribIuivEXT == NULL && glad_glGetVertexAttribIuiv != NULL) glad_glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)glad_glGetVertexAttribIuiv; + if (glad_glGetVertexAttribiv == NULL && glad_glGetVertexAttribivARB != NULL) glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)glad_glGetVertexAttribivARB; + if (glad_glGetVertexAttribiv == NULL && glad_glGetVertexAttribivNV != NULL) glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)glad_glGetVertexAttribivNV; + if (glad_glGetVertexAttribivARB == NULL && glad_glGetVertexAttribiv != NULL) glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glad_glGetVertexAttribiv; + if (glad_glGetVertexAttribivARB == NULL && glad_glGetVertexAttribivNV != NULL) glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glad_glGetVertexAttribivNV; + if (glad_glGetVertexAttribivNV == NULL && glad_glGetVertexAttribiv != NULL) glad_glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glad_glGetVertexAttribiv; + if (glad_glGetVertexAttribivNV == NULL && glad_glGetVertexAttribivARB != NULL) glad_glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glad_glGetVertexAttribivARB; + if (glad_glGetVertexAttribLdv == NULL && glad_glGetVertexAttribLdvEXT != NULL) glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)glad_glGetVertexAttribLdvEXT; + if (glad_glGetVertexAttribLdvEXT == NULL && glad_glGetVertexAttribLdv != NULL) glad_glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC)glad_glGetVertexAttribLdv; + if (glad_glGetVertexAttribPointerv == NULL && glad_glGetVertexAttribPointervARB != NULL) glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)glad_glGetVertexAttribPointervARB; + if (glad_glGetVertexAttribPointerv == NULL && glad_glGetVertexAttribPointervNV != NULL) glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)glad_glGetVertexAttribPointervNV; + if (glad_glGetVertexAttribPointervARB == NULL && glad_glGetVertexAttribPointerv != NULL) glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glad_glGetVertexAttribPointerv; + if (glad_glGetVertexAttribPointervARB == NULL && glad_glGetVertexAttribPointervNV != NULL) glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glad_glGetVertexAttribPointervNV; + if (glad_glGetVertexAttribPointervNV == NULL && glad_glGetVertexAttribPointerv != NULL) glad_glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glad_glGetVertexAttribPointerv; + if (glad_glGetVertexAttribPointervNV == NULL && glad_glGetVertexAttribPointervARB != NULL) glad_glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glad_glGetVertexAttribPointervARB; + if (glad_glIsBuffer == NULL && glad_glIsBufferARB != NULL) glad_glIsBuffer = (PFNGLISBUFFERPROC)glad_glIsBufferARB; + if (glad_glIsBufferARB == NULL && glad_glIsBuffer != NULL) glad_glIsBufferARB = (PFNGLISBUFFERARBPROC)glad_glIsBuffer; + if (glad_glIsEnabledi == NULL && glad_glIsEnabledIndexedEXT != NULL) glad_glIsEnabledi = (PFNGLISENABLEDIPROC)glad_glIsEnabledIndexedEXT; + if (glad_glIsEnabledIndexedEXT == NULL && glad_glIsEnabledi != NULL) glad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)glad_glIsEnabledi; + if (glad_glIsFramebuffer == NULL && glad_glIsFramebufferEXT != NULL) glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)glad_glIsFramebufferEXT; + if (glad_glIsFramebufferEXT == NULL && glad_glIsFramebuffer != NULL) glad_glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)glad_glIsFramebuffer; + if (glad_glIsProgramARB == NULL && glad_glIsProgramNV != NULL) glad_glIsProgramARB = (PFNGLISPROGRAMARBPROC)glad_glIsProgramNV; + if (glad_glIsProgramNV == NULL && glad_glIsProgramARB != NULL) glad_glIsProgramNV = (PFNGLISPROGRAMNVPROC)glad_glIsProgramARB; + if (glad_glIsQuery == NULL && glad_glIsQueryARB != NULL) glad_glIsQuery = (PFNGLISQUERYPROC)glad_glIsQueryARB; + if (glad_glIsQueryARB == NULL && glad_glIsQuery != NULL) glad_glIsQueryARB = (PFNGLISQUERYARBPROC)glad_glIsQuery; + if (glad_glIsRenderbuffer == NULL && glad_glIsRenderbufferEXT != NULL) glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)glad_glIsRenderbufferEXT; + if (glad_glIsRenderbufferEXT == NULL && glad_glIsRenderbuffer != NULL) glad_glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)glad_glIsRenderbuffer; + if (glad_glIsTransformFeedback == NULL && glad_glIsTransformFeedbackNV != NULL) glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)glad_glIsTransformFeedbackNV; + if (glad_glIsTransformFeedbackNV == NULL && glad_glIsTransformFeedback != NULL) glad_glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC)glad_glIsTransformFeedback; + if (glad_glIsVertexArray == NULL && glad_glIsVertexArrayAPPLE != NULL) glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)glad_glIsVertexArrayAPPLE; + if (glad_glIsVertexArrayAPPLE == NULL && glad_glIsVertexArray != NULL) glad_glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)glad_glIsVertexArray; + if (glad_glLinkProgram == NULL && glad_glLinkProgramARB != NULL) glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)glad_glLinkProgramARB; + if (glad_glLinkProgramARB == NULL && glad_glLinkProgram != NULL) glad_glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)glad_glLinkProgram; + if (glad_glMapBuffer == NULL && glad_glMapBufferARB != NULL) glad_glMapBuffer = (PFNGLMAPBUFFERPROC)glad_glMapBufferARB; + if (glad_glMapBufferARB == NULL && glad_glMapBuffer != NULL) glad_glMapBufferARB = (PFNGLMAPBUFFERARBPROC)glad_glMapBuffer; + if (glad_glMemoryBarrier == NULL && glad_glMemoryBarrierEXT != NULL) glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)glad_glMemoryBarrierEXT; + if (glad_glMemoryBarrierEXT == NULL && glad_glMemoryBarrier != NULL) glad_glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC)glad_glMemoryBarrier; + if (glad_glMinSampleShading == NULL && glad_glMinSampleShadingARB != NULL) glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)glad_glMinSampleShadingARB; + if (glad_glMinSampleShadingARB == NULL && glad_glMinSampleShading != NULL) glad_glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)glad_glMinSampleShading; + if (glad_glMultiDrawArrays == NULL && glad_glMultiDrawArraysEXT != NULL) glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)glad_glMultiDrawArraysEXT; + if (glad_glMultiDrawArraysEXT == NULL && glad_glMultiDrawArrays != NULL) glad_glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)glad_glMultiDrawArrays; + if (glad_glMultiDrawArraysIndirect == NULL && glad_glMultiDrawArraysIndirectAMD != NULL) glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)glad_glMultiDrawArraysIndirectAMD; + if (glad_glMultiDrawArraysIndirectAMD == NULL && glad_glMultiDrawArraysIndirect != NULL) glad_glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)glad_glMultiDrawArraysIndirect; + if (glad_glMultiDrawArraysIndirectCount == NULL && glad_glMultiDrawArraysIndirectCountARB != NULL) glad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)glad_glMultiDrawArraysIndirectCountARB; + if (glad_glMultiDrawArraysIndirectCountARB == NULL && glad_glMultiDrawArraysIndirectCount != NULL) glad_glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)glad_glMultiDrawArraysIndirectCount; + if (glad_glMultiDrawElements == NULL && glad_glMultiDrawElementsEXT != NULL) glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)glad_glMultiDrawElementsEXT; + if (glad_glMultiDrawElementsEXT == NULL && glad_glMultiDrawElements != NULL) glad_glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)glad_glMultiDrawElements; + if (glad_glMultiDrawElementsIndirect == NULL && glad_glMultiDrawElementsIndirectAMD != NULL) glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)glad_glMultiDrawElementsIndirectAMD; + if (glad_glMultiDrawElementsIndirectAMD == NULL && glad_glMultiDrawElementsIndirect != NULL) glad_glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)glad_glMultiDrawElementsIndirect; + if (glad_glMultiDrawElementsIndirectCount == NULL && glad_glMultiDrawElementsIndirectCountARB != NULL) glad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)glad_glMultiDrawElementsIndirectCountARB; + if (glad_glMultiDrawElementsIndirectCountARB == NULL && glad_glMultiDrawElementsIndirectCount != NULL) glad_glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)glad_glMultiDrawElementsIndirectCount; + if (glad_glNamedBufferStorage == NULL && glad_glNamedBufferStorageEXT != NULL) glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)glad_glNamedBufferStorageEXT; + if (glad_glNamedBufferStorageEXT == NULL && glad_glNamedBufferStorage != NULL) glad_glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC)glad_glNamedBufferStorage; + if (glad_glNamedBufferSubData == NULL && glad_glNamedBufferSubDataEXT != NULL) glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)glad_glNamedBufferSubDataEXT; + if (glad_glNamedBufferSubDataEXT == NULL && glad_glNamedBufferSubData != NULL) glad_glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)glad_glNamedBufferSubData; + if (glad_glPauseTransformFeedback == NULL && glad_glPauseTransformFeedbackNV != NULL) glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)glad_glPauseTransformFeedbackNV; + if (glad_glPauseTransformFeedbackNV == NULL && glad_glPauseTransformFeedback != NULL) glad_glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC)glad_glPauseTransformFeedback; + if (glad_glPointParameterf == NULL && glad_glPointParameterfARB != NULL) glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glad_glPointParameterfARB; + if (glad_glPointParameterf == NULL && glad_glPointParameterfEXT != NULL) glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glad_glPointParameterfEXT; + if (glad_glPointParameterf == NULL && glad_glPointParameterfSGIS != NULL) glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glad_glPointParameterfSGIS; + if (glad_glPointParameterfARB == NULL && glad_glPointParameterf != NULL) glad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glad_glPointParameterf; + if (glad_glPointParameterfARB == NULL && glad_glPointParameterfEXT != NULL) glad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glad_glPointParameterfEXT; + if (glad_glPointParameterfARB == NULL && glad_glPointParameterfSGIS != NULL) glad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glad_glPointParameterfSGIS; + if (glad_glPointParameterfEXT == NULL && glad_glPointParameterf != NULL) glad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glad_glPointParameterf; + if (glad_glPointParameterfEXT == NULL && glad_glPointParameterfARB != NULL) glad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glad_glPointParameterfARB; + if (glad_glPointParameterfEXT == NULL && glad_glPointParameterfSGIS != NULL) glad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glad_glPointParameterfSGIS; + if (glad_glPointParameterfSGIS == NULL && glad_glPointParameterf != NULL) glad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC)glad_glPointParameterf; + if (glad_glPointParameterfSGIS == NULL && glad_glPointParameterfARB != NULL) glad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC)glad_glPointParameterfARB; + if (glad_glPointParameterfSGIS == NULL && glad_glPointParameterfEXT != NULL) glad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC)glad_glPointParameterfEXT; + if (glad_glPointParameterfv == NULL && glad_glPointParameterfvARB != NULL) glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glad_glPointParameterfvARB; + if (glad_glPointParameterfv == NULL && glad_glPointParameterfvEXT != NULL) glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glad_glPointParameterfvEXT; + if (glad_glPointParameterfv == NULL && glad_glPointParameterfvSGIS != NULL) glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glad_glPointParameterfvSGIS; + if (glad_glPointParameterfvARB == NULL && glad_glPointParameterfv != NULL) glad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glad_glPointParameterfv; + if (glad_glPointParameterfvARB == NULL && glad_glPointParameterfvEXT != NULL) glad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glad_glPointParameterfvEXT; + if (glad_glPointParameterfvARB == NULL && glad_glPointParameterfvSGIS != NULL) glad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glad_glPointParameterfvSGIS; + if (glad_glPointParameterfvEXT == NULL && glad_glPointParameterfv != NULL) glad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glad_glPointParameterfv; + if (glad_glPointParameterfvEXT == NULL && glad_glPointParameterfvARB != NULL) glad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glad_glPointParameterfvARB; + if (glad_glPointParameterfvEXT == NULL && glad_glPointParameterfvSGIS != NULL) glad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glad_glPointParameterfvSGIS; + if (glad_glPointParameterfvSGIS == NULL && glad_glPointParameterfv != NULL) glad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC)glad_glPointParameterfv; + if (glad_glPointParameterfvSGIS == NULL && glad_glPointParameterfvARB != NULL) glad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC)glad_glPointParameterfvARB; + if (glad_glPointParameterfvSGIS == NULL && glad_glPointParameterfvEXT != NULL) glad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC)glad_glPointParameterfvEXT; + if (glad_glPointParameteri == NULL && glad_glPointParameteriNV != NULL) glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)glad_glPointParameteriNV; + if (glad_glPointParameteriNV == NULL && glad_glPointParameteri != NULL) glad_glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)glad_glPointParameteri; + if (glad_glPointParameteriv == NULL && glad_glPointParameterivNV != NULL) glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)glad_glPointParameterivNV; + if (glad_glPointParameterivNV == NULL && glad_glPointParameteriv != NULL) glad_glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)glad_glPointParameteriv; + if (glad_glPolygonOffsetClamp == NULL && glad_glPolygonOffsetClampEXT != NULL) glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)glad_glPolygonOffsetClampEXT; + if (glad_glPolygonOffsetClampEXT == NULL && glad_glPolygonOffsetClamp != NULL) glad_glPolygonOffsetClampEXT = (PFNGLPOLYGONOFFSETCLAMPEXTPROC)glad_glPolygonOffsetClamp; + if (glad_glProgramParameteri == NULL && glad_glProgramParameteriARB != NULL) glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)glad_glProgramParameteriARB; + if (glad_glProgramParameteri == NULL && glad_glProgramParameteriEXT != NULL) glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)glad_glProgramParameteriEXT; + if (glad_glProgramParameteriARB == NULL && glad_glProgramParameteri != NULL) glad_glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)glad_glProgramParameteri; + if (glad_glProgramParameteriARB == NULL && glad_glProgramParameteriEXT != NULL) glad_glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)glad_glProgramParameteriEXT; + if (glad_glProgramParameteriEXT == NULL && glad_glProgramParameteri != NULL) glad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glad_glProgramParameteri; + if (glad_glProgramParameteriEXT == NULL && glad_glProgramParameteriARB != NULL) glad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glad_glProgramParameteriARB; + if (glad_glProgramUniform1f == NULL && glad_glProgramUniform1fEXT != NULL) glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)glad_glProgramUniform1fEXT; + if (glad_glProgramUniform1fEXT == NULL && glad_glProgramUniform1f != NULL) glad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)glad_glProgramUniform1f; + if (glad_glProgramUniform1fv == NULL && glad_glProgramUniform1fvEXT != NULL) glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)glad_glProgramUniform1fvEXT; + if (glad_glProgramUniform1fvEXT == NULL && glad_glProgramUniform1fv != NULL) glad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)glad_glProgramUniform1fv; + if (glad_glProgramUniform1i == NULL && glad_glProgramUniform1iEXT != NULL) glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)glad_glProgramUniform1iEXT; + if (glad_glProgramUniform1iEXT == NULL && glad_glProgramUniform1i != NULL) glad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)glad_glProgramUniform1i; + if (glad_glProgramUniform1iv == NULL && glad_glProgramUniform1ivEXT != NULL) glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)glad_glProgramUniform1ivEXT; + if (glad_glProgramUniform1ivEXT == NULL && glad_glProgramUniform1iv != NULL) glad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)glad_glProgramUniform1iv; + if (glad_glProgramUniform1ui == NULL && glad_glProgramUniform1uiEXT != NULL) glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)glad_glProgramUniform1uiEXT; + if (glad_glProgramUniform1uiEXT == NULL && glad_glProgramUniform1ui != NULL) glad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)glad_glProgramUniform1ui; + if (glad_glProgramUniform1uiv == NULL && glad_glProgramUniform1uivEXT != NULL) glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)glad_glProgramUniform1uivEXT; + if (glad_glProgramUniform1uivEXT == NULL && glad_glProgramUniform1uiv != NULL) glad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)glad_glProgramUniform1uiv; + if (glad_glProgramUniform2f == NULL && glad_glProgramUniform2fEXT != NULL) glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)glad_glProgramUniform2fEXT; + if (glad_glProgramUniform2fEXT == NULL && glad_glProgramUniform2f != NULL) glad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)glad_glProgramUniform2f; + if (glad_glProgramUniform2fv == NULL && glad_glProgramUniform2fvEXT != NULL) glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)glad_glProgramUniform2fvEXT; + if (glad_glProgramUniform2fvEXT == NULL && glad_glProgramUniform2fv != NULL) glad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)glad_glProgramUniform2fv; + if (glad_glProgramUniform2i == NULL && glad_glProgramUniform2iEXT != NULL) glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)glad_glProgramUniform2iEXT; + if (glad_glProgramUniform2iEXT == NULL && glad_glProgramUniform2i != NULL) glad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)glad_glProgramUniform2i; + if (glad_glProgramUniform2iv == NULL && glad_glProgramUniform2ivEXT != NULL) glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)glad_glProgramUniform2ivEXT; + if (glad_glProgramUniform2ivEXT == NULL && glad_glProgramUniform2iv != NULL) glad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)glad_glProgramUniform2iv; + if (glad_glProgramUniform2ui == NULL && glad_glProgramUniform2uiEXT != NULL) glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)glad_glProgramUniform2uiEXT; + if (glad_glProgramUniform2uiEXT == NULL && glad_glProgramUniform2ui != NULL) glad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)glad_glProgramUniform2ui; + if (glad_glProgramUniform2uiv == NULL && glad_glProgramUniform2uivEXT != NULL) glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)glad_glProgramUniform2uivEXT; + if (glad_glProgramUniform2uivEXT == NULL && glad_glProgramUniform2uiv != NULL) glad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)glad_glProgramUniform2uiv; + if (glad_glProgramUniform3f == NULL && glad_glProgramUniform3fEXT != NULL) glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)glad_glProgramUniform3fEXT; + if (glad_glProgramUniform3fEXT == NULL && glad_glProgramUniform3f != NULL) glad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)glad_glProgramUniform3f; + if (glad_glProgramUniform3fv == NULL && glad_glProgramUniform3fvEXT != NULL) glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)glad_glProgramUniform3fvEXT; + if (glad_glProgramUniform3fvEXT == NULL && glad_glProgramUniform3fv != NULL) glad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)glad_glProgramUniform3fv; + if (glad_glProgramUniform3i == NULL && glad_glProgramUniform3iEXT != NULL) glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)glad_glProgramUniform3iEXT; + if (glad_glProgramUniform3iEXT == NULL && glad_glProgramUniform3i != NULL) glad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)glad_glProgramUniform3i; + if (glad_glProgramUniform3iv == NULL && glad_glProgramUniform3ivEXT != NULL) glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)glad_glProgramUniform3ivEXT; + if (glad_glProgramUniform3ivEXT == NULL && glad_glProgramUniform3iv != NULL) glad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)glad_glProgramUniform3iv; + if (glad_glProgramUniform3ui == NULL && glad_glProgramUniform3uiEXT != NULL) glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)glad_glProgramUniform3uiEXT; + if (glad_glProgramUniform3uiEXT == NULL && glad_glProgramUniform3ui != NULL) glad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)glad_glProgramUniform3ui; + if (glad_glProgramUniform3uiv == NULL && glad_glProgramUniform3uivEXT != NULL) glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)glad_glProgramUniform3uivEXT; + if (glad_glProgramUniform3uivEXT == NULL && glad_glProgramUniform3uiv != NULL) glad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)glad_glProgramUniform3uiv; + if (glad_glProgramUniform4f == NULL && glad_glProgramUniform4fEXT != NULL) glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)glad_glProgramUniform4fEXT; + if (glad_glProgramUniform4fEXT == NULL && glad_glProgramUniform4f != NULL) glad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)glad_glProgramUniform4f; + if (glad_glProgramUniform4fv == NULL && glad_glProgramUniform4fvEXT != NULL) glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)glad_glProgramUniform4fvEXT; + if (glad_glProgramUniform4fvEXT == NULL && glad_glProgramUniform4fv != NULL) glad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)glad_glProgramUniform4fv; + if (glad_glProgramUniform4i == NULL && glad_glProgramUniform4iEXT != NULL) glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)glad_glProgramUniform4iEXT; + if (glad_glProgramUniform4iEXT == NULL && glad_glProgramUniform4i != NULL) glad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)glad_glProgramUniform4i; + if (glad_glProgramUniform4iv == NULL && glad_glProgramUniform4ivEXT != NULL) glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)glad_glProgramUniform4ivEXT; + if (glad_glProgramUniform4ivEXT == NULL && glad_glProgramUniform4iv != NULL) glad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)glad_glProgramUniform4iv; + if (glad_glProgramUniform4ui == NULL && glad_glProgramUniform4uiEXT != NULL) glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)glad_glProgramUniform4uiEXT; + if (glad_glProgramUniform4uiEXT == NULL && glad_glProgramUniform4ui != NULL) glad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)glad_glProgramUniform4ui; + if (glad_glProgramUniform4uiv == NULL && glad_glProgramUniform4uivEXT != NULL) glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)glad_glProgramUniform4uivEXT; + if (glad_glProgramUniform4uivEXT == NULL && glad_glProgramUniform4uiv != NULL) glad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)glad_glProgramUniform4uiv; + if (glad_glProgramUniformMatrix2fv == NULL && glad_glProgramUniformMatrix2fvEXT != NULL) glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)glad_glProgramUniformMatrix2fvEXT; + if (glad_glProgramUniformMatrix2fvEXT == NULL && glad_glProgramUniformMatrix2fv != NULL) glad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)glad_glProgramUniformMatrix2fv; + if (glad_glProgramUniformMatrix2x3fv == NULL && glad_glProgramUniformMatrix2x3fvEXT != NULL) glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)glad_glProgramUniformMatrix2x3fvEXT; + if (glad_glProgramUniformMatrix2x3fvEXT == NULL && glad_glProgramUniformMatrix2x3fv != NULL) glad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)glad_glProgramUniformMatrix2x3fv; + if (glad_glProgramUniformMatrix2x4fv == NULL && glad_glProgramUniformMatrix2x4fvEXT != NULL) glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)glad_glProgramUniformMatrix2x4fvEXT; + if (glad_glProgramUniformMatrix2x4fvEXT == NULL && glad_glProgramUniformMatrix2x4fv != NULL) glad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)glad_glProgramUniformMatrix2x4fv; + if (glad_glProgramUniformMatrix3fv == NULL && glad_glProgramUniformMatrix3fvEXT != NULL) glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)glad_glProgramUniformMatrix3fvEXT; + if (glad_glProgramUniformMatrix3fvEXT == NULL && glad_glProgramUniformMatrix3fv != NULL) glad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)glad_glProgramUniformMatrix3fv; + if (glad_glProgramUniformMatrix3x2fv == NULL && glad_glProgramUniformMatrix3x2fvEXT != NULL) glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)glad_glProgramUniformMatrix3x2fvEXT; + if (glad_glProgramUniformMatrix3x2fvEXT == NULL && glad_glProgramUniformMatrix3x2fv != NULL) glad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)glad_glProgramUniformMatrix3x2fv; + if (glad_glProgramUniformMatrix3x4fv == NULL && glad_glProgramUniformMatrix3x4fvEXT != NULL) glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)glad_glProgramUniformMatrix3x4fvEXT; + if (glad_glProgramUniformMatrix3x4fvEXT == NULL && glad_glProgramUniformMatrix3x4fv != NULL) glad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)glad_glProgramUniformMatrix3x4fv; + if (glad_glProgramUniformMatrix4fv == NULL && glad_glProgramUniformMatrix4fvEXT != NULL) glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)glad_glProgramUniformMatrix4fvEXT; + if (glad_glProgramUniformMatrix4fvEXT == NULL && glad_glProgramUniformMatrix4fv != NULL) glad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)glad_glProgramUniformMatrix4fv; + if (glad_glProgramUniformMatrix4x2fv == NULL && glad_glProgramUniformMatrix4x2fvEXT != NULL) glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)glad_glProgramUniformMatrix4x2fvEXT; + if (glad_glProgramUniformMatrix4x2fvEXT == NULL && glad_glProgramUniformMatrix4x2fv != NULL) glad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)glad_glProgramUniformMatrix4x2fv; + if (glad_glProgramUniformMatrix4x3fv == NULL && glad_glProgramUniformMatrix4x3fvEXT != NULL) glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)glad_glProgramUniformMatrix4x3fvEXT; + if (glad_glProgramUniformMatrix4x3fvEXT == NULL && glad_glProgramUniformMatrix4x3fv != NULL) glad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)glad_glProgramUniformMatrix4x3fv; + if (glad_glProvokingVertex == NULL && glad_glProvokingVertexEXT != NULL) glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)glad_glProvokingVertexEXT; + if (glad_glProvokingVertexEXT == NULL && glad_glProvokingVertex != NULL) glad_glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC)glad_glProvokingVertex; + if (glad_glReadnPixels == NULL && glad_glReadnPixelsARB != NULL) glad_glReadnPixels = (PFNGLREADNPIXELSPROC)glad_glReadnPixelsARB; + if (glad_glReadnPixelsARB == NULL && glad_glReadnPixels != NULL) glad_glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)glad_glReadnPixels; + if (glad_glRenderbufferStorage == NULL && glad_glRenderbufferStorageEXT != NULL) glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)glad_glRenderbufferStorageEXT; + if (glad_glRenderbufferStorageEXT == NULL && glad_glRenderbufferStorage != NULL) glad_glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)glad_glRenderbufferStorage; + if (glad_glRenderbufferStorageMultisample == NULL && glad_glRenderbufferStorageMultisampleEXT != NULL) glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)glad_glRenderbufferStorageMultisampleEXT; + if (glad_glRenderbufferStorageMultisampleEXT == NULL && glad_glRenderbufferStorageMultisample != NULL) glad_glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glad_glRenderbufferStorageMultisample; + if (glad_glResumeTransformFeedback == NULL && glad_glResumeTransformFeedbackNV != NULL) glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)glad_glResumeTransformFeedbackNV; + if (glad_glResumeTransformFeedbackNV == NULL && glad_glResumeTransformFeedback != NULL) glad_glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC)glad_glResumeTransformFeedback; + if (glad_glSampleCoverage == NULL && glad_glSampleCoverageARB != NULL) glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)glad_glSampleCoverageARB; + if (glad_glSampleCoverageARB == NULL && glad_glSampleCoverage != NULL) glad_glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)glad_glSampleCoverage; + if (glad_glShaderSource == NULL && glad_glShaderSourceARB != NULL) glad_glShaderSource = (PFNGLSHADERSOURCEPROC)glad_glShaderSourceARB; + if (glad_glShaderSourceARB == NULL && glad_glShaderSource != NULL) glad_glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)glad_glShaderSource; + if (glad_glSpecializeShader == NULL && glad_glSpecializeShaderARB != NULL) glad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC)glad_glSpecializeShaderARB; + if (glad_glSpecializeShaderARB == NULL && glad_glSpecializeShader != NULL) glad_glSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC)glad_glSpecializeShader; + if (glad_glStencilOpSeparate == NULL && glad_glStencilOpSeparateATI != NULL) glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)glad_glStencilOpSeparateATI; + if (glad_glStencilOpSeparateATI == NULL && glad_glStencilOpSeparate != NULL) glad_glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)glad_glStencilOpSeparate; + if (glad_glTexBuffer == NULL && glad_glTexBufferARB != NULL) glad_glTexBuffer = (PFNGLTEXBUFFERPROC)glad_glTexBufferARB; + if (glad_glTexBuffer == NULL && glad_glTexBufferEXT != NULL) glad_glTexBuffer = (PFNGLTEXBUFFERPROC)glad_glTexBufferEXT; + if (glad_glTexBufferARB == NULL && glad_glTexBuffer != NULL) glad_glTexBufferARB = (PFNGLTEXBUFFERARBPROC)glad_glTexBuffer; + if (glad_glTexBufferARB == NULL && glad_glTexBufferEXT != NULL) glad_glTexBufferARB = (PFNGLTEXBUFFERARBPROC)glad_glTexBufferEXT; + if (glad_glTexBufferEXT == NULL && glad_glTexBuffer != NULL) glad_glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)glad_glTexBuffer; + if (glad_glTexBufferEXT == NULL && glad_glTexBufferARB != NULL) glad_glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)glad_glTexBufferARB; + if (glad_glTexImage3D == NULL && glad_glTexImage3DEXT != NULL) glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)glad_glTexImage3DEXT; + if (glad_glTexImage3DEXT == NULL && glad_glTexImage3D != NULL) glad_glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)glad_glTexImage3D; + if (glad_glTexParameterIiv == NULL && glad_glTexParameterIivEXT != NULL) glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)glad_glTexParameterIivEXT; + if (glad_glTexParameterIivEXT == NULL && glad_glTexParameterIiv != NULL) glad_glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)glad_glTexParameterIiv; + if (glad_glTexParameterIuiv == NULL && glad_glTexParameterIuivEXT != NULL) glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)glad_glTexParameterIuivEXT; + if (glad_glTexParameterIuivEXT == NULL && glad_glTexParameterIuiv != NULL) glad_glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)glad_glTexParameterIuiv; + if (glad_glTexStorage1D == NULL && glad_glTexStorage1DEXT != NULL) glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)glad_glTexStorage1DEXT; + if (glad_glTexStorage1DEXT == NULL && glad_glTexStorage1D != NULL) glad_glTexStorage1DEXT = (PFNGLTEXSTORAGE1DEXTPROC)glad_glTexStorage1D; + if (glad_glTexStorage2D == NULL && glad_glTexStorage2DEXT != NULL) glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)glad_glTexStorage2DEXT; + if (glad_glTexStorage2DEXT == NULL && glad_glTexStorage2D != NULL) glad_glTexStorage2DEXT = (PFNGLTEXSTORAGE2DEXTPROC)glad_glTexStorage2D; + if (glad_glTexStorage3D == NULL && glad_glTexStorage3DEXT != NULL) glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)glad_glTexStorage3DEXT; + if (glad_glTexStorage3DEXT == NULL && glad_glTexStorage3D != NULL) glad_glTexStorage3DEXT = (PFNGLTEXSTORAGE3DEXTPROC)glad_glTexStorage3D; + if (glad_glTexSubImage1D == NULL && glad_glTexSubImage1DEXT != NULL) glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)glad_glTexSubImage1DEXT; + if (glad_glTexSubImage1DEXT == NULL && glad_glTexSubImage1D != NULL) glad_glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)glad_glTexSubImage1D; + if (glad_glTexSubImage2D == NULL && glad_glTexSubImage2DEXT != NULL) glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)glad_glTexSubImage2DEXT; + if (glad_glTexSubImage2DEXT == NULL && glad_glTexSubImage2D != NULL) glad_glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)glad_glTexSubImage2D; + if (glad_glTexSubImage3D == NULL && glad_glTexSubImage3DEXT != NULL) glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)glad_glTexSubImage3DEXT; + if (glad_glTexSubImage3DEXT == NULL && glad_glTexSubImage3D != NULL) glad_glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)glad_glTexSubImage3D; + if (glad_glTransformFeedbackVaryings == NULL && glad_glTransformFeedbackVaryingsEXT != NULL) glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)glad_glTransformFeedbackVaryingsEXT; + if (glad_glTransformFeedbackVaryingsEXT == NULL && glad_glTransformFeedbackVaryings != NULL) glad_glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)glad_glTransformFeedbackVaryings; + if (glad_glUniform1f == NULL && glad_glUniform1fARB != NULL) glad_glUniform1f = (PFNGLUNIFORM1FPROC)glad_glUniform1fARB; + if (glad_glUniform1fARB == NULL && glad_glUniform1f != NULL) glad_glUniform1fARB = (PFNGLUNIFORM1FARBPROC)glad_glUniform1f; + if (glad_glUniform1fv == NULL && glad_glUniform1fvARB != NULL) glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)glad_glUniform1fvARB; + if (glad_glUniform1fvARB == NULL && glad_glUniform1fv != NULL) glad_glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)glad_glUniform1fv; + if (glad_glUniform1i == NULL && glad_glUniform1iARB != NULL) glad_glUniform1i = (PFNGLUNIFORM1IPROC)glad_glUniform1iARB; + if (glad_glUniform1iARB == NULL && glad_glUniform1i != NULL) glad_glUniform1iARB = (PFNGLUNIFORM1IARBPROC)glad_glUniform1i; + if (glad_glUniform1iv == NULL && glad_glUniform1ivARB != NULL) glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)glad_glUniform1ivARB; + if (glad_glUniform1ivARB == NULL && glad_glUniform1iv != NULL) glad_glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)glad_glUniform1iv; + if (glad_glUniform1ui == NULL && glad_glUniform1uiEXT != NULL) glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)glad_glUniform1uiEXT; + if (glad_glUniform1uiEXT == NULL && glad_glUniform1ui != NULL) glad_glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)glad_glUniform1ui; + if (glad_glUniform1uiv == NULL && glad_glUniform1uivEXT != NULL) glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)glad_glUniform1uivEXT; + if (glad_glUniform1uivEXT == NULL && glad_glUniform1uiv != NULL) glad_glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)glad_glUniform1uiv; + if (glad_glUniform2f == NULL && glad_glUniform2fARB != NULL) glad_glUniform2f = (PFNGLUNIFORM2FPROC)glad_glUniform2fARB; + if (glad_glUniform2fARB == NULL && glad_glUniform2f != NULL) glad_glUniform2fARB = (PFNGLUNIFORM2FARBPROC)glad_glUniform2f; + if (glad_glUniform2fv == NULL && glad_glUniform2fvARB != NULL) glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)glad_glUniform2fvARB; + if (glad_glUniform2fvARB == NULL && glad_glUniform2fv != NULL) glad_glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)glad_glUniform2fv; + if (glad_glUniform2i == NULL && glad_glUniform2iARB != NULL) glad_glUniform2i = (PFNGLUNIFORM2IPROC)glad_glUniform2iARB; + if (glad_glUniform2iARB == NULL && glad_glUniform2i != NULL) glad_glUniform2iARB = (PFNGLUNIFORM2IARBPROC)glad_glUniform2i; + if (glad_glUniform2iv == NULL && glad_glUniform2ivARB != NULL) glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)glad_glUniform2ivARB; + if (glad_glUniform2ivARB == NULL && glad_glUniform2iv != NULL) glad_glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)glad_glUniform2iv; + if (glad_glUniform2ui == NULL && glad_glUniform2uiEXT != NULL) glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)glad_glUniform2uiEXT; + if (glad_glUniform2uiEXT == NULL && glad_glUniform2ui != NULL) glad_glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)glad_glUniform2ui; + if (glad_glUniform2uiv == NULL && glad_glUniform2uivEXT != NULL) glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)glad_glUniform2uivEXT; + if (glad_glUniform2uivEXT == NULL && glad_glUniform2uiv != NULL) glad_glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)glad_glUniform2uiv; + if (glad_glUniform3f == NULL && glad_glUniform3fARB != NULL) glad_glUniform3f = (PFNGLUNIFORM3FPROC)glad_glUniform3fARB; + if (glad_glUniform3fARB == NULL && glad_glUniform3f != NULL) glad_glUniform3fARB = (PFNGLUNIFORM3FARBPROC)glad_glUniform3f; + if (glad_glUniform3fv == NULL && glad_glUniform3fvARB != NULL) glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)glad_glUniform3fvARB; + if (glad_glUniform3fvARB == NULL && glad_glUniform3fv != NULL) glad_glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)glad_glUniform3fv; + if (glad_glUniform3i == NULL && glad_glUniform3iARB != NULL) glad_glUniform3i = (PFNGLUNIFORM3IPROC)glad_glUniform3iARB; + if (glad_glUniform3iARB == NULL && glad_glUniform3i != NULL) glad_glUniform3iARB = (PFNGLUNIFORM3IARBPROC)glad_glUniform3i; + if (glad_glUniform3iv == NULL && glad_glUniform3ivARB != NULL) glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)glad_glUniform3ivARB; + if (glad_glUniform3ivARB == NULL && glad_glUniform3iv != NULL) glad_glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)glad_glUniform3iv; + if (glad_glUniform3ui == NULL && glad_glUniform3uiEXT != NULL) glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)glad_glUniform3uiEXT; + if (glad_glUniform3uiEXT == NULL && glad_glUniform3ui != NULL) glad_glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)glad_glUniform3ui; + if (glad_glUniform3uiv == NULL && glad_glUniform3uivEXT != NULL) glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)glad_glUniform3uivEXT; + if (glad_glUniform3uivEXT == NULL && glad_glUniform3uiv != NULL) glad_glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)glad_glUniform3uiv; + if (glad_glUniform4f == NULL && glad_glUniform4fARB != NULL) glad_glUniform4f = (PFNGLUNIFORM4FPROC)glad_glUniform4fARB; + if (glad_glUniform4fARB == NULL && glad_glUniform4f != NULL) glad_glUniform4fARB = (PFNGLUNIFORM4FARBPROC)glad_glUniform4f; + if (glad_glUniform4fv == NULL && glad_glUniform4fvARB != NULL) glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)glad_glUniform4fvARB; + if (glad_glUniform4fvARB == NULL && glad_glUniform4fv != NULL) glad_glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)glad_glUniform4fv; + if (glad_glUniform4i == NULL && glad_glUniform4iARB != NULL) glad_glUniform4i = (PFNGLUNIFORM4IPROC)glad_glUniform4iARB; + if (glad_glUniform4iARB == NULL && glad_glUniform4i != NULL) glad_glUniform4iARB = (PFNGLUNIFORM4IARBPROC)glad_glUniform4i; + if (glad_glUniform4iv == NULL && glad_glUniform4ivARB != NULL) glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)glad_glUniform4ivARB; + if (glad_glUniform4ivARB == NULL && glad_glUniform4iv != NULL) glad_glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)glad_glUniform4iv; + if (glad_glUniform4ui == NULL && glad_glUniform4uiEXT != NULL) glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)glad_glUniform4uiEXT; + if (glad_glUniform4uiEXT == NULL && glad_glUniform4ui != NULL) glad_glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)glad_glUniform4ui; + if (glad_glUniform4uiv == NULL && glad_glUniform4uivEXT != NULL) glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)glad_glUniform4uivEXT; + if (glad_glUniform4uivEXT == NULL && glad_glUniform4uiv != NULL) glad_glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)glad_glUniform4uiv; + if (glad_glUniformMatrix2fv == NULL && glad_glUniformMatrix2fvARB != NULL) glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)glad_glUniformMatrix2fvARB; + if (glad_glUniformMatrix2fvARB == NULL && glad_glUniformMatrix2fv != NULL) glad_glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)glad_glUniformMatrix2fv; + if (glad_glUniformMatrix3fv == NULL && glad_glUniformMatrix3fvARB != NULL) glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)glad_glUniformMatrix3fvARB; + if (glad_glUniformMatrix3fvARB == NULL && glad_glUniformMatrix3fv != NULL) glad_glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)glad_glUniformMatrix3fv; + if (glad_glUniformMatrix4fv == NULL && glad_glUniformMatrix4fvARB != NULL) glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)glad_glUniformMatrix4fvARB; + if (glad_glUniformMatrix4fvARB == NULL && glad_glUniformMatrix4fv != NULL) glad_glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)glad_glUniformMatrix4fv; + if (glad_glUnmapBuffer == NULL && glad_glUnmapBufferARB != NULL) glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)glad_glUnmapBufferARB; + if (glad_glUnmapBufferARB == NULL && glad_glUnmapBuffer != NULL) glad_glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)glad_glUnmapBuffer; + if (glad_glUseProgram == NULL && glad_glUseProgramObjectARB != NULL) glad_glUseProgram = (PFNGLUSEPROGRAMPROC)glad_glUseProgramObjectARB; + if (glad_glUseProgramObjectARB == NULL && glad_glUseProgram != NULL) glad_glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)glad_glUseProgram; + if (glad_glValidateProgram == NULL && glad_glValidateProgramARB != NULL) glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)glad_glValidateProgramARB; + if (glad_glValidateProgramARB == NULL && glad_glValidateProgram != NULL) glad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)glad_glValidateProgram; + if (glad_glVertexAttrib1d == NULL && glad_glVertexAttrib1dARB != NULL) glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)glad_glVertexAttrib1dARB; + if (glad_glVertexAttrib1d == NULL && glad_glVertexAttrib1dNV != NULL) glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)glad_glVertexAttrib1dNV; + if (glad_glVertexAttrib1dARB == NULL && glad_glVertexAttrib1d != NULL) glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glad_glVertexAttrib1d; + if (glad_glVertexAttrib1dARB == NULL && glad_glVertexAttrib1dNV != NULL) glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glad_glVertexAttrib1dNV; + if (glad_glVertexAttrib1dNV == NULL && glad_glVertexAttrib1d != NULL) glad_glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glad_glVertexAttrib1d; + if (glad_glVertexAttrib1dNV == NULL && glad_glVertexAttrib1dARB != NULL) glad_glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glad_glVertexAttrib1dARB; + if (glad_glVertexAttrib1dv == NULL && glad_glVertexAttrib1dvARB != NULL) glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)glad_glVertexAttrib1dvARB; + if (glad_glVertexAttrib1dv == NULL && glad_glVertexAttrib1dvNV != NULL) glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)glad_glVertexAttrib1dvNV; + if (glad_glVertexAttrib1dvARB == NULL && glad_glVertexAttrib1dv != NULL) glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glad_glVertexAttrib1dv; + if (glad_glVertexAttrib1dvARB == NULL && glad_glVertexAttrib1dvNV != NULL) glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glad_glVertexAttrib1dvNV; + if (glad_glVertexAttrib1dvNV == NULL && glad_glVertexAttrib1dv != NULL) glad_glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glad_glVertexAttrib1dv; + if (glad_glVertexAttrib1dvNV == NULL && glad_glVertexAttrib1dvARB != NULL) glad_glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glad_glVertexAttrib1dvARB; + if (glad_glVertexAttrib1f == NULL && glad_glVertexAttrib1fARB != NULL) glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)glad_glVertexAttrib1fARB; + if (glad_glVertexAttrib1f == NULL && glad_glVertexAttrib1fNV != NULL) glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)glad_glVertexAttrib1fNV; + if (glad_glVertexAttrib1fARB == NULL && glad_glVertexAttrib1f != NULL) glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glad_glVertexAttrib1f; + if (glad_glVertexAttrib1fARB == NULL && glad_glVertexAttrib1fNV != NULL) glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glad_glVertexAttrib1fNV; + if (glad_glVertexAttrib1fNV == NULL && glad_glVertexAttrib1f != NULL) glad_glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glad_glVertexAttrib1f; + if (glad_glVertexAttrib1fNV == NULL && glad_glVertexAttrib1fARB != NULL) glad_glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glad_glVertexAttrib1fARB; + if (glad_glVertexAttrib1fv == NULL && glad_glVertexAttrib1fvARB != NULL) glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)glad_glVertexAttrib1fvARB; + if (glad_glVertexAttrib1fv == NULL && glad_glVertexAttrib1fvNV != NULL) glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)glad_glVertexAttrib1fvNV; + if (glad_glVertexAttrib1fvARB == NULL && glad_glVertexAttrib1fv != NULL) glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glad_glVertexAttrib1fv; + if (glad_glVertexAttrib1fvARB == NULL && glad_glVertexAttrib1fvNV != NULL) glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glad_glVertexAttrib1fvNV; + if (glad_glVertexAttrib1fvNV == NULL && glad_glVertexAttrib1fv != NULL) glad_glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glad_glVertexAttrib1fv; + if (glad_glVertexAttrib1fvNV == NULL && glad_glVertexAttrib1fvARB != NULL) glad_glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glad_glVertexAttrib1fvARB; + if (glad_glVertexAttrib1s == NULL && glad_glVertexAttrib1sARB != NULL) glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)glad_glVertexAttrib1sARB; + if (glad_glVertexAttrib1s == NULL && glad_glVertexAttrib1sNV != NULL) glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)glad_glVertexAttrib1sNV; + if (glad_glVertexAttrib1sARB == NULL && glad_glVertexAttrib1s != NULL) glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glad_glVertexAttrib1s; + if (glad_glVertexAttrib1sARB == NULL && glad_glVertexAttrib1sNV != NULL) glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glad_glVertexAttrib1sNV; + if (glad_glVertexAttrib1sNV == NULL && glad_glVertexAttrib1s != NULL) glad_glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glad_glVertexAttrib1s; + if (glad_glVertexAttrib1sNV == NULL && glad_glVertexAttrib1sARB != NULL) glad_glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glad_glVertexAttrib1sARB; + if (glad_glVertexAttrib1sv == NULL && glad_glVertexAttrib1svARB != NULL) glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)glad_glVertexAttrib1svARB; + if (glad_glVertexAttrib1sv == NULL && glad_glVertexAttrib1svNV != NULL) glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)glad_glVertexAttrib1svNV; + if (glad_glVertexAttrib1svARB == NULL && glad_glVertexAttrib1sv != NULL) glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glad_glVertexAttrib1sv; + if (glad_glVertexAttrib1svARB == NULL && glad_glVertexAttrib1svNV != NULL) glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glad_glVertexAttrib1svNV; + if (glad_glVertexAttrib1svNV == NULL && glad_glVertexAttrib1sv != NULL) glad_glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glad_glVertexAttrib1sv; + if (glad_glVertexAttrib1svNV == NULL && glad_glVertexAttrib1svARB != NULL) glad_glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glad_glVertexAttrib1svARB; + if (glad_glVertexAttrib2d == NULL && glad_glVertexAttrib2dARB != NULL) glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)glad_glVertexAttrib2dARB; + if (glad_glVertexAttrib2d == NULL && glad_glVertexAttrib2dNV != NULL) glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)glad_glVertexAttrib2dNV; + if (glad_glVertexAttrib2dARB == NULL && glad_glVertexAttrib2d != NULL) glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glad_glVertexAttrib2d; + if (glad_glVertexAttrib2dARB == NULL && glad_glVertexAttrib2dNV != NULL) glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glad_glVertexAttrib2dNV; + if (glad_glVertexAttrib2dNV == NULL && glad_glVertexAttrib2d != NULL) glad_glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glad_glVertexAttrib2d; + if (glad_glVertexAttrib2dNV == NULL && glad_glVertexAttrib2dARB != NULL) glad_glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glad_glVertexAttrib2dARB; + if (glad_glVertexAttrib2dv == NULL && glad_glVertexAttrib2dvARB != NULL) glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)glad_glVertexAttrib2dvARB; + if (glad_glVertexAttrib2dv == NULL && glad_glVertexAttrib2dvNV != NULL) glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)glad_glVertexAttrib2dvNV; + if (glad_glVertexAttrib2dvARB == NULL && glad_glVertexAttrib2dv != NULL) glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glad_glVertexAttrib2dv; + if (glad_glVertexAttrib2dvARB == NULL && glad_glVertexAttrib2dvNV != NULL) glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glad_glVertexAttrib2dvNV; + if (glad_glVertexAttrib2dvNV == NULL && glad_glVertexAttrib2dv != NULL) glad_glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glad_glVertexAttrib2dv; + if (glad_glVertexAttrib2dvNV == NULL && glad_glVertexAttrib2dvARB != NULL) glad_glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glad_glVertexAttrib2dvARB; + if (glad_glVertexAttrib2f == NULL && glad_glVertexAttrib2fARB != NULL) glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)glad_glVertexAttrib2fARB; + if (glad_glVertexAttrib2f == NULL && glad_glVertexAttrib2fNV != NULL) glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)glad_glVertexAttrib2fNV; + if (glad_glVertexAttrib2fARB == NULL && glad_glVertexAttrib2f != NULL) glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glad_glVertexAttrib2f; + if (glad_glVertexAttrib2fARB == NULL && glad_glVertexAttrib2fNV != NULL) glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glad_glVertexAttrib2fNV; + if (glad_glVertexAttrib2fNV == NULL && glad_glVertexAttrib2f != NULL) glad_glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glad_glVertexAttrib2f; + if (glad_glVertexAttrib2fNV == NULL && glad_glVertexAttrib2fARB != NULL) glad_glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glad_glVertexAttrib2fARB; + if (glad_glVertexAttrib2fv == NULL && glad_glVertexAttrib2fvARB != NULL) glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)glad_glVertexAttrib2fvARB; + if (glad_glVertexAttrib2fv == NULL && glad_glVertexAttrib2fvNV != NULL) glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)glad_glVertexAttrib2fvNV; + if (glad_glVertexAttrib2fvARB == NULL && glad_glVertexAttrib2fv != NULL) glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glad_glVertexAttrib2fv; + if (glad_glVertexAttrib2fvARB == NULL && glad_glVertexAttrib2fvNV != NULL) glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glad_glVertexAttrib2fvNV; + if (glad_glVertexAttrib2fvNV == NULL && glad_glVertexAttrib2fv != NULL) glad_glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glad_glVertexAttrib2fv; + if (glad_glVertexAttrib2fvNV == NULL && glad_glVertexAttrib2fvARB != NULL) glad_glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glad_glVertexAttrib2fvARB; + if (glad_glVertexAttrib2s == NULL && glad_glVertexAttrib2sARB != NULL) glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)glad_glVertexAttrib2sARB; + if (glad_glVertexAttrib2s == NULL && glad_glVertexAttrib2sNV != NULL) glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)glad_glVertexAttrib2sNV; + if (glad_glVertexAttrib2sARB == NULL && glad_glVertexAttrib2s != NULL) glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glad_glVertexAttrib2s; + if (glad_glVertexAttrib2sARB == NULL && glad_glVertexAttrib2sNV != NULL) glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glad_glVertexAttrib2sNV; + if (glad_glVertexAttrib2sNV == NULL && glad_glVertexAttrib2s != NULL) glad_glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glad_glVertexAttrib2s; + if (glad_glVertexAttrib2sNV == NULL && glad_glVertexAttrib2sARB != NULL) glad_glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glad_glVertexAttrib2sARB; + if (glad_glVertexAttrib2sv == NULL && glad_glVertexAttrib2svARB != NULL) glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)glad_glVertexAttrib2svARB; + if (glad_glVertexAttrib2sv == NULL && glad_glVertexAttrib2svNV != NULL) glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)glad_glVertexAttrib2svNV; + if (glad_glVertexAttrib2svARB == NULL && glad_glVertexAttrib2sv != NULL) glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glad_glVertexAttrib2sv; + if (glad_glVertexAttrib2svARB == NULL && glad_glVertexAttrib2svNV != NULL) glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glad_glVertexAttrib2svNV; + if (glad_glVertexAttrib2svNV == NULL && glad_glVertexAttrib2sv != NULL) glad_glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glad_glVertexAttrib2sv; + if (glad_glVertexAttrib2svNV == NULL && glad_glVertexAttrib2svARB != NULL) glad_glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glad_glVertexAttrib2svARB; + if (glad_glVertexAttrib3d == NULL && glad_glVertexAttrib3dARB != NULL) glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)glad_glVertexAttrib3dARB; + if (glad_glVertexAttrib3d == NULL && glad_glVertexAttrib3dNV != NULL) glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)glad_glVertexAttrib3dNV; + if (glad_glVertexAttrib3dARB == NULL && glad_glVertexAttrib3d != NULL) glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glad_glVertexAttrib3d; + if (glad_glVertexAttrib3dARB == NULL && glad_glVertexAttrib3dNV != NULL) glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glad_glVertexAttrib3dNV; + if (glad_glVertexAttrib3dNV == NULL && glad_glVertexAttrib3d != NULL) glad_glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glad_glVertexAttrib3d; + if (glad_glVertexAttrib3dNV == NULL && glad_glVertexAttrib3dARB != NULL) glad_glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glad_glVertexAttrib3dARB; + if (glad_glVertexAttrib3dv == NULL && glad_glVertexAttrib3dvARB != NULL) glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)glad_glVertexAttrib3dvARB; + if (glad_glVertexAttrib3dv == NULL && glad_glVertexAttrib3dvNV != NULL) glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)glad_glVertexAttrib3dvNV; + if (glad_glVertexAttrib3dvARB == NULL && glad_glVertexAttrib3dv != NULL) glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glad_glVertexAttrib3dv; + if (glad_glVertexAttrib3dvARB == NULL && glad_glVertexAttrib3dvNV != NULL) glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glad_glVertexAttrib3dvNV; + if (glad_glVertexAttrib3dvNV == NULL && glad_glVertexAttrib3dv != NULL) glad_glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glad_glVertexAttrib3dv; + if (glad_glVertexAttrib3dvNV == NULL && glad_glVertexAttrib3dvARB != NULL) glad_glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glad_glVertexAttrib3dvARB; + if (glad_glVertexAttrib3f == NULL && glad_glVertexAttrib3fARB != NULL) glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)glad_glVertexAttrib3fARB; + if (glad_glVertexAttrib3f == NULL && glad_glVertexAttrib3fNV != NULL) glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)glad_glVertexAttrib3fNV; + if (glad_glVertexAttrib3fARB == NULL && glad_glVertexAttrib3f != NULL) glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glad_glVertexAttrib3f; + if (glad_glVertexAttrib3fARB == NULL && glad_glVertexAttrib3fNV != NULL) glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glad_glVertexAttrib3fNV; + if (glad_glVertexAttrib3fNV == NULL && glad_glVertexAttrib3f != NULL) glad_glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glad_glVertexAttrib3f; + if (glad_glVertexAttrib3fNV == NULL && glad_glVertexAttrib3fARB != NULL) glad_glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glad_glVertexAttrib3fARB; + if (glad_glVertexAttrib3fv == NULL && glad_glVertexAttrib3fvARB != NULL) glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)glad_glVertexAttrib3fvARB; + if (glad_glVertexAttrib3fv == NULL && glad_glVertexAttrib3fvNV != NULL) glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)glad_glVertexAttrib3fvNV; + if (glad_glVertexAttrib3fvARB == NULL && glad_glVertexAttrib3fv != NULL) glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glad_glVertexAttrib3fv; + if (glad_glVertexAttrib3fvARB == NULL && glad_glVertexAttrib3fvNV != NULL) glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glad_glVertexAttrib3fvNV; + if (glad_glVertexAttrib3fvNV == NULL && glad_glVertexAttrib3fv != NULL) glad_glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glad_glVertexAttrib3fv; + if (glad_glVertexAttrib3fvNV == NULL && glad_glVertexAttrib3fvARB != NULL) glad_glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glad_glVertexAttrib3fvARB; + if (glad_glVertexAttrib3s == NULL && glad_glVertexAttrib3sARB != NULL) glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)glad_glVertexAttrib3sARB; + if (glad_glVertexAttrib3s == NULL && glad_glVertexAttrib3sNV != NULL) glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)glad_glVertexAttrib3sNV; + if (glad_glVertexAttrib3sARB == NULL && glad_glVertexAttrib3s != NULL) glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glad_glVertexAttrib3s; + if (glad_glVertexAttrib3sARB == NULL && glad_glVertexAttrib3sNV != NULL) glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glad_glVertexAttrib3sNV; + if (glad_glVertexAttrib3sNV == NULL && glad_glVertexAttrib3s != NULL) glad_glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glad_glVertexAttrib3s; + if (glad_glVertexAttrib3sNV == NULL && glad_glVertexAttrib3sARB != NULL) glad_glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glad_glVertexAttrib3sARB; + if (glad_glVertexAttrib3sv == NULL && glad_glVertexAttrib3svARB != NULL) glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)glad_glVertexAttrib3svARB; + if (glad_glVertexAttrib3sv == NULL && glad_glVertexAttrib3svNV != NULL) glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)glad_glVertexAttrib3svNV; + if (glad_glVertexAttrib3svARB == NULL && glad_glVertexAttrib3sv != NULL) glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glad_glVertexAttrib3sv; + if (glad_glVertexAttrib3svARB == NULL && glad_glVertexAttrib3svNV != NULL) glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glad_glVertexAttrib3svNV; + if (glad_glVertexAttrib3svNV == NULL && glad_glVertexAttrib3sv != NULL) glad_glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glad_glVertexAttrib3sv; + if (glad_glVertexAttrib3svNV == NULL && glad_glVertexAttrib3svARB != NULL) glad_glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glad_glVertexAttrib3svARB; + if (glad_glVertexAttrib4bv == NULL && glad_glVertexAttrib4bvARB != NULL) glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)glad_glVertexAttrib4bvARB; + if (glad_glVertexAttrib4bvARB == NULL && glad_glVertexAttrib4bv != NULL) glad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)glad_glVertexAttrib4bv; + if (glad_glVertexAttrib4d == NULL && glad_glVertexAttrib4dARB != NULL) glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)glad_glVertexAttrib4dARB; + if (glad_glVertexAttrib4d == NULL && glad_glVertexAttrib4dNV != NULL) glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)glad_glVertexAttrib4dNV; + if (glad_glVertexAttrib4dARB == NULL && glad_glVertexAttrib4d != NULL) glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glad_glVertexAttrib4d; + if (glad_glVertexAttrib4dARB == NULL && glad_glVertexAttrib4dNV != NULL) glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glad_glVertexAttrib4dNV; + if (glad_glVertexAttrib4dNV == NULL && glad_glVertexAttrib4d != NULL) glad_glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glad_glVertexAttrib4d; + if (glad_glVertexAttrib4dNV == NULL && glad_glVertexAttrib4dARB != NULL) glad_glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glad_glVertexAttrib4dARB; + if (glad_glVertexAttrib4dv == NULL && glad_glVertexAttrib4dvARB != NULL) glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)glad_glVertexAttrib4dvARB; + if (glad_glVertexAttrib4dv == NULL && glad_glVertexAttrib4dvNV != NULL) glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)glad_glVertexAttrib4dvNV; + if (glad_glVertexAttrib4dvARB == NULL && glad_glVertexAttrib4dv != NULL) glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glad_glVertexAttrib4dv; + if (glad_glVertexAttrib4dvARB == NULL && glad_glVertexAttrib4dvNV != NULL) glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glad_glVertexAttrib4dvNV; + if (glad_glVertexAttrib4dvNV == NULL && glad_glVertexAttrib4dv != NULL) glad_glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glad_glVertexAttrib4dv; + if (glad_glVertexAttrib4dvNV == NULL && glad_glVertexAttrib4dvARB != NULL) glad_glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glad_glVertexAttrib4dvARB; + if (glad_glVertexAttrib4f == NULL && glad_glVertexAttrib4fARB != NULL) glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glad_glVertexAttrib4fARB; + if (glad_glVertexAttrib4f == NULL && glad_glVertexAttrib4fNV != NULL) glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glad_glVertexAttrib4fNV; + if (glad_glVertexAttrib4fARB == NULL && glad_glVertexAttrib4f != NULL) glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glad_glVertexAttrib4f; + if (glad_glVertexAttrib4fARB == NULL && glad_glVertexAttrib4fNV != NULL) glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glad_glVertexAttrib4fNV; + if (glad_glVertexAttrib4fNV == NULL && glad_glVertexAttrib4f != NULL) glad_glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glad_glVertexAttrib4f; + if (glad_glVertexAttrib4fNV == NULL && glad_glVertexAttrib4fARB != NULL) glad_glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glad_glVertexAttrib4fARB; + if (glad_glVertexAttrib4fv == NULL && glad_glVertexAttrib4fvARB != NULL) glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glad_glVertexAttrib4fvARB; + if (glad_glVertexAttrib4fv == NULL && glad_glVertexAttrib4fvNV != NULL) glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glad_glVertexAttrib4fvNV; + if (glad_glVertexAttrib4fvARB == NULL && glad_glVertexAttrib4fv != NULL) glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glad_glVertexAttrib4fv; + if (glad_glVertexAttrib4fvARB == NULL && glad_glVertexAttrib4fvNV != NULL) glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glad_glVertexAttrib4fvNV; + if (glad_glVertexAttrib4fvNV == NULL && glad_glVertexAttrib4fv != NULL) glad_glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glad_glVertexAttrib4fv; + if (glad_glVertexAttrib4fvNV == NULL && glad_glVertexAttrib4fvARB != NULL) glad_glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glad_glVertexAttrib4fvARB; + if (glad_glVertexAttrib4iv == NULL && glad_glVertexAttrib4ivARB != NULL) glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)glad_glVertexAttrib4ivARB; + if (glad_glVertexAttrib4ivARB == NULL && glad_glVertexAttrib4iv != NULL) glad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)glad_glVertexAttrib4iv; + if (glad_glVertexAttrib4Nbv == NULL && glad_glVertexAttrib4NbvARB != NULL) glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)glad_glVertexAttrib4NbvARB; + if (glad_glVertexAttrib4NbvARB == NULL && glad_glVertexAttrib4Nbv != NULL) glad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)glad_glVertexAttrib4Nbv; + if (glad_glVertexAttrib4Niv == NULL && glad_glVertexAttrib4NivARB != NULL) glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)glad_glVertexAttrib4NivARB; + if (glad_glVertexAttrib4NivARB == NULL && glad_glVertexAttrib4Niv != NULL) glad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)glad_glVertexAttrib4Niv; + if (glad_glVertexAttrib4Nsv == NULL && glad_glVertexAttrib4NsvARB != NULL) glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)glad_glVertexAttrib4NsvARB; + if (glad_glVertexAttrib4NsvARB == NULL && glad_glVertexAttrib4Nsv != NULL) glad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)glad_glVertexAttrib4Nsv; + if (glad_glVertexAttrib4Nub == NULL && glad_glVertexAttrib4NubARB != NULL) glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)glad_glVertexAttrib4NubARB; + if (glad_glVertexAttrib4Nub == NULL && glad_glVertexAttrib4ubNV != NULL) glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)glad_glVertexAttrib4ubNV; + if (glad_glVertexAttrib4NubARB == NULL && glad_glVertexAttrib4Nub != NULL) glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glad_glVertexAttrib4Nub; + if (glad_glVertexAttrib4NubARB == NULL && glad_glVertexAttrib4ubNV != NULL) glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glad_glVertexAttrib4ubNV; + if (glad_glVertexAttrib4Nubv == NULL && glad_glVertexAttrib4NubvARB != NULL) glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)glad_glVertexAttrib4NubvARB; + if (glad_glVertexAttrib4Nubv == NULL && glad_glVertexAttrib4ubvNV != NULL) glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)glad_glVertexAttrib4ubvNV; + if (glad_glVertexAttrib4NubvARB == NULL && glad_glVertexAttrib4Nubv != NULL) glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glad_glVertexAttrib4Nubv; + if (glad_glVertexAttrib4NubvARB == NULL && glad_glVertexAttrib4ubvNV != NULL) glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glad_glVertexAttrib4ubvNV; + if (glad_glVertexAttrib4Nuiv == NULL && glad_glVertexAttrib4NuivARB != NULL) glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)glad_glVertexAttrib4NuivARB; + if (glad_glVertexAttrib4NuivARB == NULL && glad_glVertexAttrib4Nuiv != NULL) glad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)glad_glVertexAttrib4Nuiv; + if (glad_glVertexAttrib4Nusv == NULL && glad_glVertexAttrib4NusvARB != NULL) glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)glad_glVertexAttrib4NusvARB; + if (glad_glVertexAttrib4NusvARB == NULL && glad_glVertexAttrib4Nusv != NULL) glad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)glad_glVertexAttrib4Nusv; + if (glad_glVertexAttrib4s == NULL && glad_glVertexAttrib4sARB != NULL) glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)glad_glVertexAttrib4sARB; + if (glad_glVertexAttrib4s == NULL && glad_glVertexAttrib4sNV != NULL) glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)glad_glVertexAttrib4sNV; + if (glad_glVertexAttrib4sARB == NULL && glad_glVertexAttrib4s != NULL) glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glad_glVertexAttrib4s; + if (glad_glVertexAttrib4sARB == NULL && glad_glVertexAttrib4sNV != NULL) glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glad_glVertexAttrib4sNV; + if (glad_glVertexAttrib4sNV == NULL && glad_glVertexAttrib4s != NULL) glad_glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glad_glVertexAttrib4s; + if (glad_glVertexAttrib4sNV == NULL && glad_glVertexAttrib4sARB != NULL) glad_glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glad_glVertexAttrib4sARB; + if (glad_glVertexAttrib4sv == NULL && glad_glVertexAttrib4svARB != NULL) glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)glad_glVertexAttrib4svARB; + if (glad_glVertexAttrib4sv == NULL && glad_glVertexAttrib4svNV != NULL) glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)glad_glVertexAttrib4svNV; + if (glad_glVertexAttrib4svARB == NULL && glad_glVertexAttrib4sv != NULL) glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glad_glVertexAttrib4sv; + if (glad_glVertexAttrib4svARB == NULL && glad_glVertexAttrib4svNV != NULL) glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glad_glVertexAttrib4svNV; + if (glad_glVertexAttrib4svNV == NULL && glad_glVertexAttrib4sv != NULL) glad_glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glad_glVertexAttrib4sv; + if (glad_glVertexAttrib4svNV == NULL && glad_glVertexAttrib4svARB != NULL) glad_glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glad_glVertexAttrib4svARB; + if (glad_glVertexAttrib4ubNV == NULL && glad_glVertexAttrib4Nub != NULL) glad_glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glad_glVertexAttrib4Nub; + if (glad_glVertexAttrib4ubNV == NULL && glad_glVertexAttrib4NubARB != NULL) glad_glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glad_glVertexAttrib4NubARB; + if (glad_glVertexAttrib4ubv == NULL && glad_glVertexAttrib4ubvARB != NULL) glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)glad_glVertexAttrib4ubvARB; + if (glad_glVertexAttrib4ubvARB == NULL && glad_glVertexAttrib4ubv != NULL) glad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)glad_glVertexAttrib4ubv; + if (glad_glVertexAttrib4ubvNV == NULL && glad_glVertexAttrib4Nubv != NULL) glad_glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glad_glVertexAttrib4Nubv; + if (glad_glVertexAttrib4ubvNV == NULL && glad_glVertexAttrib4NubvARB != NULL) glad_glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glad_glVertexAttrib4NubvARB; + if (glad_glVertexAttrib4uiv == NULL && glad_glVertexAttrib4uivARB != NULL) glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)glad_glVertexAttrib4uivARB; + if (glad_glVertexAttrib4uivARB == NULL && glad_glVertexAttrib4uiv != NULL) glad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)glad_glVertexAttrib4uiv; + if (glad_glVertexAttrib4usv == NULL && glad_glVertexAttrib4usvARB != NULL) glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)glad_glVertexAttrib4usvARB; + if (glad_glVertexAttrib4usvARB == NULL && glad_glVertexAttrib4usv != NULL) glad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)glad_glVertexAttrib4usv; + if (glad_glVertexAttribDivisor == NULL && glad_glVertexAttribDivisorARB != NULL) glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)glad_glVertexAttribDivisorARB; + if (glad_glVertexAttribDivisorARB == NULL && glad_glVertexAttribDivisor != NULL) glad_glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)glad_glVertexAttribDivisor; + if (glad_glVertexAttribI1i == NULL && glad_glVertexAttribI1iEXT != NULL) glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)glad_glVertexAttribI1iEXT; + if (glad_glVertexAttribI1iEXT == NULL && glad_glVertexAttribI1i != NULL) glad_glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)glad_glVertexAttribI1i; + if (glad_glVertexAttribI1iv == NULL && glad_glVertexAttribI1ivEXT != NULL) glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)glad_glVertexAttribI1ivEXT; + if (glad_glVertexAttribI1ivEXT == NULL && glad_glVertexAttribI1iv != NULL) glad_glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)glad_glVertexAttribI1iv; + if (glad_glVertexAttribI1ui == NULL && glad_glVertexAttribI1uiEXT != NULL) glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)glad_glVertexAttribI1uiEXT; + if (glad_glVertexAttribI1uiEXT == NULL && glad_glVertexAttribI1ui != NULL) glad_glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)glad_glVertexAttribI1ui; + if (glad_glVertexAttribI1uiv == NULL && glad_glVertexAttribI1uivEXT != NULL) glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)glad_glVertexAttribI1uivEXT; + if (glad_glVertexAttribI1uivEXT == NULL && glad_glVertexAttribI1uiv != NULL) glad_glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)glad_glVertexAttribI1uiv; + if (glad_glVertexAttribI2i == NULL && glad_glVertexAttribI2iEXT != NULL) glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)glad_glVertexAttribI2iEXT; + if (glad_glVertexAttribI2iEXT == NULL && glad_glVertexAttribI2i != NULL) glad_glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)glad_glVertexAttribI2i; + if (glad_glVertexAttribI2iv == NULL && glad_glVertexAttribI2ivEXT != NULL) glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)glad_glVertexAttribI2ivEXT; + if (glad_glVertexAttribI2ivEXT == NULL && glad_glVertexAttribI2iv != NULL) glad_glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)glad_glVertexAttribI2iv; + if (glad_glVertexAttribI2ui == NULL && glad_glVertexAttribI2uiEXT != NULL) glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)glad_glVertexAttribI2uiEXT; + if (glad_glVertexAttribI2uiEXT == NULL && glad_glVertexAttribI2ui != NULL) glad_glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)glad_glVertexAttribI2ui; + if (glad_glVertexAttribI2uiv == NULL && glad_glVertexAttribI2uivEXT != NULL) glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)glad_glVertexAttribI2uivEXT; + if (glad_glVertexAttribI2uivEXT == NULL && glad_glVertexAttribI2uiv != NULL) glad_glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)glad_glVertexAttribI2uiv; + if (glad_glVertexAttribI3i == NULL && glad_glVertexAttribI3iEXT != NULL) glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)glad_glVertexAttribI3iEXT; + if (glad_glVertexAttribI3iEXT == NULL && glad_glVertexAttribI3i != NULL) glad_glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)glad_glVertexAttribI3i; + if (glad_glVertexAttribI3iv == NULL && glad_glVertexAttribI3ivEXT != NULL) glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)glad_glVertexAttribI3ivEXT; + if (glad_glVertexAttribI3ivEXT == NULL && glad_glVertexAttribI3iv != NULL) glad_glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)glad_glVertexAttribI3iv; + if (glad_glVertexAttribI3ui == NULL && glad_glVertexAttribI3uiEXT != NULL) glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)glad_glVertexAttribI3uiEXT; + if (glad_glVertexAttribI3uiEXT == NULL && glad_glVertexAttribI3ui != NULL) glad_glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)glad_glVertexAttribI3ui; + if (glad_glVertexAttribI3uiv == NULL && glad_glVertexAttribI3uivEXT != NULL) glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)glad_glVertexAttribI3uivEXT; + if (glad_glVertexAttribI3uivEXT == NULL && glad_glVertexAttribI3uiv != NULL) glad_glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)glad_glVertexAttribI3uiv; + if (glad_glVertexAttribI4bv == NULL && glad_glVertexAttribI4bvEXT != NULL) glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)glad_glVertexAttribI4bvEXT; + if (glad_glVertexAttribI4bvEXT == NULL && glad_glVertexAttribI4bv != NULL) glad_glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)glad_glVertexAttribI4bv; + if (glad_glVertexAttribI4i == NULL && glad_glVertexAttribI4iEXT != NULL) glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)glad_glVertexAttribI4iEXT; + if (glad_glVertexAttribI4iEXT == NULL && glad_glVertexAttribI4i != NULL) glad_glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)glad_glVertexAttribI4i; + if (glad_glVertexAttribI4iv == NULL && glad_glVertexAttribI4ivEXT != NULL) glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)glad_glVertexAttribI4ivEXT; + if (glad_glVertexAttribI4ivEXT == NULL && glad_glVertexAttribI4iv != NULL) glad_glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)glad_glVertexAttribI4iv; + if (glad_glVertexAttribI4sv == NULL && glad_glVertexAttribI4svEXT != NULL) glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)glad_glVertexAttribI4svEXT; + if (glad_glVertexAttribI4svEXT == NULL && glad_glVertexAttribI4sv != NULL) glad_glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)glad_glVertexAttribI4sv; + if (glad_glVertexAttribI4ubv == NULL && glad_glVertexAttribI4ubvEXT != NULL) glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)glad_glVertexAttribI4ubvEXT; + if (glad_glVertexAttribI4ubvEXT == NULL && glad_glVertexAttribI4ubv != NULL) glad_glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)glad_glVertexAttribI4ubv; + if (glad_glVertexAttribI4ui == NULL && glad_glVertexAttribI4uiEXT != NULL) glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)glad_glVertexAttribI4uiEXT; + if (glad_glVertexAttribI4uiEXT == NULL && glad_glVertexAttribI4ui != NULL) glad_glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)glad_glVertexAttribI4ui; + if (glad_glVertexAttribI4uiv == NULL && glad_glVertexAttribI4uivEXT != NULL) glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)glad_glVertexAttribI4uivEXT; + if (glad_glVertexAttribI4uivEXT == NULL && glad_glVertexAttribI4uiv != NULL) glad_glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)glad_glVertexAttribI4uiv; + if (glad_glVertexAttribI4usv == NULL && glad_glVertexAttribI4usvEXT != NULL) glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)glad_glVertexAttribI4usvEXT; + if (glad_glVertexAttribI4usvEXT == NULL && glad_glVertexAttribI4usv != NULL) glad_glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)glad_glVertexAttribI4usv; + if (glad_glVertexAttribIPointer == NULL && glad_glVertexAttribIPointerEXT != NULL) glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)glad_glVertexAttribIPointerEXT; + if (glad_glVertexAttribIPointerEXT == NULL && glad_glVertexAttribIPointer != NULL) glad_glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)glad_glVertexAttribIPointer; + if (glad_glVertexAttribL1d == NULL && glad_glVertexAttribL1dEXT != NULL) glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)glad_glVertexAttribL1dEXT; + if (glad_glVertexAttribL1dEXT == NULL && glad_glVertexAttribL1d != NULL) glad_glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC)glad_glVertexAttribL1d; + if (glad_glVertexAttribL1dv == NULL && glad_glVertexAttribL1dvEXT != NULL) glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)glad_glVertexAttribL1dvEXT; + if (glad_glVertexAttribL1dvEXT == NULL && glad_glVertexAttribL1dv != NULL) glad_glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC)glad_glVertexAttribL1dv; + if (glad_glVertexAttribL2d == NULL && glad_glVertexAttribL2dEXT != NULL) glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)glad_glVertexAttribL2dEXT; + if (glad_glVertexAttribL2dEXT == NULL && glad_glVertexAttribL2d != NULL) glad_glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC)glad_glVertexAttribL2d; + if (glad_glVertexAttribL2dv == NULL && glad_glVertexAttribL2dvEXT != NULL) glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)glad_glVertexAttribL2dvEXT; + if (glad_glVertexAttribL2dvEXT == NULL && glad_glVertexAttribL2dv != NULL) glad_glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC)glad_glVertexAttribL2dv; + if (glad_glVertexAttribL3d == NULL && glad_glVertexAttribL3dEXT != NULL) glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)glad_glVertexAttribL3dEXT; + if (glad_glVertexAttribL3dEXT == NULL && glad_glVertexAttribL3d != NULL) glad_glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC)glad_glVertexAttribL3d; + if (glad_glVertexAttribL3dv == NULL && glad_glVertexAttribL3dvEXT != NULL) glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)glad_glVertexAttribL3dvEXT; + if (glad_glVertexAttribL3dvEXT == NULL && glad_glVertexAttribL3dv != NULL) glad_glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC)glad_glVertexAttribL3dv; + if (glad_glVertexAttribL4d == NULL && glad_glVertexAttribL4dEXT != NULL) glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)glad_glVertexAttribL4dEXT; + if (glad_glVertexAttribL4dEXT == NULL && glad_glVertexAttribL4d != NULL) glad_glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC)glad_glVertexAttribL4d; + if (glad_glVertexAttribL4dv == NULL && glad_glVertexAttribL4dvEXT != NULL) glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)glad_glVertexAttribL4dvEXT; + if (glad_glVertexAttribL4dvEXT == NULL && glad_glVertexAttribL4dv != NULL) glad_glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC)glad_glVertexAttribL4dv; + if (glad_glVertexAttribLPointer == NULL && glad_glVertexAttribLPointerEXT != NULL) glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)glad_glVertexAttribLPointerEXT; + if (glad_glVertexAttribLPointerEXT == NULL && glad_glVertexAttribLPointer != NULL) glad_glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC)glad_glVertexAttribLPointer; + if (glad_glVertexAttribPointer == NULL && glad_glVertexAttribPointerARB != NULL) glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)glad_glVertexAttribPointerARB; + if (glad_glVertexAttribPointerARB == NULL && glad_glVertexAttribPointer != NULL) glad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)glad_glVertexAttribPointer; +} + +static void glad_gl_free_extensions(char **exts_i) { + if (exts_i != NULL) { + unsigned int index; + for(index = 0; exts_i[index]; index++) { + free((void *) (exts_i[index])); + } + free((void *)exts_i); + exts_i = NULL; + } +} +static int glad_gl_get_extensions( const char **out_exts, char ***out_exts_i) { +#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) + if (glad_glGetStringi != NULL && glad_glGetIntegerv != NULL) { + unsigned int index = 0; + unsigned int num_exts_i = 0; + char **exts_i = NULL; + glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i); + exts_i = (char **) malloc((num_exts_i + 1) * (sizeof *exts_i)); + if (exts_i == NULL) { + return 0; + } + for(index = 0; index < num_exts_i; index++) { + const char *gl_str_tmp = (const char*) glad_glGetStringi(GL_EXTENSIONS, index); + size_t len = strlen(gl_str_tmp) + 1; + + char *local_str = (char*) malloc(len * sizeof(char)); + if(local_str == NULL) { + exts_i[index] = NULL; + glad_gl_free_extensions(exts_i); + return 0; + } + + memcpy(local_str, gl_str_tmp, len * sizeof(char)); + exts_i[index] = local_str; + } + exts_i[index] = NULL; + + *out_exts_i = exts_i; + + return 1; + } +#else + GLAD_UNUSED(out_exts_i); +#endif + if (glad_glGetString == NULL) { + return 0; + } + *out_exts = (const char *)glad_glGetString(GL_EXTENSIONS); + return 1; +} +static int glad_gl_has_extension(const char *exts, char **exts_i, const char *ext) { + if(exts_i) { + unsigned int index; + for(index = 0; exts_i[index]; index++) { + const char *e = exts_i[index]; + if(strcmp(e, ext) == 0) { + return 1; + } + } + } else { + const char *extensions; + const char *loc; + const char *terminator; + extensions = exts; + if(extensions == NULL || ext == NULL) { + return 0; + } + while(1) { + loc = strstr(extensions, ext); + if(loc == NULL) { + return 0; + } + terminator = loc + strlen(ext); + if((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return 1; + } + extensions = terminator; + } + } + return 0; +} + +static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name) { + return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name); +} + +static int glad_gl_find_extensions_gl(void) { + const char *exts = NULL; + char **exts_i = NULL; + if (!glad_gl_get_extensions(&exts, &exts_i)) return 0; + + GLAD_GL_AMD_draw_buffers_blend = glad_gl_has_extension(exts, exts_i, "GL_AMD_draw_buffers_blend"); + GLAD_GL_AMD_multi_draw_indirect = glad_gl_has_extension(exts, exts_i, "GL_AMD_multi_draw_indirect"); + GLAD_GL_APPLE_flush_buffer_range = glad_gl_has_extension(exts, exts_i, "GL_APPLE_flush_buffer_range"); + GLAD_GL_APPLE_vertex_array_object = glad_gl_has_extension(exts, exts_i, "GL_APPLE_vertex_array_object"); + GLAD_GL_ARB_ES2_compatibility = glad_gl_has_extension(exts, exts_i, "GL_ARB_ES2_compatibility"); + GLAD_GL_ARB_ES3_1_compatibility = glad_gl_has_extension(exts, exts_i, "GL_ARB_ES3_1_compatibility"); + GLAD_GL_ARB_base_instance = glad_gl_has_extension(exts, exts_i, "GL_ARB_base_instance"); + GLAD_GL_ARB_bindless_texture = glad_gl_has_extension(exts, exts_i, "GL_ARB_bindless_texture"); + GLAD_GL_ARB_blend_func_extended = glad_gl_has_extension(exts, exts_i, "GL_ARB_blend_func_extended"); + GLAD_GL_ARB_buffer_storage = glad_gl_has_extension(exts, exts_i, "GL_ARB_buffer_storage"); + GLAD_GL_ARB_clear_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_clear_buffer_object"); + GLAD_GL_ARB_clear_texture = glad_gl_has_extension(exts, exts_i, "GL_ARB_clear_texture"); + GLAD_GL_ARB_clip_control = glad_gl_has_extension(exts, exts_i, "GL_ARB_clip_control"); + GLAD_GL_ARB_color_buffer_float = glad_gl_has_extension(exts, exts_i, "GL_ARB_color_buffer_float"); + GLAD_GL_ARB_compute_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_compute_shader"); + GLAD_GL_ARB_copy_buffer = glad_gl_has_extension(exts, exts_i, "GL_ARB_copy_buffer"); + GLAD_GL_ARB_copy_image = glad_gl_has_extension(exts, exts_i, "GL_ARB_copy_image"); + GLAD_GL_ARB_debug_output = glad_gl_has_extension(exts, exts_i, "GL_ARB_debug_output"); + GLAD_GL_ARB_direct_state_access = glad_gl_has_extension(exts, exts_i, "GL_ARB_direct_state_access"); + GLAD_GL_ARB_draw_buffers = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_buffers"); + GLAD_GL_ARB_draw_buffers_blend = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_buffers_blend"); + GLAD_GL_ARB_draw_elements_base_vertex = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_elements_base_vertex"); + GLAD_GL_ARB_draw_indirect = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_indirect"); + GLAD_GL_ARB_draw_instanced = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_instanced"); + GLAD_GL_ARB_framebuffer_no_attachments = glad_gl_has_extension(exts, exts_i, "GL_ARB_framebuffer_no_attachments"); + GLAD_GL_ARB_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_framebuffer_object"); + GLAD_GL_ARB_geometry_shader4 = glad_gl_has_extension(exts, exts_i, "GL_ARB_geometry_shader4"); + GLAD_GL_ARB_get_program_binary = glad_gl_has_extension(exts, exts_i, "GL_ARB_get_program_binary"); + GLAD_GL_ARB_get_texture_sub_image = glad_gl_has_extension(exts, exts_i, "GL_ARB_get_texture_sub_image"); + GLAD_GL_ARB_gl_spirv = glad_gl_has_extension(exts, exts_i, "GL_ARB_gl_spirv"); + GLAD_GL_ARB_gpu_shader_fp64 = glad_gl_has_extension(exts, exts_i, "GL_ARB_gpu_shader_fp64"); + GLAD_GL_ARB_imaging = glad_gl_has_extension(exts, exts_i, "GL_ARB_imaging"); + GLAD_GL_ARB_indirect_parameters = glad_gl_has_extension(exts, exts_i, "GL_ARB_indirect_parameters"); + GLAD_GL_ARB_instanced_arrays = glad_gl_has_extension(exts, exts_i, "GL_ARB_instanced_arrays"); + GLAD_GL_ARB_internalformat_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_internalformat_query"); + GLAD_GL_ARB_internalformat_query2 = glad_gl_has_extension(exts, exts_i, "GL_ARB_internalformat_query2"); + GLAD_GL_ARB_invalidate_subdata = glad_gl_has_extension(exts, exts_i, "GL_ARB_invalidate_subdata"); + GLAD_GL_ARB_map_buffer_range = glad_gl_has_extension(exts, exts_i, "GL_ARB_map_buffer_range"); + GLAD_GL_ARB_multi_bind = glad_gl_has_extension(exts, exts_i, "GL_ARB_multi_bind"); + GLAD_GL_ARB_multi_draw_indirect = glad_gl_has_extension(exts, exts_i, "GL_ARB_multi_draw_indirect"); + GLAD_GL_ARB_multisample = glad_gl_has_extension(exts, exts_i, "GL_ARB_multisample"); + GLAD_GL_ARB_multitexture = glad_gl_has_extension(exts, exts_i, "GL_ARB_multitexture"); + GLAD_GL_ARB_occlusion_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_occlusion_query"); + GLAD_GL_ARB_point_parameters = glad_gl_has_extension(exts, exts_i, "GL_ARB_point_parameters"); + GLAD_GL_ARB_polygon_offset_clamp = glad_gl_has_extension(exts, exts_i, "GL_ARB_polygon_offset_clamp"); + GLAD_GL_ARB_program_interface_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_program_interface_query"); + GLAD_GL_ARB_provoking_vertex = glad_gl_has_extension(exts, exts_i, "GL_ARB_provoking_vertex"); + GLAD_GL_ARB_robustness = glad_gl_has_extension(exts, exts_i, "GL_ARB_robustness"); + GLAD_GL_ARB_sample_shading = glad_gl_has_extension(exts, exts_i, "GL_ARB_sample_shading"); + GLAD_GL_ARB_sampler_objects = glad_gl_has_extension(exts, exts_i, "GL_ARB_sampler_objects"); + GLAD_GL_ARB_separate_shader_objects = glad_gl_has_extension(exts, exts_i, "GL_ARB_separate_shader_objects"); + GLAD_GL_ARB_shader_atomic_counters = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_atomic_counters"); + GLAD_GL_ARB_shader_image_load_store = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_image_load_store"); + GLAD_GL_ARB_shader_objects = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_objects"); + GLAD_GL_ARB_shader_storage_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_storage_buffer_object"); + GLAD_GL_ARB_shader_subroutine = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_subroutine"); + GLAD_GL_ARB_sync = glad_gl_has_extension(exts, exts_i, "GL_ARB_sync"); + GLAD_GL_ARB_tessellation_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_tessellation_shader"); + GLAD_GL_ARB_texture_barrier = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_barrier"); + GLAD_GL_ARB_texture_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_buffer_object"); + GLAD_GL_ARB_texture_buffer_range = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_buffer_range"); + GLAD_GL_ARB_texture_compression = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_compression"); + GLAD_GL_ARB_texture_multisample = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_multisample"); + GLAD_GL_ARB_texture_storage = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_storage"); + GLAD_GL_ARB_texture_storage_multisample = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_storage_multisample"); + GLAD_GL_ARB_texture_view = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_view"); + GLAD_GL_ARB_timer_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_timer_query"); + GLAD_GL_ARB_transform_feedback2 = glad_gl_has_extension(exts, exts_i, "GL_ARB_transform_feedback2"); + GLAD_GL_ARB_transform_feedback3 = glad_gl_has_extension(exts, exts_i, "GL_ARB_transform_feedback3"); + GLAD_GL_ARB_transform_feedback_instanced = glad_gl_has_extension(exts, exts_i, "GL_ARB_transform_feedback_instanced"); + GLAD_GL_ARB_uniform_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_uniform_buffer_object"); + GLAD_GL_ARB_vertex_array_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_array_object"); + GLAD_GL_ARB_vertex_attrib_64bit = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_attrib_64bit"); + GLAD_GL_ARB_vertex_attrib_binding = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_attrib_binding"); + GLAD_GL_ARB_vertex_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_buffer_object"); + GLAD_GL_ARB_vertex_program = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_program"); + GLAD_GL_ARB_vertex_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_shader"); + GLAD_GL_ARB_vertex_type_2_10_10_10_rev = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_type_2_10_10_10_rev"); + GLAD_GL_ARB_viewport_array = glad_gl_has_extension(exts, exts_i, "GL_ARB_viewport_array"); + GLAD_GL_ATI_draw_buffers = glad_gl_has_extension(exts, exts_i, "GL_ATI_draw_buffers"); + GLAD_GL_ATI_separate_stencil = glad_gl_has_extension(exts, exts_i, "GL_ATI_separate_stencil"); + GLAD_GL_EXT_blend_color = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_color"); + GLAD_GL_EXT_blend_equation_separate = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_equation_separate"); + GLAD_GL_EXT_blend_func_separate = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_func_separate"); + GLAD_GL_EXT_blend_minmax = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_minmax"); + GLAD_GL_EXT_copy_texture = glad_gl_has_extension(exts, exts_i, "GL_EXT_copy_texture"); + GLAD_GL_EXT_direct_state_access = glad_gl_has_extension(exts, exts_i, "GL_EXT_direct_state_access"); + GLAD_GL_EXT_draw_buffers2 = glad_gl_has_extension(exts, exts_i, "GL_EXT_draw_buffers2"); + GLAD_GL_EXT_draw_instanced = glad_gl_has_extension(exts, exts_i, "GL_EXT_draw_instanced"); + GLAD_GL_EXT_draw_range_elements = glad_gl_has_extension(exts, exts_i, "GL_EXT_draw_range_elements"); + GLAD_GL_EXT_framebuffer_blit = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_blit"); + GLAD_GL_EXT_framebuffer_multisample = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_multisample"); + GLAD_GL_EXT_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_object"); + GLAD_GL_EXT_geometry_shader4 = glad_gl_has_extension(exts, exts_i, "GL_EXT_geometry_shader4"); + GLAD_GL_EXT_gpu_shader4 = glad_gl_has_extension(exts, exts_i, "GL_EXT_gpu_shader4"); + GLAD_GL_EXT_multi_draw_arrays = glad_gl_has_extension(exts, exts_i, "GL_EXT_multi_draw_arrays"); + GLAD_GL_EXT_point_parameters = glad_gl_has_extension(exts, exts_i, "GL_EXT_point_parameters"); + GLAD_GL_EXT_polygon_offset_clamp = glad_gl_has_extension(exts, exts_i, "GL_EXT_polygon_offset_clamp"); + GLAD_GL_EXT_provoking_vertex = glad_gl_has_extension(exts, exts_i, "GL_EXT_provoking_vertex"); + GLAD_GL_EXT_shader_image_load_store = glad_gl_has_extension(exts, exts_i, "GL_EXT_shader_image_load_store"); + GLAD_GL_EXT_subtexture = glad_gl_has_extension(exts, exts_i, "GL_EXT_subtexture"); + GLAD_GL_EXT_texture3D = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture3D"); + GLAD_GL_EXT_texture_array = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_array"); + GLAD_GL_EXT_texture_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_buffer_object"); + GLAD_GL_EXT_texture_integer = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_integer"); + GLAD_GL_EXT_texture_object = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_object"); + GLAD_GL_EXT_texture_storage = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_storage"); + GLAD_GL_EXT_timer_query = glad_gl_has_extension(exts, exts_i, "GL_EXT_timer_query"); + GLAD_GL_EXT_transform_feedback = glad_gl_has_extension(exts, exts_i, "GL_EXT_transform_feedback"); + GLAD_GL_EXT_vertex_array = glad_gl_has_extension(exts, exts_i, "GL_EXT_vertex_array"); + GLAD_GL_EXT_vertex_attrib_64bit = glad_gl_has_extension(exts, exts_i, "GL_EXT_vertex_attrib_64bit"); + GLAD_GL_INGR_blend_func_separate = glad_gl_has_extension(exts, exts_i, "GL_INGR_blend_func_separate"); + GLAD_GL_KHR_debug = glad_gl_has_extension(exts, exts_i, "GL_KHR_debug"); + GLAD_GL_KHR_robustness = glad_gl_has_extension(exts, exts_i, "GL_KHR_robustness"); + GLAD_GL_NVX_conditional_render = glad_gl_has_extension(exts, exts_i, "GL_NVX_conditional_render"); + GLAD_GL_NV_bindless_multi_draw_indirect = glad_gl_has_extension(exts, exts_i, "GL_NV_bindless_multi_draw_indirect"); + GLAD_GL_NV_bindless_multi_draw_indirect_count = glad_gl_has_extension(exts, exts_i, "GL_NV_bindless_multi_draw_indirect_count"); + GLAD_GL_NV_bindless_texture = glad_gl_has_extension(exts, exts_i, "GL_NV_bindless_texture"); + GLAD_GL_NV_conditional_render = glad_gl_has_extension(exts, exts_i, "GL_NV_conditional_render"); + GLAD_GL_NV_explicit_multisample = glad_gl_has_extension(exts, exts_i, "GL_NV_explicit_multisample"); + GLAD_GL_NV_geometry_program4 = glad_gl_has_extension(exts, exts_i, "GL_NV_geometry_program4"); + GLAD_GL_NV_point_sprite = glad_gl_has_extension(exts, exts_i, "GL_NV_point_sprite"); + GLAD_GL_NV_transform_feedback = glad_gl_has_extension(exts, exts_i, "GL_NV_transform_feedback"); + GLAD_GL_NV_transform_feedback2 = glad_gl_has_extension(exts, exts_i, "GL_NV_transform_feedback2"); + GLAD_GL_NV_vertex_program = glad_gl_has_extension(exts, exts_i, "GL_NV_vertex_program"); + GLAD_GL_NV_vertex_program4 = glad_gl_has_extension(exts, exts_i, "GL_NV_vertex_program4"); + GLAD_GL_OES_single_precision = glad_gl_has_extension(exts, exts_i, "GL_OES_single_precision"); + GLAD_GL_SGIS_point_parameters = glad_gl_has_extension(exts, exts_i, "GL_SGIS_point_parameters"); + + glad_gl_free_extensions(exts_i); + + return 1; +} + +static int glad_gl_find_core_gl(void) { + int i; + const char* version; + const char* prefixes[] = { + "OpenGL ES-CM ", + "OpenGL ES-CL ", + "OpenGL ES ", + "OpenGL SC ", + NULL + }; + int major = 0; + int minor = 0; + version = (const char*) glad_glGetString(GL_VERSION); + if (!version) return 0; + for (i = 0; prefixes[i]; i++) { + const size_t length = strlen(prefixes[i]); + if (strncmp(version, prefixes[i], length) == 0) { + version += length; + break; + } + } + + GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor); + + GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; + GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; + GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; + GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; + GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; + GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; + GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; + GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4; + GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4; + GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4; + GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4; + GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4; + GLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4; + GLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4; + + return GLAD_MAKE_VERSION(major, minor); +} + +int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr) { + int version; + + glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString"); + if(glad_glGetString == NULL) return 0; + version = glad_gl_find_core_gl(); + + glad_gl_load_GL_VERSION_1_0(load, userptr); + glad_gl_load_GL_VERSION_1_1(load, userptr); + glad_gl_load_GL_VERSION_1_2(load, userptr); + glad_gl_load_GL_VERSION_1_3(load, userptr); + glad_gl_load_GL_VERSION_1_4(load, userptr); + glad_gl_load_GL_VERSION_1_5(load, userptr); + glad_gl_load_GL_VERSION_2_0(load, userptr); + glad_gl_load_GL_VERSION_2_1(load, userptr); + glad_gl_load_GL_VERSION_3_0(load, userptr); + glad_gl_load_GL_VERSION_3_1(load, userptr); + glad_gl_load_GL_VERSION_3_2(load, userptr); + glad_gl_load_GL_VERSION_3_3(load, userptr); + glad_gl_load_GL_VERSION_4_0(load, userptr); + glad_gl_load_GL_VERSION_4_1(load, userptr); + glad_gl_load_GL_VERSION_4_2(load, userptr); + glad_gl_load_GL_VERSION_4_3(load, userptr); + glad_gl_load_GL_VERSION_4_4(load, userptr); + glad_gl_load_GL_VERSION_4_5(load, userptr); + glad_gl_load_GL_VERSION_4_6(load, userptr); + + if (!glad_gl_find_extensions_gl()) return 0; + glad_gl_load_GL_AMD_draw_buffers_blend(load, userptr); + glad_gl_load_GL_AMD_multi_draw_indirect(load, userptr); + glad_gl_load_GL_APPLE_flush_buffer_range(load, userptr); + glad_gl_load_GL_APPLE_vertex_array_object(load, userptr); + glad_gl_load_GL_ARB_ES2_compatibility(load, userptr); + glad_gl_load_GL_ARB_ES3_1_compatibility(load, userptr); + glad_gl_load_GL_ARB_base_instance(load, userptr); + glad_gl_load_GL_ARB_bindless_texture(load, userptr); + glad_gl_load_GL_ARB_blend_func_extended(load, userptr); + glad_gl_load_GL_ARB_buffer_storage(load, userptr); + glad_gl_load_GL_ARB_clear_buffer_object(load, userptr); + glad_gl_load_GL_ARB_clear_texture(load, userptr); + glad_gl_load_GL_ARB_clip_control(load, userptr); + glad_gl_load_GL_ARB_color_buffer_float(load, userptr); + glad_gl_load_GL_ARB_compute_shader(load, userptr); + glad_gl_load_GL_ARB_copy_buffer(load, userptr); + glad_gl_load_GL_ARB_copy_image(load, userptr); + glad_gl_load_GL_ARB_debug_output(load, userptr); + glad_gl_load_GL_ARB_direct_state_access(load, userptr); + glad_gl_load_GL_ARB_draw_buffers(load, userptr); + glad_gl_load_GL_ARB_draw_buffers_blend(load, userptr); + glad_gl_load_GL_ARB_draw_elements_base_vertex(load, userptr); + glad_gl_load_GL_ARB_draw_indirect(load, userptr); + glad_gl_load_GL_ARB_draw_instanced(load, userptr); + glad_gl_load_GL_ARB_framebuffer_no_attachments(load, userptr); + glad_gl_load_GL_ARB_framebuffer_object(load, userptr); + glad_gl_load_GL_ARB_geometry_shader4(load, userptr); + glad_gl_load_GL_ARB_get_program_binary(load, userptr); + glad_gl_load_GL_ARB_get_texture_sub_image(load, userptr); + glad_gl_load_GL_ARB_gl_spirv(load, userptr); + glad_gl_load_GL_ARB_gpu_shader_fp64(load, userptr); + glad_gl_load_GL_ARB_imaging(load, userptr); + glad_gl_load_GL_ARB_indirect_parameters(load, userptr); + glad_gl_load_GL_ARB_instanced_arrays(load, userptr); + glad_gl_load_GL_ARB_internalformat_query(load, userptr); + glad_gl_load_GL_ARB_internalformat_query2(load, userptr); + glad_gl_load_GL_ARB_invalidate_subdata(load, userptr); + glad_gl_load_GL_ARB_map_buffer_range(load, userptr); + glad_gl_load_GL_ARB_multi_bind(load, userptr); + glad_gl_load_GL_ARB_multi_draw_indirect(load, userptr); + glad_gl_load_GL_ARB_multisample(load, userptr); + glad_gl_load_GL_ARB_multitexture(load, userptr); + glad_gl_load_GL_ARB_occlusion_query(load, userptr); + glad_gl_load_GL_ARB_point_parameters(load, userptr); + glad_gl_load_GL_ARB_polygon_offset_clamp(load, userptr); + glad_gl_load_GL_ARB_program_interface_query(load, userptr); + glad_gl_load_GL_ARB_provoking_vertex(load, userptr); + glad_gl_load_GL_ARB_robustness(load, userptr); + glad_gl_load_GL_ARB_sample_shading(load, userptr); + glad_gl_load_GL_ARB_sampler_objects(load, userptr); + glad_gl_load_GL_ARB_separate_shader_objects(load, userptr); + glad_gl_load_GL_ARB_shader_atomic_counters(load, userptr); + glad_gl_load_GL_ARB_shader_image_load_store(load, userptr); + glad_gl_load_GL_ARB_shader_objects(load, userptr); + glad_gl_load_GL_ARB_shader_storage_buffer_object(load, userptr); + glad_gl_load_GL_ARB_shader_subroutine(load, userptr); + glad_gl_load_GL_ARB_sync(load, userptr); + glad_gl_load_GL_ARB_tessellation_shader(load, userptr); + glad_gl_load_GL_ARB_texture_barrier(load, userptr); + glad_gl_load_GL_ARB_texture_buffer_object(load, userptr); + glad_gl_load_GL_ARB_texture_buffer_range(load, userptr); + glad_gl_load_GL_ARB_texture_compression(load, userptr); + glad_gl_load_GL_ARB_texture_multisample(load, userptr); + glad_gl_load_GL_ARB_texture_storage(load, userptr); + glad_gl_load_GL_ARB_texture_storage_multisample(load, userptr); + glad_gl_load_GL_ARB_texture_view(load, userptr); + glad_gl_load_GL_ARB_timer_query(load, userptr); + glad_gl_load_GL_ARB_transform_feedback2(load, userptr); + glad_gl_load_GL_ARB_transform_feedback3(load, userptr); + glad_gl_load_GL_ARB_transform_feedback_instanced(load, userptr); + glad_gl_load_GL_ARB_uniform_buffer_object(load, userptr); + glad_gl_load_GL_ARB_vertex_array_object(load, userptr); + glad_gl_load_GL_ARB_vertex_attrib_64bit(load, userptr); + glad_gl_load_GL_ARB_vertex_attrib_binding(load, userptr); + glad_gl_load_GL_ARB_vertex_buffer_object(load, userptr); + glad_gl_load_GL_ARB_vertex_program(load, userptr); + glad_gl_load_GL_ARB_vertex_shader(load, userptr); + glad_gl_load_GL_ARB_vertex_type_2_10_10_10_rev(load, userptr); + glad_gl_load_GL_ARB_viewport_array(load, userptr); + glad_gl_load_GL_ATI_draw_buffers(load, userptr); + glad_gl_load_GL_ATI_separate_stencil(load, userptr); + glad_gl_load_GL_EXT_blend_color(load, userptr); + glad_gl_load_GL_EXT_blend_equation_separate(load, userptr); + glad_gl_load_GL_EXT_blend_func_separate(load, userptr); + glad_gl_load_GL_EXT_blend_minmax(load, userptr); + glad_gl_load_GL_EXT_copy_texture(load, userptr); + glad_gl_load_GL_EXT_direct_state_access(load, userptr); + glad_gl_load_GL_EXT_draw_buffers2(load, userptr); + glad_gl_load_GL_EXT_draw_instanced(load, userptr); + glad_gl_load_GL_EXT_draw_range_elements(load, userptr); + glad_gl_load_GL_EXT_framebuffer_blit(load, userptr); + glad_gl_load_GL_EXT_framebuffer_multisample(load, userptr); + glad_gl_load_GL_EXT_framebuffer_object(load, userptr); + glad_gl_load_GL_EXT_geometry_shader4(load, userptr); + glad_gl_load_GL_EXT_gpu_shader4(load, userptr); + glad_gl_load_GL_EXT_multi_draw_arrays(load, userptr); + glad_gl_load_GL_EXT_point_parameters(load, userptr); + glad_gl_load_GL_EXT_polygon_offset_clamp(load, userptr); + glad_gl_load_GL_EXT_provoking_vertex(load, userptr); + glad_gl_load_GL_EXT_shader_image_load_store(load, userptr); + glad_gl_load_GL_EXT_subtexture(load, userptr); + glad_gl_load_GL_EXT_texture3D(load, userptr); + glad_gl_load_GL_EXT_texture_array(load, userptr); + glad_gl_load_GL_EXT_texture_buffer_object(load, userptr); + glad_gl_load_GL_EXT_texture_integer(load, userptr); + glad_gl_load_GL_EXT_texture_object(load, userptr); + glad_gl_load_GL_EXT_texture_storage(load, userptr); + glad_gl_load_GL_EXT_timer_query(load, userptr); + glad_gl_load_GL_EXT_transform_feedback(load, userptr); + glad_gl_load_GL_EXT_vertex_array(load, userptr); + glad_gl_load_GL_EXT_vertex_attrib_64bit(load, userptr); + glad_gl_load_GL_INGR_blend_func_separate(load, userptr); + glad_gl_load_GL_KHR_debug(load, userptr); + glad_gl_load_GL_KHR_robustness(load, userptr); + glad_gl_load_GL_NVX_conditional_render(load, userptr); + glad_gl_load_GL_NV_bindless_multi_draw_indirect(load, userptr); + glad_gl_load_GL_NV_bindless_multi_draw_indirect_count(load, userptr); + glad_gl_load_GL_NV_bindless_texture(load, userptr); + glad_gl_load_GL_NV_conditional_render(load, userptr); + glad_gl_load_GL_NV_explicit_multisample(load, userptr); + glad_gl_load_GL_NV_geometry_program4(load, userptr); + glad_gl_load_GL_NV_point_sprite(load, userptr); + glad_gl_load_GL_NV_transform_feedback(load, userptr); + glad_gl_load_GL_NV_transform_feedback2(load, userptr); + glad_gl_load_GL_NV_vertex_program(load, userptr); + glad_gl_load_GL_NV_vertex_program4(load, userptr); + glad_gl_load_GL_OES_single_precision(load, userptr); + glad_gl_load_GL_SGIS_point_parameters(load, userptr); + + + glad_gl_resolve_aliases(); + + return version; +} + + +int gladLoadGL( GLADloadfunc load) { + return gladLoadGLUserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load); +} + + + + +void gladInstallGLDebug(void) { + glad_debug_glActiveShaderProgram = glad_debug_impl_glActiveShaderProgram; + glad_debug_glActiveTexture = glad_debug_impl_glActiveTexture; + glad_debug_glActiveTextureARB = glad_debug_impl_glActiveTextureARB; + glad_debug_glActiveVaryingNV = glad_debug_impl_glActiveVaryingNV; + glad_debug_glAreProgramsResidentNV = glad_debug_impl_glAreProgramsResidentNV; + glad_debug_glAreTexturesResidentEXT = glad_debug_impl_glAreTexturesResidentEXT; + glad_debug_glArrayElementEXT = glad_debug_impl_glArrayElementEXT; + glad_debug_glAttachObjectARB = glad_debug_impl_glAttachObjectARB; + glad_debug_glAttachShader = glad_debug_impl_glAttachShader; + glad_debug_glBeginConditionalRender = glad_debug_impl_glBeginConditionalRender; + glad_debug_glBeginConditionalRenderNV = glad_debug_impl_glBeginConditionalRenderNV; + glad_debug_glBeginConditionalRenderNVX = glad_debug_impl_glBeginConditionalRenderNVX; + glad_debug_glBeginQuery = glad_debug_impl_glBeginQuery; + glad_debug_glBeginQueryARB = glad_debug_impl_glBeginQueryARB; + glad_debug_glBeginQueryIndexed = glad_debug_impl_glBeginQueryIndexed; + glad_debug_glBeginTransformFeedback = glad_debug_impl_glBeginTransformFeedback; + glad_debug_glBeginTransformFeedbackEXT = glad_debug_impl_glBeginTransformFeedbackEXT; + glad_debug_glBeginTransformFeedbackNV = glad_debug_impl_glBeginTransformFeedbackNV; + glad_debug_glBindAttribLocation = glad_debug_impl_glBindAttribLocation; + glad_debug_glBindAttribLocationARB = glad_debug_impl_glBindAttribLocationARB; + glad_debug_glBindBuffer = glad_debug_impl_glBindBuffer; + glad_debug_glBindBufferARB = glad_debug_impl_glBindBufferARB; + glad_debug_glBindBufferBase = glad_debug_impl_glBindBufferBase; + glad_debug_glBindBufferBaseEXT = glad_debug_impl_glBindBufferBaseEXT; + glad_debug_glBindBufferBaseNV = glad_debug_impl_glBindBufferBaseNV; + glad_debug_glBindBufferOffsetEXT = glad_debug_impl_glBindBufferOffsetEXT; + glad_debug_glBindBufferOffsetNV = glad_debug_impl_glBindBufferOffsetNV; + glad_debug_glBindBufferRange = glad_debug_impl_glBindBufferRange; + glad_debug_glBindBufferRangeEXT = glad_debug_impl_glBindBufferRangeEXT; + glad_debug_glBindBufferRangeNV = glad_debug_impl_glBindBufferRangeNV; + glad_debug_glBindBuffersBase = glad_debug_impl_glBindBuffersBase; + glad_debug_glBindBuffersRange = glad_debug_impl_glBindBuffersRange; + glad_debug_glBindFragDataLocation = glad_debug_impl_glBindFragDataLocation; + glad_debug_glBindFragDataLocationEXT = glad_debug_impl_glBindFragDataLocationEXT; + glad_debug_glBindFragDataLocationIndexed = glad_debug_impl_glBindFragDataLocationIndexed; + glad_debug_glBindFramebuffer = glad_debug_impl_glBindFramebuffer; + glad_debug_glBindFramebufferEXT = glad_debug_impl_glBindFramebufferEXT; + glad_debug_glBindImageTexture = glad_debug_impl_glBindImageTexture; + glad_debug_glBindImageTextureEXT = glad_debug_impl_glBindImageTextureEXT; + glad_debug_glBindImageTextures = glad_debug_impl_glBindImageTextures; + glad_debug_glBindMultiTextureEXT = glad_debug_impl_glBindMultiTextureEXT; + glad_debug_glBindProgramARB = glad_debug_impl_glBindProgramARB; + glad_debug_glBindProgramNV = glad_debug_impl_glBindProgramNV; + glad_debug_glBindProgramPipeline = glad_debug_impl_glBindProgramPipeline; + glad_debug_glBindRenderbuffer = glad_debug_impl_glBindRenderbuffer; + glad_debug_glBindRenderbufferEXT = glad_debug_impl_glBindRenderbufferEXT; + glad_debug_glBindSampler = glad_debug_impl_glBindSampler; + glad_debug_glBindSamplers = glad_debug_impl_glBindSamplers; + glad_debug_glBindTexture = glad_debug_impl_glBindTexture; + glad_debug_glBindTextureEXT = glad_debug_impl_glBindTextureEXT; + glad_debug_glBindTextureUnit = glad_debug_impl_glBindTextureUnit; + glad_debug_glBindTextures = glad_debug_impl_glBindTextures; + glad_debug_glBindTransformFeedback = glad_debug_impl_glBindTransformFeedback; + glad_debug_glBindTransformFeedbackNV = glad_debug_impl_glBindTransformFeedbackNV; + glad_debug_glBindVertexArray = glad_debug_impl_glBindVertexArray; + glad_debug_glBindVertexArrayAPPLE = glad_debug_impl_glBindVertexArrayAPPLE; + glad_debug_glBindVertexBuffer = glad_debug_impl_glBindVertexBuffer; + glad_debug_glBindVertexBuffers = glad_debug_impl_glBindVertexBuffers; + glad_debug_glBlendColor = glad_debug_impl_glBlendColor; + glad_debug_glBlendColorEXT = glad_debug_impl_glBlendColorEXT; + glad_debug_glBlendEquation = glad_debug_impl_glBlendEquation; + glad_debug_glBlendEquationEXT = glad_debug_impl_glBlendEquationEXT; + glad_debug_glBlendEquationIndexedAMD = glad_debug_impl_glBlendEquationIndexedAMD; + glad_debug_glBlendEquationSeparate = glad_debug_impl_glBlendEquationSeparate; + glad_debug_glBlendEquationSeparateEXT = glad_debug_impl_glBlendEquationSeparateEXT; + glad_debug_glBlendEquationSeparateIndexedAMD = glad_debug_impl_glBlendEquationSeparateIndexedAMD; + glad_debug_glBlendEquationSeparatei = glad_debug_impl_glBlendEquationSeparatei; + glad_debug_glBlendEquationSeparateiARB = glad_debug_impl_glBlendEquationSeparateiARB; + glad_debug_glBlendEquationi = glad_debug_impl_glBlendEquationi; + glad_debug_glBlendEquationiARB = glad_debug_impl_glBlendEquationiARB; + glad_debug_glBlendFunc = glad_debug_impl_glBlendFunc; + glad_debug_glBlendFuncIndexedAMD = glad_debug_impl_glBlendFuncIndexedAMD; + glad_debug_glBlendFuncSeparate = glad_debug_impl_glBlendFuncSeparate; + glad_debug_glBlendFuncSeparateEXT = glad_debug_impl_glBlendFuncSeparateEXT; + glad_debug_glBlendFuncSeparateINGR = glad_debug_impl_glBlendFuncSeparateINGR; + glad_debug_glBlendFuncSeparateIndexedAMD = glad_debug_impl_glBlendFuncSeparateIndexedAMD; + glad_debug_glBlendFuncSeparatei = glad_debug_impl_glBlendFuncSeparatei; + glad_debug_glBlendFuncSeparateiARB = glad_debug_impl_glBlendFuncSeparateiARB; + glad_debug_glBlendFunci = glad_debug_impl_glBlendFunci; + glad_debug_glBlendFunciARB = glad_debug_impl_glBlendFunciARB; + glad_debug_glBlitFramebuffer = glad_debug_impl_glBlitFramebuffer; + glad_debug_glBlitFramebufferEXT = glad_debug_impl_glBlitFramebufferEXT; + glad_debug_glBlitNamedFramebuffer = glad_debug_impl_glBlitNamedFramebuffer; + glad_debug_glBufferData = glad_debug_impl_glBufferData; + glad_debug_glBufferDataARB = glad_debug_impl_glBufferDataARB; + glad_debug_glBufferParameteriAPPLE = glad_debug_impl_glBufferParameteriAPPLE; + glad_debug_glBufferStorage = glad_debug_impl_glBufferStorage; + glad_debug_glBufferSubData = glad_debug_impl_glBufferSubData; + glad_debug_glBufferSubDataARB = glad_debug_impl_glBufferSubDataARB; + glad_debug_glCheckFramebufferStatus = glad_debug_impl_glCheckFramebufferStatus; + glad_debug_glCheckFramebufferStatusEXT = glad_debug_impl_glCheckFramebufferStatusEXT; + glad_debug_glCheckNamedFramebufferStatus = glad_debug_impl_glCheckNamedFramebufferStatus; + glad_debug_glCheckNamedFramebufferStatusEXT = glad_debug_impl_glCheckNamedFramebufferStatusEXT; + glad_debug_glClampColor = glad_debug_impl_glClampColor; + glad_debug_glClampColorARB = glad_debug_impl_glClampColorARB; + glad_debug_glClear = glad_debug_impl_glClear; + glad_debug_glClearBufferData = glad_debug_impl_glClearBufferData; + glad_debug_glClearBufferSubData = glad_debug_impl_glClearBufferSubData; + glad_debug_glClearBufferfi = glad_debug_impl_glClearBufferfi; + glad_debug_glClearBufferfv = glad_debug_impl_glClearBufferfv; + glad_debug_glClearBufferiv = glad_debug_impl_glClearBufferiv; + glad_debug_glClearBufferuiv = glad_debug_impl_glClearBufferuiv; + glad_debug_glClearColor = glad_debug_impl_glClearColor; + glad_debug_glClearColorIiEXT = glad_debug_impl_glClearColorIiEXT; + glad_debug_glClearColorIuiEXT = glad_debug_impl_glClearColorIuiEXT; + glad_debug_glClearDepth = glad_debug_impl_glClearDepth; + glad_debug_glClearDepthf = glad_debug_impl_glClearDepthf; + glad_debug_glClearDepthfOES = glad_debug_impl_glClearDepthfOES; + glad_debug_glClearNamedBufferData = glad_debug_impl_glClearNamedBufferData; + glad_debug_glClearNamedBufferDataEXT = glad_debug_impl_glClearNamedBufferDataEXT; + glad_debug_glClearNamedBufferSubData = glad_debug_impl_glClearNamedBufferSubData; + glad_debug_glClearNamedBufferSubDataEXT = glad_debug_impl_glClearNamedBufferSubDataEXT; + glad_debug_glClearNamedFramebufferfi = glad_debug_impl_glClearNamedFramebufferfi; + glad_debug_glClearNamedFramebufferfv = glad_debug_impl_glClearNamedFramebufferfv; + glad_debug_glClearNamedFramebufferiv = glad_debug_impl_glClearNamedFramebufferiv; + glad_debug_glClearNamedFramebufferuiv = glad_debug_impl_glClearNamedFramebufferuiv; + glad_debug_glClearStencil = glad_debug_impl_glClearStencil; + glad_debug_glClearTexImage = glad_debug_impl_glClearTexImage; + glad_debug_glClearTexSubImage = glad_debug_impl_glClearTexSubImage; + glad_debug_glClientActiveTextureARB = glad_debug_impl_glClientActiveTextureARB; + glad_debug_glClientAttribDefaultEXT = glad_debug_impl_glClientAttribDefaultEXT; + glad_debug_glClientWaitSync = glad_debug_impl_glClientWaitSync; + glad_debug_glClipControl = glad_debug_impl_glClipControl; + glad_debug_glClipPlanefOES = glad_debug_impl_glClipPlanefOES; + glad_debug_glColorMask = glad_debug_impl_glColorMask; + glad_debug_glColorMaskIndexedEXT = glad_debug_impl_glColorMaskIndexedEXT; + glad_debug_glColorMaski = glad_debug_impl_glColorMaski; + glad_debug_glColorPointerEXT = glad_debug_impl_glColorPointerEXT; + glad_debug_glCompileShader = glad_debug_impl_glCompileShader; + glad_debug_glCompileShaderARB = glad_debug_impl_glCompileShaderARB; + glad_debug_glCompressedMultiTexImage1DEXT = glad_debug_impl_glCompressedMultiTexImage1DEXT; + glad_debug_glCompressedMultiTexImage2DEXT = glad_debug_impl_glCompressedMultiTexImage2DEXT; + glad_debug_glCompressedMultiTexImage3DEXT = glad_debug_impl_glCompressedMultiTexImage3DEXT; + glad_debug_glCompressedMultiTexSubImage1DEXT = glad_debug_impl_glCompressedMultiTexSubImage1DEXT; + glad_debug_glCompressedMultiTexSubImage2DEXT = glad_debug_impl_glCompressedMultiTexSubImage2DEXT; + glad_debug_glCompressedMultiTexSubImage3DEXT = glad_debug_impl_glCompressedMultiTexSubImage3DEXT; + glad_debug_glCompressedTexImage1D = glad_debug_impl_glCompressedTexImage1D; + glad_debug_glCompressedTexImage1DARB = glad_debug_impl_glCompressedTexImage1DARB; + glad_debug_glCompressedTexImage2D = glad_debug_impl_glCompressedTexImage2D; + glad_debug_glCompressedTexImage2DARB = glad_debug_impl_glCompressedTexImage2DARB; + glad_debug_glCompressedTexImage3D = glad_debug_impl_glCompressedTexImage3D; + glad_debug_glCompressedTexImage3DARB = glad_debug_impl_glCompressedTexImage3DARB; + glad_debug_glCompressedTexSubImage1D = glad_debug_impl_glCompressedTexSubImage1D; + glad_debug_glCompressedTexSubImage1DARB = glad_debug_impl_glCompressedTexSubImage1DARB; + glad_debug_glCompressedTexSubImage2D = glad_debug_impl_glCompressedTexSubImage2D; + glad_debug_glCompressedTexSubImage2DARB = glad_debug_impl_glCompressedTexSubImage2DARB; + glad_debug_glCompressedTexSubImage3D = glad_debug_impl_glCompressedTexSubImage3D; + glad_debug_glCompressedTexSubImage3DARB = glad_debug_impl_glCompressedTexSubImage3DARB; + glad_debug_glCompressedTextureImage1DEXT = glad_debug_impl_glCompressedTextureImage1DEXT; + glad_debug_glCompressedTextureImage2DEXT = glad_debug_impl_glCompressedTextureImage2DEXT; + glad_debug_glCompressedTextureImage3DEXT = glad_debug_impl_glCompressedTextureImage3DEXT; + glad_debug_glCompressedTextureSubImage1D = glad_debug_impl_glCompressedTextureSubImage1D; + glad_debug_glCompressedTextureSubImage1DEXT = glad_debug_impl_glCompressedTextureSubImage1DEXT; + glad_debug_glCompressedTextureSubImage2D = glad_debug_impl_glCompressedTextureSubImage2D; + glad_debug_glCompressedTextureSubImage2DEXT = glad_debug_impl_glCompressedTextureSubImage2DEXT; + glad_debug_glCompressedTextureSubImage3D = glad_debug_impl_glCompressedTextureSubImage3D; + glad_debug_glCompressedTextureSubImage3DEXT = glad_debug_impl_glCompressedTextureSubImage3DEXT; + glad_debug_glCopyBufferSubData = glad_debug_impl_glCopyBufferSubData; + glad_debug_glCopyImageSubData = glad_debug_impl_glCopyImageSubData; + glad_debug_glCopyMultiTexImage1DEXT = glad_debug_impl_glCopyMultiTexImage1DEXT; + glad_debug_glCopyMultiTexImage2DEXT = glad_debug_impl_glCopyMultiTexImage2DEXT; + glad_debug_glCopyMultiTexSubImage1DEXT = glad_debug_impl_glCopyMultiTexSubImage1DEXT; + glad_debug_glCopyMultiTexSubImage2DEXT = glad_debug_impl_glCopyMultiTexSubImage2DEXT; + glad_debug_glCopyMultiTexSubImage3DEXT = glad_debug_impl_glCopyMultiTexSubImage3DEXT; + glad_debug_glCopyNamedBufferSubData = glad_debug_impl_glCopyNamedBufferSubData; + glad_debug_glCopyTexImage1D = glad_debug_impl_glCopyTexImage1D; + glad_debug_glCopyTexImage1DEXT = glad_debug_impl_glCopyTexImage1DEXT; + glad_debug_glCopyTexImage2D = glad_debug_impl_glCopyTexImage2D; + glad_debug_glCopyTexImage2DEXT = glad_debug_impl_glCopyTexImage2DEXT; + glad_debug_glCopyTexSubImage1D = glad_debug_impl_glCopyTexSubImage1D; + glad_debug_glCopyTexSubImage1DEXT = glad_debug_impl_glCopyTexSubImage1DEXT; + glad_debug_glCopyTexSubImage2D = glad_debug_impl_glCopyTexSubImage2D; + glad_debug_glCopyTexSubImage2DEXT = glad_debug_impl_glCopyTexSubImage2DEXT; + glad_debug_glCopyTexSubImage3D = glad_debug_impl_glCopyTexSubImage3D; + glad_debug_glCopyTexSubImage3DEXT = glad_debug_impl_glCopyTexSubImage3DEXT; + glad_debug_glCopyTextureImage1DEXT = glad_debug_impl_glCopyTextureImage1DEXT; + glad_debug_glCopyTextureImage2DEXT = glad_debug_impl_glCopyTextureImage2DEXT; + glad_debug_glCopyTextureSubImage1D = glad_debug_impl_glCopyTextureSubImage1D; + glad_debug_glCopyTextureSubImage1DEXT = glad_debug_impl_glCopyTextureSubImage1DEXT; + glad_debug_glCopyTextureSubImage2D = glad_debug_impl_glCopyTextureSubImage2D; + glad_debug_glCopyTextureSubImage2DEXT = glad_debug_impl_glCopyTextureSubImage2DEXT; + glad_debug_glCopyTextureSubImage3D = glad_debug_impl_glCopyTextureSubImage3D; + glad_debug_glCopyTextureSubImage3DEXT = glad_debug_impl_glCopyTextureSubImage3DEXT; + glad_debug_glCreateBuffers = glad_debug_impl_glCreateBuffers; + glad_debug_glCreateFramebuffers = glad_debug_impl_glCreateFramebuffers; + glad_debug_glCreateProgram = glad_debug_impl_glCreateProgram; + glad_debug_glCreateProgramObjectARB = glad_debug_impl_glCreateProgramObjectARB; + glad_debug_glCreateProgramPipelines = glad_debug_impl_glCreateProgramPipelines; + glad_debug_glCreateQueries = glad_debug_impl_glCreateQueries; + glad_debug_glCreateRenderbuffers = glad_debug_impl_glCreateRenderbuffers; + glad_debug_glCreateSamplers = glad_debug_impl_glCreateSamplers; + glad_debug_glCreateShader = glad_debug_impl_glCreateShader; + glad_debug_glCreateShaderObjectARB = glad_debug_impl_glCreateShaderObjectARB; + glad_debug_glCreateShaderProgramv = glad_debug_impl_glCreateShaderProgramv; + glad_debug_glCreateTextures = glad_debug_impl_glCreateTextures; + glad_debug_glCreateTransformFeedbacks = glad_debug_impl_glCreateTransformFeedbacks; + glad_debug_glCreateVertexArrays = glad_debug_impl_glCreateVertexArrays; + glad_debug_glCullFace = glad_debug_impl_glCullFace; + glad_debug_glDebugMessageCallback = glad_debug_impl_glDebugMessageCallback; + glad_debug_glDebugMessageCallbackARB = glad_debug_impl_glDebugMessageCallbackARB; + glad_debug_glDebugMessageControl = glad_debug_impl_glDebugMessageControl; + glad_debug_glDebugMessageControlARB = glad_debug_impl_glDebugMessageControlARB; + glad_debug_glDebugMessageInsert = glad_debug_impl_glDebugMessageInsert; + glad_debug_glDebugMessageInsertARB = glad_debug_impl_glDebugMessageInsertARB; + glad_debug_glDeleteBuffers = glad_debug_impl_glDeleteBuffers; + glad_debug_glDeleteBuffersARB = glad_debug_impl_glDeleteBuffersARB; + glad_debug_glDeleteFramebuffers = glad_debug_impl_glDeleteFramebuffers; + glad_debug_glDeleteFramebuffersEXT = glad_debug_impl_glDeleteFramebuffersEXT; + glad_debug_glDeleteObjectARB = glad_debug_impl_glDeleteObjectARB; + glad_debug_glDeleteProgram = glad_debug_impl_glDeleteProgram; + glad_debug_glDeleteProgramPipelines = glad_debug_impl_glDeleteProgramPipelines; + glad_debug_glDeleteProgramsARB = glad_debug_impl_glDeleteProgramsARB; + glad_debug_glDeleteProgramsNV = glad_debug_impl_glDeleteProgramsNV; + glad_debug_glDeleteQueries = glad_debug_impl_glDeleteQueries; + glad_debug_glDeleteQueriesARB = glad_debug_impl_glDeleteQueriesARB; + glad_debug_glDeleteRenderbuffers = glad_debug_impl_glDeleteRenderbuffers; + glad_debug_glDeleteRenderbuffersEXT = glad_debug_impl_glDeleteRenderbuffersEXT; + glad_debug_glDeleteSamplers = glad_debug_impl_glDeleteSamplers; + glad_debug_glDeleteShader = glad_debug_impl_glDeleteShader; + glad_debug_glDeleteSync = glad_debug_impl_glDeleteSync; + glad_debug_glDeleteTextures = glad_debug_impl_glDeleteTextures; + glad_debug_glDeleteTexturesEXT = glad_debug_impl_glDeleteTexturesEXT; + glad_debug_glDeleteTransformFeedbacks = glad_debug_impl_glDeleteTransformFeedbacks; + glad_debug_glDeleteTransformFeedbacksNV = glad_debug_impl_glDeleteTransformFeedbacksNV; + glad_debug_glDeleteVertexArrays = glad_debug_impl_glDeleteVertexArrays; + glad_debug_glDeleteVertexArraysAPPLE = glad_debug_impl_glDeleteVertexArraysAPPLE; + glad_debug_glDepthFunc = glad_debug_impl_glDepthFunc; + glad_debug_glDepthMask = glad_debug_impl_glDepthMask; + glad_debug_glDepthRange = glad_debug_impl_glDepthRange; + glad_debug_glDepthRangeArraydvNV = glad_debug_impl_glDepthRangeArraydvNV; + glad_debug_glDepthRangeArrayv = glad_debug_impl_glDepthRangeArrayv; + glad_debug_glDepthRangeIndexed = glad_debug_impl_glDepthRangeIndexed; + glad_debug_glDepthRangeIndexeddNV = glad_debug_impl_glDepthRangeIndexeddNV; + glad_debug_glDepthRangef = glad_debug_impl_glDepthRangef; + glad_debug_glDepthRangefOES = glad_debug_impl_glDepthRangefOES; + glad_debug_glDetachObjectARB = glad_debug_impl_glDetachObjectARB; + glad_debug_glDetachShader = glad_debug_impl_glDetachShader; + glad_debug_glDisable = glad_debug_impl_glDisable; + glad_debug_glDisableClientStateIndexedEXT = glad_debug_impl_glDisableClientStateIndexedEXT; + glad_debug_glDisableClientStateiEXT = glad_debug_impl_glDisableClientStateiEXT; + glad_debug_glDisableIndexedEXT = glad_debug_impl_glDisableIndexedEXT; + glad_debug_glDisableVertexArrayAttrib = glad_debug_impl_glDisableVertexArrayAttrib; + glad_debug_glDisableVertexArrayAttribEXT = glad_debug_impl_glDisableVertexArrayAttribEXT; + glad_debug_glDisableVertexArrayEXT = glad_debug_impl_glDisableVertexArrayEXT; + glad_debug_glDisableVertexAttribArray = glad_debug_impl_glDisableVertexAttribArray; + glad_debug_glDisableVertexAttribArrayARB = glad_debug_impl_glDisableVertexAttribArrayARB; + glad_debug_glDisablei = glad_debug_impl_glDisablei; + glad_debug_glDispatchCompute = glad_debug_impl_glDispatchCompute; + glad_debug_glDispatchComputeIndirect = glad_debug_impl_glDispatchComputeIndirect; + glad_debug_glDrawArrays = glad_debug_impl_glDrawArrays; + glad_debug_glDrawArraysEXT = glad_debug_impl_glDrawArraysEXT; + glad_debug_glDrawArraysIndirect = glad_debug_impl_glDrawArraysIndirect; + glad_debug_glDrawArraysInstanced = glad_debug_impl_glDrawArraysInstanced; + glad_debug_glDrawArraysInstancedARB = glad_debug_impl_glDrawArraysInstancedARB; + glad_debug_glDrawArraysInstancedBaseInstance = glad_debug_impl_glDrawArraysInstancedBaseInstance; + glad_debug_glDrawArraysInstancedEXT = glad_debug_impl_glDrawArraysInstancedEXT; + glad_debug_glDrawBuffer = glad_debug_impl_glDrawBuffer; + glad_debug_glDrawBuffers = glad_debug_impl_glDrawBuffers; + glad_debug_glDrawBuffersARB = glad_debug_impl_glDrawBuffersARB; + glad_debug_glDrawBuffersATI = glad_debug_impl_glDrawBuffersATI; + glad_debug_glDrawElements = glad_debug_impl_glDrawElements; + glad_debug_glDrawElementsBaseVertex = glad_debug_impl_glDrawElementsBaseVertex; + glad_debug_glDrawElementsIndirect = glad_debug_impl_glDrawElementsIndirect; + glad_debug_glDrawElementsInstanced = glad_debug_impl_glDrawElementsInstanced; + glad_debug_glDrawElementsInstancedARB = glad_debug_impl_glDrawElementsInstancedARB; + glad_debug_glDrawElementsInstancedBaseInstance = glad_debug_impl_glDrawElementsInstancedBaseInstance; + glad_debug_glDrawElementsInstancedBaseVertex = glad_debug_impl_glDrawElementsInstancedBaseVertex; + glad_debug_glDrawElementsInstancedBaseVertexBaseInstance = glad_debug_impl_glDrawElementsInstancedBaseVertexBaseInstance; + glad_debug_glDrawElementsInstancedEXT = glad_debug_impl_glDrawElementsInstancedEXT; + glad_debug_glDrawRangeElements = glad_debug_impl_glDrawRangeElements; + glad_debug_glDrawRangeElementsBaseVertex = glad_debug_impl_glDrawRangeElementsBaseVertex; + glad_debug_glDrawRangeElementsEXT = glad_debug_impl_glDrawRangeElementsEXT; + glad_debug_glDrawTransformFeedback = glad_debug_impl_glDrawTransformFeedback; + glad_debug_glDrawTransformFeedbackInstanced = glad_debug_impl_glDrawTransformFeedbackInstanced; + glad_debug_glDrawTransformFeedbackNV = glad_debug_impl_glDrawTransformFeedbackNV; + glad_debug_glDrawTransformFeedbackStream = glad_debug_impl_glDrawTransformFeedbackStream; + glad_debug_glDrawTransformFeedbackStreamInstanced = glad_debug_impl_glDrawTransformFeedbackStreamInstanced; + glad_debug_glEdgeFlagPointerEXT = glad_debug_impl_glEdgeFlagPointerEXT; + glad_debug_glEnable = glad_debug_impl_glEnable; + glad_debug_glEnableClientStateIndexedEXT = glad_debug_impl_glEnableClientStateIndexedEXT; + glad_debug_glEnableClientStateiEXT = glad_debug_impl_glEnableClientStateiEXT; + glad_debug_glEnableIndexedEXT = glad_debug_impl_glEnableIndexedEXT; + glad_debug_glEnableVertexArrayAttrib = glad_debug_impl_glEnableVertexArrayAttrib; + glad_debug_glEnableVertexArrayAttribEXT = glad_debug_impl_glEnableVertexArrayAttribEXT; + glad_debug_glEnableVertexArrayEXT = glad_debug_impl_glEnableVertexArrayEXT; + glad_debug_glEnableVertexAttribArray = glad_debug_impl_glEnableVertexAttribArray; + glad_debug_glEnableVertexAttribArrayARB = glad_debug_impl_glEnableVertexAttribArrayARB; + glad_debug_glEnablei = glad_debug_impl_glEnablei; + glad_debug_glEndConditionalRender = glad_debug_impl_glEndConditionalRender; + glad_debug_glEndConditionalRenderNV = glad_debug_impl_glEndConditionalRenderNV; + glad_debug_glEndConditionalRenderNVX = glad_debug_impl_glEndConditionalRenderNVX; + glad_debug_glEndQuery = glad_debug_impl_glEndQuery; + glad_debug_glEndQueryARB = glad_debug_impl_glEndQueryARB; + glad_debug_glEndQueryIndexed = glad_debug_impl_glEndQueryIndexed; + glad_debug_glEndTransformFeedback = glad_debug_impl_glEndTransformFeedback; + glad_debug_glEndTransformFeedbackEXT = glad_debug_impl_glEndTransformFeedbackEXT; + glad_debug_glEndTransformFeedbackNV = glad_debug_impl_glEndTransformFeedbackNV; + glad_debug_glExecuteProgramNV = glad_debug_impl_glExecuteProgramNV; + glad_debug_glFenceSync = glad_debug_impl_glFenceSync; + glad_debug_glFinish = glad_debug_impl_glFinish; + glad_debug_glFlush = glad_debug_impl_glFlush; + glad_debug_glFlushMappedBufferRange = glad_debug_impl_glFlushMappedBufferRange; + glad_debug_glFlushMappedBufferRangeAPPLE = glad_debug_impl_glFlushMappedBufferRangeAPPLE; + glad_debug_glFlushMappedNamedBufferRange = glad_debug_impl_glFlushMappedNamedBufferRange; + glad_debug_glFlushMappedNamedBufferRangeEXT = glad_debug_impl_glFlushMappedNamedBufferRangeEXT; + glad_debug_glFramebufferDrawBufferEXT = glad_debug_impl_glFramebufferDrawBufferEXT; + glad_debug_glFramebufferDrawBuffersEXT = glad_debug_impl_glFramebufferDrawBuffersEXT; + glad_debug_glFramebufferParameteri = glad_debug_impl_glFramebufferParameteri; + glad_debug_glFramebufferReadBufferEXT = glad_debug_impl_glFramebufferReadBufferEXT; + glad_debug_glFramebufferRenderbuffer = glad_debug_impl_glFramebufferRenderbuffer; + glad_debug_glFramebufferRenderbufferEXT = glad_debug_impl_glFramebufferRenderbufferEXT; + glad_debug_glFramebufferTexture = glad_debug_impl_glFramebufferTexture; + glad_debug_glFramebufferTexture1D = glad_debug_impl_glFramebufferTexture1D; + glad_debug_glFramebufferTexture1DEXT = glad_debug_impl_glFramebufferTexture1DEXT; + glad_debug_glFramebufferTexture2D = glad_debug_impl_glFramebufferTexture2D; + glad_debug_glFramebufferTexture2DEXT = glad_debug_impl_glFramebufferTexture2DEXT; + glad_debug_glFramebufferTexture3D = glad_debug_impl_glFramebufferTexture3D; + glad_debug_glFramebufferTexture3DEXT = glad_debug_impl_glFramebufferTexture3DEXT; + glad_debug_glFramebufferTextureARB = glad_debug_impl_glFramebufferTextureARB; + glad_debug_glFramebufferTextureEXT = glad_debug_impl_glFramebufferTextureEXT; + glad_debug_glFramebufferTextureFaceARB = glad_debug_impl_glFramebufferTextureFaceARB; + glad_debug_glFramebufferTextureFaceEXT = glad_debug_impl_glFramebufferTextureFaceEXT; + glad_debug_glFramebufferTextureLayer = glad_debug_impl_glFramebufferTextureLayer; + glad_debug_glFramebufferTextureLayerARB = glad_debug_impl_glFramebufferTextureLayerARB; + glad_debug_glFramebufferTextureLayerEXT = glad_debug_impl_glFramebufferTextureLayerEXT; + glad_debug_glFrontFace = glad_debug_impl_glFrontFace; + glad_debug_glFrustumfOES = glad_debug_impl_glFrustumfOES; + glad_debug_glGenBuffers = glad_debug_impl_glGenBuffers; + glad_debug_glGenBuffersARB = glad_debug_impl_glGenBuffersARB; + glad_debug_glGenFramebuffers = glad_debug_impl_glGenFramebuffers; + glad_debug_glGenFramebuffersEXT = glad_debug_impl_glGenFramebuffersEXT; + glad_debug_glGenProgramPipelines = glad_debug_impl_glGenProgramPipelines; + glad_debug_glGenProgramsARB = glad_debug_impl_glGenProgramsARB; + glad_debug_glGenProgramsNV = glad_debug_impl_glGenProgramsNV; + glad_debug_glGenQueries = glad_debug_impl_glGenQueries; + glad_debug_glGenQueriesARB = glad_debug_impl_glGenQueriesARB; + glad_debug_glGenRenderbuffers = glad_debug_impl_glGenRenderbuffers; + glad_debug_glGenRenderbuffersEXT = glad_debug_impl_glGenRenderbuffersEXT; + glad_debug_glGenSamplers = glad_debug_impl_glGenSamplers; + glad_debug_glGenTextures = glad_debug_impl_glGenTextures; + glad_debug_glGenTexturesEXT = glad_debug_impl_glGenTexturesEXT; + glad_debug_glGenTransformFeedbacks = glad_debug_impl_glGenTransformFeedbacks; + glad_debug_glGenTransformFeedbacksNV = glad_debug_impl_glGenTransformFeedbacksNV; + glad_debug_glGenVertexArrays = glad_debug_impl_glGenVertexArrays; + glad_debug_glGenVertexArraysAPPLE = glad_debug_impl_glGenVertexArraysAPPLE; + glad_debug_glGenerateMipmap = glad_debug_impl_glGenerateMipmap; + glad_debug_glGenerateMipmapEXT = glad_debug_impl_glGenerateMipmapEXT; + glad_debug_glGenerateMultiTexMipmapEXT = glad_debug_impl_glGenerateMultiTexMipmapEXT; + glad_debug_glGenerateTextureMipmap = glad_debug_impl_glGenerateTextureMipmap; + glad_debug_glGenerateTextureMipmapEXT = glad_debug_impl_glGenerateTextureMipmapEXT; + glad_debug_glGetActiveAtomicCounterBufferiv = glad_debug_impl_glGetActiveAtomicCounterBufferiv; + glad_debug_glGetActiveAttrib = glad_debug_impl_glGetActiveAttrib; + glad_debug_glGetActiveAttribARB = glad_debug_impl_glGetActiveAttribARB; + glad_debug_glGetActiveSubroutineName = glad_debug_impl_glGetActiveSubroutineName; + glad_debug_glGetActiveSubroutineUniformName = glad_debug_impl_glGetActiveSubroutineUniformName; + glad_debug_glGetActiveSubroutineUniformiv = glad_debug_impl_glGetActiveSubroutineUniformiv; + glad_debug_glGetActiveUniform = glad_debug_impl_glGetActiveUniform; + glad_debug_glGetActiveUniformARB = glad_debug_impl_glGetActiveUniformARB; + glad_debug_glGetActiveUniformBlockName = glad_debug_impl_glGetActiveUniformBlockName; + glad_debug_glGetActiveUniformBlockiv = glad_debug_impl_glGetActiveUniformBlockiv; + glad_debug_glGetActiveUniformName = glad_debug_impl_glGetActiveUniformName; + glad_debug_glGetActiveUniformsiv = glad_debug_impl_glGetActiveUniformsiv; + glad_debug_glGetActiveVaryingNV = glad_debug_impl_glGetActiveVaryingNV; + glad_debug_glGetAttachedObjectsARB = glad_debug_impl_glGetAttachedObjectsARB; + glad_debug_glGetAttachedShaders = glad_debug_impl_glGetAttachedShaders; + glad_debug_glGetAttribLocation = glad_debug_impl_glGetAttribLocation; + glad_debug_glGetAttribLocationARB = glad_debug_impl_glGetAttribLocationARB; + glad_debug_glGetBooleanIndexedvEXT = glad_debug_impl_glGetBooleanIndexedvEXT; + glad_debug_glGetBooleani_v = glad_debug_impl_glGetBooleani_v; + glad_debug_glGetBooleanv = glad_debug_impl_glGetBooleanv; + glad_debug_glGetBufferParameteri64v = glad_debug_impl_glGetBufferParameteri64v; + glad_debug_glGetBufferParameteriv = glad_debug_impl_glGetBufferParameteriv; + glad_debug_glGetBufferParameterivARB = glad_debug_impl_glGetBufferParameterivARB; + glad_debug_glGetBufferPointerv = glad_debug_impl_glGetBufferPointerv; + glad_debug_glGetBufferPointervARB = glad_debug_impl_glGetBufferPointervARB; + glad_debug_glGetBufferSubData = glad_debug_impl_glGetBufferSubData; + glad_debug_glGetBufferSubDataARB = glad_debug_impl_glGetBufferSubDataARB; + glad_debug_glGetClipPlanefOES = glad_debug_impl_glGetClipPlanefOES; + glad_debug_glGetCompressedMultiTexImageEXT = glad_debug_impl_glGetCompressedMultiTexImageEXT; + glad_debug_glGetCompressedTexImage = glad_debug_impl_glGetCompressedTexImage; + glad_debug_glGetCompressedTexImageARB = glad_debug_impl_glGetCompressedTexImageARB; + glad_debug_glGetCompressedTextureImage = glad_debug_impl_glGetCompressedTextureImage; + glad_debug_glGetCompressedTextureImageEXT = glad_debug_impl_glGetCompressedTextureImageEXT; + glad_debug_glGetCompressedTextureSubImage = glad_debug_impl_glGetCompressedTextureSubImage; + glad_debug_glGetDebugMessageLog = glad_debug_impl_glGetDebugMessageLog; + glad_debug_glGetDebugMessageLogARB = glad_debug_impl_glGetDebugMessageLogARB; + glad_debug_glGetDoubleIndexedvEXT = glad_debug_impl_glGetDoubleIndexedvEXT; + glad_debug_glGetDoublei_v = glad_debug_impl_glGetDoublei_v; + glad_debug_glGetDoublei_vEXT = glad_debug_impl_glGetDoublei_vEXT; + glad_debug_glGetDoublev = glad_debug_impl_glGetDoublev; + glad_debug_glGetError = glad_debug_impl_glGetError; + glad_debug_glGetFloatIndexedvEXT = glad_debug_impl_glGetFloatIndexedvEXT; + glad_debug_glGetFloati_v = glad_debug_impl_glGetFloati_v; + glad_debug_glGetFloati_vEXT = glad_debug_impl_glGetFloati_vEXT; + glad_debug_glGetFloatv = glad_debug_impl_glGetFloatv; + glad_debug_glGetFragDataIndex = glad_debug_impl_glGetFragDataIndex; + glad_debug_glGetFragDataLocation = glad_debug_impl_glGetFragDataLocation; + glad_debug_glGetFragDataLocationEXT = glad_debug_impl_glGetFragDataLocationEXT; + glad_debug_glGetFramebufferAttachmentParameteriv = glad_debug_impl_glGetFramebufferAttachmentParameteriv; + glad_debug_glGetFramebufferAttachmentParameterivEXT = glad_debug_impl_glGetFramebufferAttachmentParameterivEXT; + glad_debug_glGetFramebufferParameteriv = glad_debug_impl_glGetFramebufferParameteriv; + glad_debug_glGetFramebufferParameterivEXT = glad_debug_impl_glGetFramebufferParameterivEXT; + glad_debug_glGetGraphicsResetStatus = glad_debug_impl_glGetGraphicsResetStatus; + glad_debug_glGetGraphicsResetStatusARB = glad_debug_impl_glGetGraphicsResetStatusARB; + glad_debug_glGetHandleARB = glad_debug_impl_glGetHandleARB; + glad_debug_glGetImageHandleARB = glad_debug_impl_glGetImageHandleARB; + glad_debug_glGetImageHandleNV = glad_debug_impl_glGetImageHandleNV; + glad_debug_glGetInfoLogARB = glad_debug_impl_glGetInfoLogARB; + glad_debug_glGetInteger64i_v = glad_debug_impl_glGetInteger64i_v; + glad_debug_glGetInteger64v = glad_debug_impl_glGetInteger64v; + glad_debug_glGetIntegerIndexedvEXT = glad_debug_impl_glGetIntegerIndexedvEXT; + glad_debug_glGetIntegeri_v = glad_debug_impl_glGetIntegeri_v; + glad_debug_glGetIntegerv = glad_debug_impl_glGetIntegerv; + glad_debug_glGetInternalformati64v = glad_debug_impl_glGetInternalformati64v; + glad_debug_glGetInternalformativ = glad_debug_impl_glGetInternalformativ; + glad_debug_glGetMultiTexEnvfvEXT = glad_debug_impl_glGetMultiTexEnvfvEXT; + glad_debug_glGetMultiTexEnvivEXT = glad_debug_impl_glGetMultiTexEnvivEXT; + glad_debug_glGetMultiTexGendvEXT = glad_debug_impl_glGetMultiTexGendvEXT; + glad_debug_glGetMultiTexGenfvEXT = glad_debug_impl_glGetMultiTexGenfvEXT; + glad_debug_glGetMultiTexGenivEXT = glad_debug_impl_glGetMultiTexGenivEXT; + glad_debug_glGetMultiTexImageEXT = glad_debug_impl_glGetMultiTexImageEXT; + glad_debug_glGetMultiTexLevelParameterfvEXT = glad_debug_impl_glGetMultiTexLevelParameterfvEXT; + glad_debug_glGetMultiTexLevelParameterivEXT = glad_debug_impl_glGetMultiTexLevelParameterivEXT; + glad_debug_glGetMultiTexParameterIivEXT = glad_debug_impl_glGetMultiTexParameterIivEXT; + glad_debug_glGetMultiTexParameterIuivEXT = glad_debug_impl_glGetMultiTexParameterIuivEXT; + glad_debug_glGetMultiTexParameterfvEXT = glad_debug_impl_glGetMultiTexParameterfvEXT; + glad_debug_glGetMultiTexParameterivEXT = glad_debug_impl_glGetMultiTexParameterivEXT; + glad_debug_glGetMultisamplefv = glad_debug_impl_glGetMultisamplefv; + glad_debug_glGetMultisamplefvNV = glad_debug_impl_glGetMultisamplefvNV; + glad_debug_glGetNamedBufferParameteri64v = glad_debug_impl_glGetNamedBufferParameteri64v; + glad_debug_glGetNamedBufferParameteriv = glad_debug_impl_glGetNamedBufferParameteriv; + glad_debug_glGetNamedBufferParameterivEXT = glad_debug_impl_glGetNamedBufferParameterivEXT; + glad_debug_glGetNamedBufferPointerv = glad_debug_impl_glGetNamedBufferPointerv; + glad_debug_glGetNamedBufferPointervEXT = glad_debug_impl_glGetNamedBufferPointervEXT; + glad_debug_glGetNamedBufferSubData = glad_debug_impl_glGetNamedBufferSubData; + glad_debug_glGetNamedBufferSubDataEXT = glad_debug_impl_glGetNamedBufferSubDataEXT; + glad_debug_glGetNamedFramebufferAttachmentParameteriv = glad_debug_impl_glGetNamedFramebufferAttachmentParameteriv; + glad_debug_glGetNamedFramebufferAttachmentParameterivEXT = glad_debug_impl_glGetNamedFramebufferAttachmentParameterivEXT; + glad_debug_glGetNamedFramebufferParameteriv = glad_debug_impl_glGetNamedFramebufferParameteriv; + glad_debug_glGetNamedFramebufferParameterivEXT = glad_debug_impl_glGetNamedFramebufferParameterivEXT; + glad_debug_glGetNamedProgramLocalParameterIivEXT = glad_debug_impl_glGetNamedProgramLocalParameterIivEXT; + glad_debug_glGetNamedProgramLocalParameterIuivEXT = glad_debug_impl_glGetNamedProgramLocalParameterIuivEXT; + glad_debug_glGetNamedProgramLocalParameterdvEXT = glad_debug_impl_glGetNamedProgramLocalParameterdvEXT; + glad_debug_glGetNamedProgramLocalParameterfvEXT = glad_debug_impl_glGetNamedProgramLocalParameterfvEXT; + glad_debug_glGetNamedProgramStringEXT = glad_debug_impl_glGetNamedProgramStringEXT; + glad_debug_glGetNamedProgramivEXT = glad_debug_impl_glGetNamedProgramivEXT; + glad_debug_glGetNamedRenderbufferParameteriv = glad_debug_impl_glGetNamedRenderbufferParameteriv; + glad_debug_glGetNamedRenderbufferParameterivEXT = glad_debug_impl_glGetNamedRenderbufferParameterivEXT; + glad_debug_glGetObjectLabel = glad_debug_impl_glGetObjectLabel; + glad_debug_glGetObjectParameterfvARB = glad_debug_impl_glGetObjectParameterfvARB; + glad_debug_glGetObjectParameterivARB = glad_debug_impl_glGetObjectParameterivARB; + glad_debug_glGetObjectPtrLabel = glad_debug_impl_glGetObjectPtrLabel; + glad_debug_glGetPointerIndexedvEXT = glad_debug_impl_glGetPointerIndexedvEXT; + glad_debug_glGetPointeri_vEXT = glad_debug_impl_glGetPointeri_vEXT; + glad_debug_glGetPointerv = glad_debug_impl_glGetPointerv; + glad_debug_glGetPointervEXT = glad_debug_impl_glGetPointervEXT; + glad_debug_glGetProgramBinary = glad_debug_impl_glGetProgramBinary; + glad_debug_glGetProgramEnvParameterdvARB = glad_debug_impl_glGetProgramEnvParameterdvARB; + glad_debug_glGetProgramEnvParameterfvARB = glad_debug_impl_glGetProgramEnvParameterfvARB; + glad_debug_glGetProgramInfoLog = glad_debug_impl_glGetProgramInfoLog; + glad_debug_glGetProgramInterfaceiv = glad_debug_impl_glGetProgramInterfaceiv; + glad_debug_glGetProgramLocalParameterdvARB = glad_debug_impl_glGetProgramLocalParameterdvARB; + glad_debug_glGetProgramLocalParameterfvARB = glad_debug_impl_glGetProgramLocalParameterfvARB; + glad_debug_glGetProgramParameterdvNV = glad_debug_impl_glGetProgramParameterdvNV; + glad_debug_glGetProgramParameterfvNV = glad_debug_impl_glGetProgramParameterfvNV; + glad_debug_glGetProgramPipelineInfoLog = glad_debug_impl_glGetProgramPipelineInfoLog; + glad_debug_glGetProgramPipelineiv = glad_debug_impl_glGetProgramPipelineiv; + glad_debug_glGetProgramResourceIndex = glad_debug_impl_glGetProgramResourceIndex; + glad_debug_glGetProgramResourceLocation = glad_debug_impl_glGetProgramResourceLocation; + glad_debug_glGetProgramResourceLocationIndex = glad_debug_impl_glGetProgramResourceLocationIndex; + glad_debug_glGetProgramResourceName = glad_debug_impl_glGetProgramResourceName; + glad_debug_glGetProgramResourceiv = glad_debug_impl_glGetProgramResourceiv; + glad_debug_glGetProgramStageiv = glad_debug_impl_glGetProgramStageiv; + glad_debug_glGetProgramStringARB = glad_debug_impl_glGetProgramStringARB; + glad_debug_glGetProgramStringNV = glad_debug_impl_glGetProgramStringNV; + glad_debug_glGetProgramiv = glad_debug_impl_glGetProgramiv; + glad_debug_glGetProgramivARB = glad_debug_impl_glGetProgramivARB; + glad_debug_glGetProgramivNV = glad_debug_impl_glGetProgramivNV; + glad_debug_glGetQueryBufferObjecti64v = glad_debug_impl_glGetQueryBufferObjecti64v; + glad_debug_glGetQueryBufferObjectiv = glad_debug_impl_glGetQueryBufferObjectiv; + glad_debug_glGetQueryBufferObjectui64v = glad_debug_impl_glGetQueryBufferObjectui64v; + glad_debug_glGetQueryBufferObjectuiv = glad_debug_impl_glGetQueryBufferObjectuiv; + glad_debug_glGetQueryIndexediv = glad_debug_impl_glGetQueryIndexediv; + glad_debug_glGetQueryObjecti64v = glad_debug_impl_glGetQueryObjecti64v; + glad_debug_glGetQueryObjecti64vEXT = glad_debug_impl_glGetQueryObjecti64vEXT; + glad_debug_glGetQueryObjectiv = glad_debug_impl_glGetQueryObjectiv; + glad_debug_glGetQueryObjectivARB = glad_debug_impl_glGetQueryObjectivARB; + glad_debug_glGetQueryObjectui64v = glad_debug_impl_glGetQueryObjectui64v; + glad_debug_glGetQueryObjectui64vEXT = glad_debug_impl_glGetQueryObjectui64vEXT; + glad_debug_glGetQueryObjectuiv = glad_debug_impl_glGetQueryObjectuiv; + glad_debug_glGetQueryObjectuivARB = glad_debug_impl_glGetQueryObjectuivARB; + glad_debug_glGetQueryiv = glad_debug_impl_glGetQueryiv; + glad_debug_glGetQueryivARB = glad_debug_impl_glGetQueryivARB; + glad_debug_glGetRenderbufferParameteriv = glad_debug_impl_glGetRenderbufferParameteriv; + glad_debug_glGetRenderbufferParameterivEXT = glad_debug_impl_glGetRenderbufferParameterivEXT; + glad_debug_glGetSamplerParameterIiv = glad_debug_impl_glGetSamplerParameterIiv; + glad_debug_glGetSamplerParameterIuiv = glad_debug_impl_glGetSamplerParameterIuiv; + glad_debug_glGetSamplerParameterfv = glad_debug_impl_glGetSamplerParameterfv; + glad_debug_glGetSamplerParameteriv = glad_debug_impl_glGetSamplerParameteriv; + glad_debug_glGetShaderInfoLog = glad_debug_impl_glGetShaderInfoLog; + glad_debug_glGetShaderPrecisionFormat = glad_debug_impl_glGetShaderPrecisionFormat; + glad_debug_glGetShaderSource = glad_debug_impl_glGetShaderSource; + glad_debug_glGetShaderSourceARB = glad_debug_impl_glGetShaderSourceARB; + glad_debug_glGetShaderiv = glad_debug_impl_glGetShaderiv; + glad_debug_glGetString = glad_debug_impl_glGetString; + glad_debug_glGetStringi = glad_debug_impl_glGetStringi; + glad_debug_glGetSubroutineIndex = glad_debug_impl_glGetSubroutineIndex; + glad_debug_glGetSubroutineUniformLocation = glad_debug_impl_glGetSubroutineUniformLocation; + glad_debug_glGetSynciv = glad_debug_impl_glGetSynciv; + glad_debug_glGetTexImage = glad_debug_impl_glGetTexImage; + glad_debug_glGetTexLevelParameterfv = glad_debug_impl_glGetTexLevelParameterfv; + glad_debug_glGetTexLevelParameteriv = glad_debug_impl_glGetTexLevelParameteriv; + glad_debug_glGetTexParameterIiv = glad_debug_impl_glGetTexParameterIiv; + glad_debug_glGetTexParameterIivEXT = glad_debug_impl_glGetTexParameterIivEXT; + glad_debug_glGetTexParameterIuiv = glad_debug_impl_glGetTexParameterIuiv; + glad_debug_glGetTexParameterIuivEXT = glad_debug_impl_glGetTexParameterIuivEXT; + glad_debug_glGetTexParameterfv = glad_debug_impl_glGetTexParameterfv; + glad_debug_glGetTexParameteriv = glad_debug_impl_glGetTexParameteriv; + glad_debug_glGetTextureHandleARB = glad_debug_impl_glGetTextureHandleARB; + glad_debug_glGetTextureHandleNV = glad_debug_impl_glGetTextureHandleNV; + glad_debug_glGetTextureImage = glad_debug_impl_glGetTextureImage; + glad_debug_glGetTextureImageEXT = glad_debug_impl_glGetTextureImageEXT; + glad_debug_glGetTextureLevelParameterfv = glad_debug_impl_glGetTextureLevelParameterfv; + glad_debug_glGetTextureLevelParameterfvEXT = glad_debug_impl_glGetTextureLevelParameterfvEXT; + glad_debug_glGetTextureLevelParameteriv = glad_debug_impl_glGetTextureLevelParameteriv; + glad_debug_glGetTextureLevelParameterivEXT = glad_debug_impl_glGetTextureLevelParameterivEXT; + glad_debug_glGetTextureParameterIiv = glad_debug_impl_glGetTextureParameterIiv; + glad_debug_glGetTextureParameterIivEXT = glad_debug_impl_glGetTextureParameterIivEXT; + glad_debug_glGetTextureParameterIuiv = glad_debug_impl_glGetTextureParameterIuiv; + glad_debug_glGetTextureParameterIuivEXT = glad_debug_impl_glGetTextureParameterIuivEXT; + glad_debug_glGetTextureParameterfv = glad_debug_impl_glGetTextureParameterfv; + glad_debug_glGetTextureParameterfvEXT = glad_debug_impl_glGetTextureParameterfvEXT; + glad_debug_glGetTextureParameteriv = glad_debug_impl_glGetTextureParameteriv; + glad_debug_glGetTextureParameterivEXT = glad_debug_impl_glGetTextureParameterivEXT; + glad_debug_glGetTextureSamplerHandleARB = glad_debug_impl_glGetTextureSamplerHandleARB; + glad_debug_glGetTextureSamplerHandleNV = glad_debug_impl_glGetTextureSamplerHandleNV; + glad_debug_glGetTextureSubImage = glad_debug_impl_glGetTextureSubImage; + glad_debug_glGetTrackMatrixivNV = glad_debug_impl_glGetTrackMatrixivNV; + glad_debug_glGetTransformFeedbackVarying = glad_debug_impl_glGetTransformFeedbackVarying; + glad_debug_glGetTransformFeedbackVaryingEXT = glad_debug_impl_glGetTransformFeedbackVaryingEXT; + glad_debug_glGetTransformFeedbackVaryingNV = glad_debug_impl_glGetTransformFeedbackVaryingNV; + glad_debug_glGetTransformFeedbacki64_v = glad_debug_impl_glGetTransformFeedbacki64_v; + glad_debug_glGetTransformFeedbacki_v = glad_debug_impl_glGetTransformFeedbacki_v; + glad_debug_glGetTransformFeedbackiv = glad_debug_impl_glGetTransformFeedbackiv; + glad_debug_glGetUniformBlockIndex = glad_debug_impl_glGetUniformBlockIndex; + glad_debug_glGetUniformIndices = glad_debug_impl_glGetUniformIndices; + glad_debug_glGetUniformLocation = glad_debug_impl_glGetUniformLocation; + glad_debug_glGetUniformLocationARB = glad_debug_impl_glGetUniformLocationARB; + glad_debug_glGetUniformSubroutineuiv = glad_debug_impl_glGetUniformSubroutineuiv; + glad_debug_glGetUniformdv = glad_debug_impl_glGetUniformdv; + glad_debug_glGetUniformfv = glad_debug_impl_glGetUniformfv; + glad_debug_glGetUniformfvARB = glad_debug_impl_glGetUniformfvARB; + glad_debug_glGetUniformiv = glad_debug_impl_glGetUniformiv; + glad_debug_glGetUniformivARB = glad_debug_impl_glGetUniformivARB; + glad_debug_glGetUniformuiv = glad_debug_impl_glGetUniformuiv; + glad_debug_glGetUniformuivEXT = glad_debug_impl_glGetUniformuivEXT; + glad_debug_glGetVaryingLocationNV = glad_debug_impl_glGetVaryingLocationNV; + glad_debug_glGetVertexArrayIndexed64iv = glad_debug_impl_glGetVertexArrayIndexed64iv; + glad_debug_glGetVertexArrayIndexediv = glad_debug_impl_glGetVertexArrayIndexediv; + glad_debug_glGetVertexArrayIntegeri_vEXT = glad_debug_impl_glGetVertexArrayIntegeri_vEXT; + glad_debug_glGetVertexArrayIntegervEXT = glad_debug_impl_glGetVertexArrayIntegervEXT; + glad_debug_glGetVertexArrayPointeri_vEXT = glad_debug_impl_glGetVertexArrayPointeri_vEXT; + glad_debug_glGetVertexArrayPointervEXT = glad_debug_impl_glGetVertexArrayPointervEXT; + glad_debug_glGetVertexArrayiv = glad_debug_impl_glGetVertexArrayiv; + glad_debug_glGetVertexAttribIiv = glad_debug_impl_glGetVertexAttribIiv; + glad_debug_glGetVertexAttribIivEXT = glad_debug_impl_glGetVertexAttribIivEXT; + glad_debug_glGetVertexAttribIuiv = glad_debug_impl_glGetVertexAttribIuiv; + glad_debug_glGetVertexAttribIuivEXT = glad_debug_impl_glGetVertexAttribIuivEXT; + glad_debug_glGetVertexAttribLdv = glad_debug_impl_glGetVertexAttribLdv; + glad_debug_glGetVertexAttribLdvEXT = glad_debug_impl_glGetVertexAttribLdvEXT; + glad_debug_glGetVertexAttribLui64vARB = glad_debug_impl_glGetVertexAttribLui64vARB; + glad_debug_glGetVertexAttribPointerv = glad_debug_impl_glGetVertexAttribPointerv; + glad_debug_glGetVertexAttribPointervARB = glad_debug_impl_glGetVertexAttribPointervARB; + glad_debug_glGetVertexAttribPointervNV = glad_debug_impl_glGetVertexAttribPointervNV; + glad_debug_glGetVertexAttribdv = glad_debug_impl_glGetVertexAttribdv; + glad_debug_glGetVertexAttribdvARB = glad_debug_impl_glGetVertexAttribdvARB; + glad_debug_glGetVertexAttribdvNV = glad_debug_impl_glGetVertexAttribdvNV; + glad_debug_glGetVertexAttribfv = glad_debug_impl_glGetVertexAttribfv; + glad_debug_glGetVertexAttribfvARB = glad_debug_impl_glGetVertexAttribfvARB; + glad_debug_glGetVertexAttribfvNV = glad_debug_impl_glGetVertexAttribfvNV; + glad_debug_glGetVertexAttribiv = glad_debug_impl_glGetVertexAttribiv; + glad_debug_glGetVertexAttribivARB = glad_debug_impl_glGetVertexAttribivARB; + glad_debug_glGetVertexAttribivNV = glad_debug_impl_glGetVertexAttribivNV; + glad_debug_glGetnCompressedTexImage = glad_debug_impl_glGetnCompressedTexImage; + glad_debug_glGetnCompressedTexImageARB = glad_debug_impl_glGetnCompressedTexImageARB; + glad_debug_glGetnTexImage = glad_debug_impl_glGetnTexImage; + glad_debug_glGetnTexImageARB = glad_debug_impl_glGetnTexImageARB; + glad_debug_glGetnUniformdv = glad_debug_impl_glGetnUniformdv; + glad_debug_glGetnUniformdvARB = glad_debug_impl_glGetnUniformdvARB; + glad_debug_glGetnUniformfv = glad_debug_impl_glGetnUniformfv; + glad_debug_glGetnUniformfvARB = glad_debug_impl_glGetnUniformfvARB; + glad_debug_glGetnUniformiv = glad_debug_impl_glGetnUniformiv; + glad_debug_glGetnUniformivARB = glad_debug_impl_glGetnUniformivARB; + glad_debug_glGetnUniformuiv = glad_debug_impl_glGetnUniformuiv; + glad_debug_glGetnUniformuivARB = glad_debug_impl_glGetnUniformuivARB; + glad_debug_glHint = glad_debug_impl_glHint; + glad_debug_glIndexPointerEXT = glad_debug_impl_glIndexPointerEXT; + glad_debug_glInvalidateBufferData = glad_debug_impl_glInvalidateBufferData; + glad_debug_glInvalidateBufferSubData = glad_debug_impl_glInvalidateBufferSubData; + glad_debug_glInvalidateFramebuffer = glad_debug_impl_glInvalidateFramebuffer; + glad_debug_glInvalidateNamedFramebufferData = glad_debug_impl_glInvalidateNamedFramebufferData; + glad_debug_glInvalidateNamedFramebufferSubData = glad_debug_impl_glInvalidateNamedFramebufferSubData; + glad_debug_glInvalidateSubFramebuffer = glad_debug_impl_glInvalidateSubFramebuffer; + glad_debug_glInvalidateTexImage = glad_debug_impl_glInvalidateTexImage; + glad_debug_glInvalidateTexSubImage = glad_debug_impl_glInvalidateTexSubImage; + glad_debug_glIsBuffer = glad_debug_impl_glIsBuffer; + glad_debug_glIsBufferARB = glad_debug_impl_glIsBufferARB; + glad_debug_glIsEnabled = glad_debug_impl_glIsEnabled; + glad_debug_glIsEnabledIndexedEXT = glad_debug_impl_glIsEnabledIndexedEXT; + glad_debug_glIsEnabledi = glad_debug_impl_glIsEnabledi; + glad_debug_glIsFramebuffer = glad_debug_impl_glIsFramebuffer; + glad_debug_glIsFramebufferEXT = glad_debug_impl_glIsFramebufferEXT; + glad_debug_glIsImageHandleResidentARB = glad_debug_impl_glIsImageHandleResidentARB; + glad_debug_glIsImageHandleResidentNV = glad_debug_impl_glIsImageHandleResidentNV; + glad_debug_glIsProgram = glad_debug_impl_glIsProgram; + glad_debug_glIsProgramARB = glad_debug_impl_glIsProgramARB; + glad_debug_glIsProgramNV = glad_debug_impl_glIsProgramNV; + glad_debug_glIsProgramPipeline = glad_debug_impl_glIsProgramPipeline; + glad_debug_glIsQuery = glad_debug_impl_glIsQuery; + glad_debug_glIsQueryARB = glad_debug_impl_glIsQueryARB; + glad_debug_glIsRenderbuffer = glad_debug_impl_glIsRenderbuffer; + glad_debug_glIsRenderbufferEXT = glad_debug_impl_glIsRenderbufferEXT; + glad_debug_glIsSampler = glad_debug_impl_glIsSampler; + glad_debug_glIsShader = glad_debug_impl_glIsShader; + glad_debug_glIsSync = glad_debug_impl_glIsSync; + glad_debug_glIsTexture = glad_debug_impl_glIsTexture; + glad_debug_glIsTextureEXT = glad_debug_impl_glIsTextureEXT; + glad_debug_glIsTextureHandleResidentARB = glad_debug_impl_glIsTextureHandleResidentARB; + glad_debug_glIsTextureHandleResidentNV = glad_debug_impl_glIsTextureHandleResidentNV; + glad_debug_glIsTransformFeedback = glad_debug_impl_glIsTransformFeedback; + glad_debug_glIsTransformFeedbackNV = glad_debug_impl_glIsTransformFeedbackNV; + glad_debug_glIsVertexArray = glad_debug_impl_glIsVertexArray; + glad_debug_glIsVertexArrayAPPLE = glad_debug_impl_glIsVertexArrayAPPLE; + glad_debug_glLineWidth = glad_debug_impl_glLineWidth; + glad_debug_glLinkProgram = glad_debug_impl_glLinkProgram; + glad_debug_glLinkProgramARB = glad_debug_impl_glLinkProgramARB; + glad_debug_glLoadProgramNV = glad_debug_impl_glLoadProgramNV; + glad_debug_glLogicOp = glad_debug_impl_glLogicOp; + glad_debug_glMakeImageHandleNonResidentARB = glad_debug_impl_glMakeImageHandleNonResidentARB; + glad_debug_glMakeImageHandleNonResidentNV = glad_debug_impl_glMakeImageHandleNonResidentNV; + glad_debug_glMakeImageHandleResidentARB = glad_debug_impl_glMakeImageHandleResidentARB; + glad_debug_glMakeImageHandleResidentNV = glad_debug_impl_glMakeImageHandleResidentNV; + glad_debug_glMakeTextureHandleNonResidentARB = glad_debug_impl_glMakeTextureHandleNonResidentARB; + glad_debug_glMakeTextureHandleNonResidentNV = glad_debug_impl_glMakeTextureHandleNonResidentNV; + glad_debug_glMakeTextureHandleResidentARB = glad_debug_impl_glMakeTextureHandleResidentARB; + glad_debug_glMakeTextureHandleResidentNV = glad_debug_impl_glMakeTextureHandleResidentNV; + glad_debug_glMapBuffer = glad_debug_impl_glMapBuffer; + glad_debug_glMapBufferARB = glad_debug_impl_glMapBufferARB; + glad_debug_glMapBufferRange = glad_debug_impl_glMapBufferRange; + glad_debug_glMapNamedBuffer = glad_debug_impl_glMapNamedBuffer; + glad_debug_glMapNamedBufferEXT = glad_debug_impl_glMapNamedBufferEXT; + glad_debug_glMapNamedBufferRange = glad_debug_impl_glMapNamedBufferRange; + glad_debug_glMapNamedBufferRangeEXT = glad_debug_impl_glMapNamedBufferRangeEXT; + glad_debug_glMatrixFrustumEXT = glad_debug_impl_glMatrixFrustumEXT; + glad_debug_glMatrixLoadIdentityEXT = glad_debug_impl_glMatrixLoadIdentityEXT; + glad_debug_glMatrixLoadTransposedEXT = glad_debug_impl_glMatrixLoadTransposedEXT; + glad_debug_glMatrixLoadTransposefEXT = glad_debug_impl_glMatrixLoadTransposefEXT; + glad_debug_glMatrixLoaddEXT = glad_debug_impl_glMatrixLoaddEXT; + glad_debug_glMatrixLoadfEXT = glad_debug_impl_glMatrixLoadfEXT; + glad_debug_glMatrixMultTransposedEXT = glad_debug_impl_glMatrixMultTransposedEXT; + glad_debug_glMatrixMultTransposefEXT = glad_debug_impl_glMatrixMultTransposefEXT; + glad_debug_glMatrixMultdEXT = glad_debug_impl_glMatrixMultdEXT; + glad_debug_glMatrixMultfEXT = glad_debug_impl_glMatrixMultfEXT; + glad_debug_glMatrixOrthoEXT = glad_debug_impl_glMatrixOrthoEXT; + glad_debug_glMatrixPopEXT = glad_debug_impl_glMatrixPopEXT; + glad_debug_glMatrixPushEXT = glad_debug_impl_glMatrixPushEXT; + glad_debug_glMatrixRotatedEXT = glad_debug_impl_glMatrixRotatedEXT; + glad_debug_glMatrixRotatefEXT = glad_debug_impl_glMatrixRotatefEXT; + glad_debug_glMatrixScaledEXT = glad_debug_impl_glMatrixScaledEXT; + glad_debug_glMatrixScalefEXT = glad_debug_impl_glMatrixScalefEXT; + glad_debug_glMatrixTranslatedEXT = glad_debug_impl_glMatrixTranslatedEXT; + glad_debug_glMatrixTranslatefEXT = glad_debug_impl_glMatrixTranslatefEXT; + glad_debug_glMemoryBarrier = glad_debug_impl_glMemoryBarrier; + glad_debug_glMemoryBarrierByRegion = glad_debug_impl_glMemoryBarrierByRegion; + glad_debug_glMemoryBarrierEXT = glad_debug_impl_glMemoryBarrierEXT; + glad_debug_glMinSampleShading = glad_debug_impl_glMinSampleShading; + glad_debug_glMinSampleShadingARB = glad_debug_impl_glMinSampleShadingARB; + glad_debug_glMultiDrawArrays = glad_debug_impl_glMultiDrawArrays; + glad_debug_glMultiDrawArraysEXT = glad_debug_impl_glMultiDrawArraysEXT; + glad_debug_glMultiDrawArraysIndirect = glad_debug_impl_glMultiDrawArraysIndirect; + glad_debug_glMultiDrawArraysIndirectAMD = glad_debug_impl_glMultiDrawArraysIndirectAMD; + glad_debug_glMultiDrawArraysIndirectBindlessCountNV = glad_debug_impl_glMultiDrawArraysIndirectBindlessCountNV; + glad_debug_glMultiDrawArraysIndirectBindlessNV = glad_debug_impl_glMultiDrawArraysIndirectBindlessNV; + glad_debug_glMultiDrawArraysIndirectCount = glad_debug_impl_glMultiDrawArraysIndirectCount; + glad_debug_glMultiDrawArraysIndirectCountARB = glad_debug_impl_glMultiDrawArraysIndirectCountARB; + glad_debug_glMultiDrawElements = glad_debug_impl_glMultiDrawElements; + glad_debug_glMultiDrawElementsBaseVertex = glad_debug_impl_glMultiDrawElementsBaseVertex; + glad_debug_glMultiDrawElementsEXT = glad_debug_impl_glMultiDrawElementsEXT; + glad_debug_glMultiDrawElementsIndirect = glad_debug_impl_glMultiDrawElementsIndirect; + glad_debug_glMultiDrawElementsIndirectAMD = glad_debug_impl_glMultiDrawElementsIndirectAMD; + glad_debug_glMultiDrawElementsIndirectBindlessCountNV = glad_debug_impl_glMultiDrawElementsIndirectBindlessCountNV; + glad_debug_glMultiDrawElementsIndirectBindlessNV = glad_debug_impl_glMultiDrawElementsIndirectBindlessNV; + glad_debug_glMultiDrawElementsIndirectCount = glad_debug_impl_glMultiDrawElementsIndirectCount; + glad_debug_glMultiDrawElementsIndirectCountARB = glad_debug_impl_glMultiDrawElementsIndirectCountARB; + glad_debug_glMultiTexBufferEXT = glad_debug_impl_glMultiTexBufferEXT; + glad_debug_glMultiTexCoord1dARB = glad_debug_impl_glMultiTexCoord1dARB; + glad_debug_glMultiTexCoord1dvARB = glad_debug_impl_glMultiTexCoord1dvARB; + glad_debug_glMultiTexCoord1fARB = glad_debug_impl_glMultiTexCoord1fARB; + glad_debug_glMultiTexCoord1fvARB = glad_debug_impl_glMultiTexCoord1fvARB; + glad_debug_glMultiTexCoord1iARB = glad_debug_impl_glMultiTexCoord1iARB; + glad_debug_glMultiTexCoord1ivARB = glad_debug_impl_glMultiTexCoord1ivARB; + glad_debug_glMultiTexCoord1sARB = glad_debug_impl_glMultiTexCoord1sARB; + glad_debug_glMultiTexCoord1svARB = glad_debug_impl_glMultiTexCoord1svARB; + glad_debug_glMultiTexCoord2dARB = glad_debug_impl_glMultiTexCoord2dARB; + glad_debug_glMultiTexCoord2dvARB = glad_debug_impl_glMultiTexCoord2dvARB; + glad_debug_glMultiTexCoord2fARB = glad_debug_impl_glMultiTexCoord2fARB; + glad_debug_glMultiTexCoord2fvARB = glad_debug_impl_glMultiTexCoord2fvARB; + glad_debug_glMultiTexCoord2iARB = glad_debug_impl_glMultiTexCoord2iARB; + glad_debug_glMultiTexCoord2ivARB = glad_debug_impl_glMultiTexCoord2ivARB; + glad_debug_glMultiTexCoord2sARB = glad_debug_impl_glMultiTexCoord2sARB; + glad_debug_glMultiTexCoord2svARB = glad_debug_impl_glMultiTexCoord2svARB; + glad_debug_glMultiTexCoord3dARB = glad_debug_impl_glMultiTexCoord3dARB; + glad_debug_glMultiTexCoord3dvARB = glad_debug_impl_glMultiTexCoord3dvARB; + glad_debug_glMultiTexCoord3fARB = glad_debug_impl_glMultiTexCoord3fARB; + glad_debug_glMultiTexCoord3fvARB = glad_debug_impl_glMultiTexCoord3fvARB; + glad_debug_glMultiTexCoord3iARB = glad_debug_impl_glMultiTexCoord3iARB; + glad_debug_glMultiTexCoord3ivARB = glad_debug_impl_glMultiTexCoord3ivARB; + glad_debug_glMultiTexCoord3sARB = glad_debug_impl_glMultiTexCoord3sARB; + glad_debug_glMultiTexCoord3svARB = glad_debug_impl_glMultiTexCoord3svARB; + glad_debug_glMultiTexCoord4dARB = glad_debug_impl_glMultiTexCoord4dARB; + glad_debug_glMultiTexCoord4dvARB = glad_debug_impl_glMultiTexCoord4dvARB; + glad_debug_glMultiTexCoord4fARB = glad_debug_impl_glMultiTexCoord4fARB; + glad_debug_glMultiTexCoord4fvARB = glad_debug_impl_glMultiTexCoord4fvARB; + glad_debug_glMultiTexCoord4iARB = glad_debug_impl_glMultiTexCoord4iARB; + glad_debug_glMultiTexCoord4ivARB = glad_debug_impl_glMultiTexCoord4ivARB; + glad_debug_glMultiTexCoord4sARB = glad_debug_impl_glMultiTexCoord4sARB; + glad_debug_glMultiTexCoord4svARB = glad_debug_impl_glMultiTexCoord4svARB; + glad_debug_glMultiTexCoordPointerEXT = glad_debug_impl_glMultiTexCoordPointerEXT; + glad_debug_glMultiTexEnvfEXT = glad_debug_impl_glMultiTexEnvfEXT; + glad_debug_glMultiTexEnvfvEXT = glad_debug_impl_glMultiTexEnvfvEXT; + glad_debug_glMultiTexEnviEXT = glad_debug_impl_glMultiTexEnviEXT; + glad_debug_glMultiTexEnvivEXT = glad_debug_impl_glMultiTexEnvivEXT; + glad_debug_glMultiTexGendEXT = glad_debug_impl_glMultiTexGendEXT; + glad_debug_glMultiTexGendvEXT = glad_debug_impl_glMultiTexGendvEXT; + glad_debug_glMultiTexGenfEXT = glad_debug_impl_glMultiTexGenfEXT; + glad_debug_glMultiTexGenfvEXT = glad_debug_impl_glMultiTexGenfvEXT; + glad_debug_glMultiTexGeniEXT = glad_debug_impl_glMultiTexGeniEXT; + glad_debug_glMultiTexGenivEXT = glad_debug_impl_glMultiTexGenivEXT; + glad_debug_glMultiTexImage1DEXT = glad_debug_impl_glMultiTexImage1DEXT; + glad_debug_glMultiTexImage2DEXT = glad_debug_impl_glMultiTexImage2DEXT; + glad_debug_glMultiTexImage3DEXT = glad_debug_impl_glMultiTexImage3DEXT; + glad_debug_glMultiTexParameterIivEXT = glad_debug_impl_glMultiTexParameterIivEXT; + glad_debug_glMultiTexParameterIuivEXT = glad_debug_impl_glMultiTexParameterIuivEXT; + glad_debug_glMultiTexParameterfEXT = glad_debug_impl_glMultiTexParameterfEXT; + glad_debug_glMultiTexParameterfvEXT = glad_debug_impl_glMultiTexParameterfvEXT; + glad_debug_glMultiTexParameteriEXT = glad_debug_impl_glMultiTexParameteriEXT; + glad_debug_glMultiTexParameterivEXT = glad_debug_impl_glMultiTexParameterivEXT; + glad_debug_glMultiTexRenderbufferEXT = glad_debug_impl_glMultiTexRenderbufferEXT; + glad_debug_glMultiTexSubImage1DEXT = glad_debug_impl_glMultiTexSubImage1DEXT; + glad_debug_glMultiTexSubImage2DEXT = glad_debug_impl_glMultiTexSubImage2DEXT; + glad_debug_glMultiTexSubImage3DEXT = glad_debug_impl_glMultiTexSubImage3DEXT; + glad_debug_glNamedBufferData = glad_debug_impl_glNamedBufferData; + glad_debug_glNamedBufferDataEXT = glad_debug_impl_glNamedBufferDataEXT; + glad_debug_glNamedBufferStorage = glad_debug_impl_glNamedBufferStorage; + glad_debug_glNamedBufferStorageEXT = glad_debug_impl_glNamedBufferStorageEXT; + glad_debug_glNamedBufferSubData = glad_debug_impl_glNamedBufferSubData; + glad_debug_glNamedBufferSubDataEXT = glad_debug_impl_glNamedBufferSubDataEXT; + glad_debug_glNamedCopyBufferSubDataEXT = glad_debug_impl_glNamedCopyBufferSubDataEXT; + glad_debug_glNamedFramebufferDrawBuffer = glad_debug_impl_glNamedFramebufferDrawBuffer; + glad_debug_glNamedFramebufferDrawBuffers = glad_debug_impl_glNamedFramebufferDrawBuffers; + glad_debug_glNamedFramebufferParameteri = glad_debug_impl_glNamedFramebufferParameteri; + glad_debug_glNamedFramebufferParameteriEXT = glad_debug_impl_glNamedFramebufferParameteriEXT; + glad_debug_glNamedFramebufferReadBuffer = glad_debug_impl_glNamedFramebufferReadBuffer; + glad_debug_glNamedFramebufferRenderbuffer = glad_debug_impl_glNamedFramebufferRenderbuffer; + glad_debug_glNamedFramebufferRenderbufferEXT = glad_debug_impl_glNamedFramebufferRenderbufferEXT; + glad_debug_glNamedFramebufferTexture = glad_debug_impl_glNamedFramebufferTexture; + glad_debug_glNamedFramebufferTexture1DEXT = glad_debug_impl_glNamedFramebufferTexture1DEXT; + glad_debug_glNamedFramebufferTexture2DEXT = glad_debug_impl_glNamedFramebufferTexture2DEXT; + glad_debug_glNamedFramebufferTexture3DEXT = glad_debug_impl_glNamedFramebufferTexture3DEXT; + glad_debug_glNamedFramebufferTextureEXT = glad_debug_impl_glNamedFramebufferTextureEXT; + glad_debug_glNamedFramebufferTextureFaceEXT = glad_debug_impl_glNamedFramebufferTextureFaceEXT; + glad_debug_glNamedFramebufferTextureLayer = glad_debug_impl_glNamedFramebufferTextureLayer; + glad_debug_glNamedFramebufferTextureLayerEXT = glad_debug_impl_glNamedFramebufferTextureLayerEXT; + glad_debug_glNamedProgramLocalParameter4dEXT = glad_debug_impl_glNamedProgramLocalParameter4dEXT; + glad_debug_glNamedProgramLocalParameter4dvEXT = glad_debug_impl_glNamedProgramLocalParameter4dvEXT; + glad_debug_glNamedProgramLocalParameter4fEXT = glad_debug_impl_glNamedProgramLocalParameter4fEXT; + glad_debug_glNamedProgramLocalParameter4fvEXT = glad_debug_impl_glNamedProgramLocalParameter4fvEXT; + glad_debug_glNamedProgramLocalParameterI4iEXT = glad_debug_impl_glNamedProgramLocalParameterI4iEXT; + glad_debug_glNamedProgramLocalParameterI4ivEXT = glad_debug_impl_glNamedProgramLocalParameterI4ivEXT; + glad_debug_glNamedProgramLocalParameterI4uiEXT = glad_debug_impl_glNamedProgramLocalParameterI4uiEXT; + glad_debug_glNamedProgramLocalParameterI4uivEXT = glad_debug_impl_glNamedProgramLocalParameterI4uivEXT; + glad_debug_glNamedProgramLocalParameters4fvEXT = glad_debug_impl_glNamedProgramLocalParameters4fvEXT; + glad_debug_glNamedProgramLocalParametersI4ivEXT = glad_debug_impl_glNamedProgramLocalParametersI4ivEXT; + glad_debug_glNamedProgramLocalParametersI4uivEXT = glad_debug_impl_glNamedProgramLocalParametersI4uivEXT; + glad_debug_glNamedProgramStringEXT = glad_debug_impl_glNamedProgramStringEXT; + glad_debug_glNamedRenderbufferStorage = glad_debug_impl_glNamedRenderbufferStorage; + glad_debug_glNamedRenderbufferStorageEXT = glad_debug_impl_glNamedRenderbufferStorageEXT; + glad_debug_glNamedRenderbufferStorageMultisample = glad_debug_impl_glNamedRenderbufferStorageMultisample; + glad_debug_glNamedRenderbufferStorageMultisampleCoverageEXT = glad_debug_impl_glNamedRenderbufferStorageMultisampleCoverageEXT; + glad_debug_glNamedRenderbufferStorageMultisampleEXT = glad_debug_impl_glNamedRenderbufferStorageMultisampleEXT; + glad_debug_glNormalPointerEXT = glad_debug_impl_glNormalPointerEXT; + glad_debug_glObjectLabel = glad_debug_impl_glObjectLabel; + glad_debug_glObjectPtrLabel = glad_debug_impl_glObjectPtrLabel; + glad_debug_glOrthofOES = glad_debug_impl_glOrthofOES; + glad_debug_glPatchParameterfv = glad_debug_impl_glPatchParameterfv; + glad_debug_glPatchParameteri = glad_debug_impl_glPatchParameteri; + glad_debug_glPauseTransformFeedback = glad_debug_impl_glPauseTransformFeedback; + glad_debug_glPauseTransformFeedbackNV = glad_debug_impl_glPauseTransformFeedbackNV; + glad_debug_glPixelStoref = glad_debug_impl_glPixelStoref; + glad_debug_glPixelStorei = glad_debug_impl_glPixelStorei; + glad_debug_glPointParameterf = glad_debug_impl_glPointParameterf; + glad_debug_glPointParameterfARB = glad_debug_impl_glPointParameterfARB; + glad_debug_glPointParameterfEXT = glad_debug_impl_glPointParameterfEXT; + glad_debug_glPointParameterfSGIS = glad_debug_impl_glPointParameterfSGIS; + glad_debug_glPointParameterfv = glad_debug_impl_glPointParameterfv; + glad_debug_glPointParameterfvARB = glad_debug_impl_glPointParameterfvARB; + glad_debug_glPointParameterfvEXT = glad_debug_impl_glPointParameterfvEXT; + glad_debug_glPointParameterfvSGIS = glad_debug_impl_glPointParameterfvSGIS; + glad_debug_glPointParameteri = glad_debug_impl_glPointParameteri; + glad_debug_glPointParameteriNV = glad_debug_impl_glPointParameteriNV; + glad_debug_glPointParameteriv = glad_debug_impl_glPointParameteriv; + glad_debug_glPointParameterivNV = glad_debug_impl_glPointParameterivNV; + glad_debug_glPointSize = glad_debug_impl_glPointSize; + glad_debug_glPolygonMode = glad_debug_impl_glPolygonMode; + glad_debug_glPolygonOffset = glad_debug_impl_glPolygonOffset; + glad_debug_glPolygonOffsetClamp = glad_debug_impl_glPolygonOffsetClamp; + glad_debug_glPolygonOffsetClampEXT = glad_debug_impl_glPolygonOffsetClampEXT; + glad_debug_glPopDebugGroup = glad_debug_impl_glPopDebugGroup; + glad_debug_glPrimitiveRestartIndex = glad_debug_impl_glPrimitiveRestartIndex; + glad_debug_glPrioritizeTexturesEXT = glad_debug_impl_glPrioritizeTexturesEXT; + glad_debug_glProgramBinary = glad_debug_impl_glProgramBinary; + glad_debug_glProgramEnvParameter4dARB = glad_debug_impl_glProgramEnvParameter4dARB; + glad_debug_glProgramEnvParameter4dvARB = glad_debug_impl_glProgramEnvParameter4dvARB; + glad_debug_glProgramEnvParameter4fARB = glad_debug_impl_glProgramEnvParameter4fARB; + glad_debug_glProgramEnvParameter4fvARB = glad_debug_impl_glProgramEnvParameter4fvARB; + glad_debug_glProgramLocalParameter4dARB = glad_debug_impl_glProgramLocalParameter4dARB; + glad_debug_glProgramLocalParameter4dvARB = glad_debug_impl_glProgramLocalParameter4dvARB; + glad_debug_glProgramLocalParameter4fARB = glad_debug_impl_glProgramLocalParameter4fARB; + glad_debug_glProgramLocalParameter4fvARB = glad_debug_impl_glProgramLocalParameter4fvARB; + glad_debug_glProgramParameter4dNV = glad_debug_impl_glProgramParameter4dNV; + glad_debug_glProgramParameter4dvNV = glad_debug_impl_glProgramParameter4dvNV; + glad_debug_glProgramParameter4fNV = glad_debug_impl_glProgramParameter4fNV; + glad_debug_glProgramParameter4fvNV = glad_debug_impl_glProgramParameter4fvNV; + glad_debug_glProgramParameteri = glad_debug_impl_glProgramParameteri; + glad_debug_glProgramParameteriARB = glad_debug_impl_glProgramParameteriARB; + glad_debug_glProgramParameteriEXT = glad_debug_impl_glProgramParameteriEXT; + glad_debug_glProgramParameters4dvNV = glad_debug_impl_glProgramParameters4dvNV; + glad_debug_glProgramParameters4fvNV = glad_debug_impl_glProgramParameters4fvNV; + glad_debug_glProgramStringARB = glad_debug_impl_glProgramStringARB; + glad_debug_glProgramUniform1d = glad_debug_impl_glProgramUniform1d; + glad_debug_glProgramUniform1dEXT = glad_debug_impl_glProgramUniform1dEXT; + glad_debug_glProgramUniform1dv = glad_debug_impl_glProgramUniform1dv; + glad_debug_glProgramUniform1dvEXT = glad_debug_impl_glProgramUniform1dvEXT; + glad_debug_glProgramUniform1f = glad_debug_impl_glProgramUniform1f; + glad_debug_glProgramUniform1fEXT = glad_debug_impl_glProgramUniform1fEXT; + glad_debug_glProgramUniform1fv = glad_debug_impl_glProgramUniform1fv; + glad_debug_glProgramUniform1fvEXT = glad_debug_impl_glProgramUniform1fvEXT; + glad_debug_glProgramUniform1i = glad_debug_impl_glProgramUniform1i; + glad_debug_glProgramUniform1iEXT = glad_debug_impl_glProgramUniform1iEXT; + glad_debug_glProgramUniform1iv = glad_debug_impl_glProgramUniform1iv; + glad_debug_glProgramUniform1ivEXT = glad_debug_impl_glProgramUniform1ivEXT; + glad_debug_glProgramUniform1ui = glad_debug_impl_glProgramUniform1ui; + glad_debug_glProgramUniform1uiEXT = glad_debug_impl_glProgramUniform1uiEXT; + glad_debug_glProgramUniform1uiv = glad_debug_impl_glProgramUniform1uiv; + glad_debug_glProgramUniform1uivEXT = glad_debug_impl_glProgramUniform1uivEXT; + glad_debug_glProgramUniform2d = glad_debug_impl_glProgramUniform2d; + glad_debug_glProgramUniform2dEXT = glad_debug_impl_glProgramUniform2dEXT; + glad_debug_glProgramUniform2dv = glad_debug_impl_glProgramUniform2dv; + glad_debug_glProgramUniform2dvEXT = glad_debug_impl_glProgramUniform2dvEXT; + glad_debug_glProgramUniform2f = glad_debug_impl_glProgramUniform2f; + glad_debug_glProgramUniform2fEXT = glad_debug_impl_glProgramUniform2fEXT; + glad_debug_glProgramUniform2fv = glad_debug_impl_glProgramUniform2fv; + glad_debug_glProgramUniform2fvEXT = glad_debug_impl_glProgramUniform2fvEXT; + glad_debug_glProgramUniform2i = glad_debug_impl_glProgramUniform2i; + glad_debug_glProgramUniform2iEXT = glad_debug_impl_glProgramUniform2iEXT; + glad_debug_glProgramUniform2iv = glad_debug_impl_glProgramUniform2iv; + glad_debug_glProgramUniform2ivEXT = glad_debug_impl_glProgramUniform2ivEXT; + glad_debug_glProgramUniform2ui = glad_debug_impl_glProgramUniform2ui; + glad_debug_glProgramUniform2uiEXT = glad_debug_impl_glProgramUniform2uiEXT; + glad_debug_glProgramUniform2uiv = glad_debug_impl_glProgramUniform2uiv; + glad_debug_glProgramUniform2uivEXT = glad_debug_impl_glProgramUniform2uivEXT; + glad_debug_glProgramUniform3d = glad_debug_impl_glProgramUniform3d; + glad_debug_glProgramUniform3dEXT = glad_debug_impl_glProgramUniform3dEXT; + glad_debug_glProgramUniform3dv = glad_debug_impl_glProgramUniform3dv; + glad_debug_glProgramUniform3dvEXT = glad_debug_impl_glProgramUniform3dvEXT; + glad_debug_glProgramUniform3f = glad_debug_impl_glProgramUniform3f; + glad_debug_glProgramUniform3fEXT = glad_debug_impl_glProgramUniform3fEXT; + glad_debug_glProgramUniform3fv = glad_debug_impl_glProgramUniform3fv; + glad_debug_glProgramUniform3fvEXT = glad_debug_impl_glProgramUniform3fvEXT; + glad_debug_glProgramUniform3i = glad_debug_impl_glProgramUniform3i; + glad_debug_glProgramUniform3iEXT = glad_debug_impl_glProgramUniform3iEXT; + glad_debug_glProgramUniform3iv = glad_debug_impl_glProgramUniform3iv; + glad_debug_glProgramUniform3ivEXT = glad_debug_impl_glProgramUniform3ivEXT; + glad_debug_glProgramUniform3ui = glad_debug_impl_glProgramUniform3ui; + glad_debug_glProgramUniform3uiEXT = glad_debug_impl_glProgramUniform3uiEXT; + glad_debug_glProgramUniform3uiv = glad_debug_impl_glProgramUniform3uiv; + glad_debug_glProgramUniform3uivEXT = glad_debug_impl_glProgramUniform3uivEXT; + glad_debug_glProgramUniform4d = glad_debug_impl_glProgramUniform4d; + glad_debug_glProgramUniform4dEXT = glad_debug_impl_glProgramUniform4dEXT; + glad_debug_glProgramUniform4dv = glad_debug_impl_glProgramUniform4dv; + glad_debug_glProgramUniform4dvEXT = glad_debug_impl_glProgramUniform4dvEXT; + glad_debug_glProgramUniform4f = glad_debug_impl_glProgramUniform4f; + glad_debug_glProgramUniform4fEXT = glad_debug_impl_glProgramUniform4fEXT; + glad_debug_glProgramUniform4fv = glad_debug_impl_glProgramUniform4fv; + glad_debug_glProgramUniform4fvEXT = glad_debug_impl_glProgramUniform4fvEXT; + glad_debug_glProgramUniform4i = glad_debug_impl_glProgramUniform4i; + glad_debug_glProgramUniform4iEXT = glad_debug_impl_glProgramUniform4iEXT; + glad_debug_glProgramUniform4iv = glad_debug_impl_glProgramUniform4iv; + glad_debug_glProgramUniform4ivEXT = glad_debug_impl_glProgramUniform4ivEXT; + glad_debug_glProgramUniform4ui = glad_debug_impl_glProgramUniform4ui; + glad_debug_glProgramUniform4uiEXT = glad_debug_impl_glProgramUniform4uiEXT; + glad_debug_glProgramUniform4uiv = glad_debug_impl_glProgramUniform4uiv; + glad_debug_glProgramUniform4uivEXT = glad_debug_impl_glProgramUniform4uivEXT; + glad_debug_glProgramUniformHandleui64ARB = glad_debug_impl_glProgramUniformHandleui64ARB; + glad_debug_glProgramUniformHandleui64NV = glad_debug_impl_glProgramUniformHandleui64NV; + glad_debug_glProgramUniformHandleui64vARB = glad_debug_impl_glProgramUniformHandleui64vARB; + glad_debug_glProgramUniformHandleui64vNV = glad_debug_impl_glProgramUniformHandleui64vNV; + glad_debug_glProgramUniformMatrix2dv = glad_debug_impl_glProgramUniformMatrix2dv; + glad_debug_glProgramUniformMatrix2dvEXT = glad_debug_impl_glProgramUniformMatrix2dvEXT; + glad_debug_glProgramUniformMatrix2fv = glad_debug_impl_glProgramUniformMatrix2fv; + glad_debug_glProgramUniformMatrix2fvEXT = glad_debug_impl_glProgramUniformMatrix2fvEXT; + glad_debug_glProgramUniformMatrix2x3dv = glad_debug_impl_glProgramUniformMatrix2x3dv; + glad_debug_glProgramUniformMatrix2x3dvEXT = glad_debug_impl_glProgramUniformMatrix2x3dvEXT; + glad_debug_glProgramUniformMatrix2x3fv = glad_debug_impl_glProgramUniformMatrix2x3fv; + glad_debug_glProgramUniformMatrix2x3fvEXT = glad_debug_impl_glProgramUniformMatrix2x3fvEXT; + glad_debug_glProgramUniformMatrix2x4dv = glad_debug_impl_glProgramUniformMatrix2x4dv; + glad_debug_glProgramUniformMatrix2x4dvEXT = glad_debug_impl_glProgramUniformMatrix2x4dvEXT; + glad_debug_glProgramUniformMatrix2x4fv = glad_debug_impl_glProgramUniformMatrix2x4fv; + glad_debug_glProgramUniformMatrix2x4fvEXT = glad_debug_impl_glProgramUniformMatrix2x4fvEXT; + glad_debug_glProgramUniformMatrix3dv = glad_debug_impl_glProgramUniformMatrix3dv; + glad_debug_glProgramUniformMatrix3dvEXT = glad_debug_impl_glProgramUniformMatrix3dvEXT; + glad_debug_glProgramUniformMatrix3fv = glad_debug_impl_glProgramUniformMatrix3fv; + glad_debug_glProgramUniformMatrix3fvEXT = glad_debug_impl_glProgramUniformMatrix3fvEXT; + glad_debug_glProgramUniformMatrix3x2dv = glad_debug_impl_glProgramUniformMatrix3x2dv; + glad_debug_glProgramUniformMatrix3x2dvEXT = glad_debug_impl_glProgramUniformMatrix3x2dvEXT; + glad_debug_glProgramUniformMatrix3x2fv = glad_debug_impl_glProgramUniformMatrix3x2fv; + glad_debug_glProgramUniformMatrix3x2fvEXT = glad_debug_impl_glProgramUniformMatrix3x2fvEXT; + glad_debug_glProgramUniformMatrix3x4dv = glad_debug_impl_glProgramUniformMatrix3x4dv; + glad_debug_glProgramUniformMatrix3x4dvEXT = glad_debug_impl_glProgramUniformMatrix3x4dvEXT; + glad_debug_glProgramUniformMatrix3x4fv = glad_debug_impl_glProgramUniformMatrix3x4fv; + glad_debug_glProgramUniformMatrix3x4fvEXT = glad_debug_impl_glProgramUniformMatrix3x4fvEXT; + glad_debug_glProgramUniformMatrix4dv = glad_debug_impl_glProgramUniformMatrix4dv; + glad_debug_glProgramUniformMatrix4dvEXT = glad_debug_impl_glProgramUniformMatrix4dvEXT; + glad_debug_glProgramUniformMatrix4fv = glad_debug_impl_glProgramUniformMatrix4fv; + glad_debug_glProgramUniformMatrix4fvEXT = glad_debug_impl_glProgramUniformMatrix4fvEXT; + glad_debug_glProgramUniformMatrix4x2dv = glad_debug_impl_glProgramUniformMatrix4x2dv; + glad_debug_glProgramUniformMatrix4x2dvEXT = glad_debug_impl_glProgramUniformMatrix4x2dvEXT; + glad_debug_glProgramUniformMatrix4x2fv = glad_debug_impl_glProgramUniformMatrix4x2fv; + glad_debug_glProgramUniformMatrix4x2fvEXT = glad_debug_impl_glProgramUniformMatrix4x2fvEXT; + glad_debug_glProgramUniformMatrix4x3dv = glad_debug_impl_glProgramUniformMatrix4x3dv; + glad_debug_glProgramUniformMatrix4x3dvEXT = glad_debug_impl_glProgramUniformMatrix4x3dvEXT; + glad_debug_glProgramUniformMatrix4x3fv = glad_debug_impl_glProgramUniformMatrix4x3fv; + glad_debug_glProgramUniformMatrix4x3fvEXT = glad_debug_impl_glProgramUniformMatrix4x3fvEXT; + glad_debug_glProgramVertexLimitNV = glad_debug_impl_glProgramVertexLimitNV; + glad_debug_glProvokingVertex = glad_debug_impl_glProvokingVertex; + glad_debug_glProvokingVertexEXT = glad_debug_impl_glProvokingVertexEXT; + glad_debug_glPushClientAttribDefaultEXT = glad_debug_impl_glPushClientAttribDefaultEXT; + glad_debug_glPushDebugGroup = glad_debug_impl_glPushDebugGroup; + glad_debug_glQueryCounter = glad_debug_impl_glQueryCounter; + glad_debug_glReadBuffer = glad_debug_impl_glReadBuffer; + glad_debug_glReadPixels = glad_debug_impl_glReadPixels; + glad_debug_glReadnPixels = glad_debug_impl_glReadnPixels; + glad_debug_glReadnPixelsARB = glad_debug_impl_glReadnPixelsARB; + glad_debug_glReleaseShaderCompiler = glad_debug_impl_glReleaseShaderCompiler; + glad_debug_glRenderbufferStorage = glad_debug_impl_glRenderbufferStorage; + glad_debug_glRenderbufferStorageEXT = glad_debug_impl_glRenderbufferStorageEXT; + glad_debug_glRenderbufferStorageMultisample = glad_debug_impl_glRenderbufferStorageMultisample; + glad_debug_glRenderbufferStorageMultisampleEXT = glad_debug_impl_glRenderbufferStorageMultisampleEXT; + glad_debug_glRequestResidentProgramsNV = glad_debug_impl_glRequestResidentProgramsNV; + glad_debug_glResumeTransformFeedback = glad_debug_impl_glResumeTransformFeedback; + glad_debug_glResumeTransformFeedbackNV = glad_debug_impl_glResumeTransformFeedbackNV; + glad_debug_glSampleCoverage = glad_debug_impl_glSampleCoverage; + glad_debug_glSampleCoverageARB = glad_debug_impl_glSampleCoverageARB; + glad_debug_glSampleMaskIndexedNV = glad_debug_impl_glSampleMaskIndexedNV; + glad_debug_glSampleMaski = glad_debug_impl_glSampleMaski; + glad_debug_glSamplerParameterIiv = glad_debug_impl_glSamplerParameterIiv; + glad_debug_glSamplerParameterIuiv = glad_debug_impl_glSamplerParameterIuiv; + glad_debug_glSamplerParameterf = glad_debug_impl_glSamplerParameterf; + glad_debug_glSamplerParameterfv = glad_debug_impl_glSamplerParameterfv; + glad_debug_glSamplerParameteri = glad_debug_impl_glSamplerParameteri; + glad_debug_glSamplerParameteriv = glad_debug_impl_glSamplerParameteriv; + glad_debug_glScissor = glad_debug_impl_glScissor; + glad_debug_glScissorArrayv = glad_debug_impl_glScissorArrayv; + glad_debug_glScissorIndexed = glad_debug_impl_glScissorIndexed; + glad_debug_glScissorIndexedv = glad_debug_impl_glScissorIndexedv; + glad_debug_glShaderBinary = glad_debug_impl_glShaderBinary; + glad_debug_glShaderSource = glad_debug_impl_glShaderSource; + glad_debug_glShaderSourceARB = glad_debug_impl_glShaderSourceARB; + glad_debug_glShaderStorageBlockBinding = glad_debug_impl_glShaderStorageBlockBinding; + glad_debug_glSpecializeShader = glad_debug_impl_glSpecializeShader; + glad_debug_glSpecializeShaderARB = glad_debug_impl_glSpecializeShaderARB; + glad_debug_glStencilFunc = glad_debug_impl_glStencilFunc; + glad_debug_glStencilFuncSeparate = glad_debug_impl_glStencilFuncSeparate; + glad_debug_glStencilFuncSeparateATI = glad_debug_impl_glStencilFuncSeparateATI; + glad_debug_glStencilMask = glad_debug_impl_glStencilMask; + glad_debug_glStencilMaskSeparate = glad_debug_impl_glStencilMaskSeparate; + glad_debug_glStencilOp = glad_debug_impl_glStencilOp; + glad_debug_glStencilOpSeparate = glad_debug_impl_glStencilOpSeparate; + glad_debug_glStencilOpSeparateATI = glad_debug_impl_glStencilOpSeparateATI; + glad_debug_glTexBuffer = glad_debug_impl_glTexBuffer; + glad_debug_glTexBufferARB = glad_debug_impl_glTexBufferARB; + glad_debug_glTexBufferEXT = glad_debug_impl_glTexBufferEXT; + glad_debug_glTexBufferRange = glad_debug_impl_glTexBufferRange; + glad_debug_glTexCoordPointerEXT = glad_debug_impl_glTexCoordPointerEXT; + glad_debug_glTexImage1D = glad_debug_impl_glTexImage1D; + glad_debug_glTexImage2D = glad_debug_impl_glTexImage2D; + glad_debug_glTexImage2DMultisample = glad_debug_impl_glTexImage2DMultisample; + glad_debug_glTexImage3D = glad_debug_impl_glTexImage3D; + glad_debug_glTexImage3DEXT = glad_debug_impl_glTexImage3DEXT; + glad_debug_glTexImage3DMultisample = glad_debug_impl_glTexImage3DMultisample; + glad_debug_glTexParameterIiv = glad_debug_impl_glTexParameterIiv; + glad_debug_glTexParameterIivEXT = glad_debug_impl_glTexParameterIivEXT; + glad_debug_glTexParameterIuiv = glad_debug_impl_glTexParameterIuiv; + glad_debug_glTexParameterIuivEXT = glad_debug_impl_glTexParameterIuivEXT; + glad_debug_glTexParameterf = glad_debug_impl_glTexParameterf; + glad_debug_glTexParameterfv = glad_debug_impl_glTexParameterfv; + glad_debug_glTexParameteri = glad_debug_impl_glTexParameteri; + glad_debug_glTexParameteriv = glad_debug_impl_glTexParameteriv; + glad_debug_glTexRenderbufferNV = glad_debug_impl_glTexRenderbufferNV; + glad_debug_glTexStorage1D = glad_debug_impl_glTexStorage1D; + glad_debug_glTexStorage1DEXT = glad_debug_impl_glTexStorage1DEXT; + glad_debug_glTexStorage2D = glad_debug_impl_glTexStorage2D; + glad_debug_glTexStorage2DEXT = glad_debug_impl_glTexStorage2DEXT; + glad_debug_glTexStorage2DMultisample = glad_debug_impl_glTexStorage2DMultisample; + glad_debug_glTexStorage3D = glad_debug_impl_glTexStorage3D; + glad_debug_glTexStorage3DEXT = glad_debug_impl_glTexStorage3DEXT; + glad_debug_glTexStorage3DMultisample = glad_debug_impl_glTexStorage3DMultisample; + glad_debug_glTexSubImage1D = glad_debug_impl_glTexSubImage1D; + glad_debug_glTexSubImage1DEXT = glad_debug_impl_glTexSubImage1DEXT; + glad_debug_glTexSubImage2D = glad_debug_impl_glTexSubImage2D; + glad_debug_glTexSubImage2DEXT = glad_debug_impl_glTexSubImage2DEXT; + glad_debug_glTexSubImage3D = glad_debug_impl_glTexSubImage3D; + glad_debug_glTexSubImage3DEXT = glad_debug_impl_glTexSubImage3DEXT; + glad_debug_glTextureBarrier = glad_debug_impl_glTextureBarrier; + glad_debug_glTextureBuffer = glad_debug_impl_glTextureBuffer; + glad_debug_glTextureBufferEXT = glad_debug_impl_glTextureBufferEXT; + glad_debug_glTextureBufferRange = glad_debug_impl_glTextureBufferRange; + glad_debug_glTextureBufferRangeEXT = glad_debug_impl_glTextureBufferRangeEXT; + glad_debug_glTextureImage1DEXT = glad_debug_impl_glTextureImage1DEXT; + glad_debug_glTextureImage2DEXT = glad_debug_impl_glTextureImage2DEXT; + glad_debug_glTextureImage3DEXT = glad_debug_impl_glTextureImage3DEXT; + glad_debug_glTexturePageCommitmentEXT = glad_debug_impl_glTexturePageCommitmentEXT; + glad_debug_glTextureParameterIiv = glad_debug_impl_glTextureParameterIiv; + glad_debug_glTextureParameterIivEXT = glad_debug_impl_glTextureParameterIivEXT; + glad_debug_glTextureParameterIuiv = glad_debug_impl_glTextureParameterIuiv; + glad_debug_glTextureParameterIuivEXT = glad_debug_impl_glTextureParameterIuivEXT; + glad_debug_glTextureParameterf = glad_debug_impl_glTextureParameterf; + glad_debug_glTextureParameterfEXT = glad_debug_impl_glTextureParameterfEXT; + glad_debug_glTextureParameterfv = glad_debug_impl_glTextureParameterfv; + glad_debug_glTextureParameterfvEXT = glad_debug_impl_glTextureParameterfvEXT; + glad_debug_glTextureParameteri = glad_debug_impl_glTextureParameteri; + glad_debug_glTextureParameteriEXT = glad_debug_impl_glTextureParameteriEXT; + glad_debug_glTextureParameteriv = glad_debug_impl_glTextureParameteriv; + glad_debug_glTextureParameterivEXT = glad_debug_impl_glTextureParameterivEXT; + glad_debug_glTextureRenderbufferEXT = glad_debug_impl_glTextureRenderbufferEXT; + glad_debug_glTextureStorage1D = glad_debug_impl_glTextureStorage1D; + glad_debug_glTextureStorage1DEXT = glad_debug_impl_glTextureStorage1DEXT; + glad_debug_glTextureStorage2D = glad_debug_impl_glTextureStorage2D; + glad_debug_glTextureStorage2DEXT = glad_debug_impl_glTextureStorage2DEXT; + glad_debug_glTextureStorage2DMultisample = glad_debug_impl_glTextureStorage2DMultisample; + glad_debug_glTextureStorage2DMultisampleEXT = glad_debug_impl_glTextureStorage2DMultisampleEXT; + glad_debug_glTextureStorage3D = glad_debug_impl_glTextureStorage3D; + glad_debug_glTextureStorage3DEXT = glad_debug_impl_glTextureStorage3DEXT; + glad_debug_glTextureStorage3DMultisample = glad_debug_impl_glTextureStorage3DMultisample; + glad_debug_glTextureStorage3DMultisampleEXT = glad_debug_impl_glTextureStorage3DMultisampleEXT; + glad_debug_glTextureSubImage1D = glad_debug_impl_glTextureSubImage1D; + glad_debug_glTextureSubImage1DEXT = glad_debug_impl_glTextureSubImage1DEXT; + glad_debug_glTextureSubImage2D = glad_debug_impl_glTextureSubImage2D; + glad_debug_glTextureSubImage2DEXT = glad_debug_impl_glTextureSubImage2DEXT; + glad_debug_glTextureSubImage3D = glad_debug_impl_glTextureSubImage3D; + glad_debug_glTextureSubImage3DEXT = glad_debug_impl_glTextureSubImage3DEXT; + glad_debug_glTextureView = glad_debug_impl_glTextureView; + glad_debug_glTrackMatrixNV = glad_debug_impl_glTrackMatrixNV; + glad_debug_glTransformFeedbackAttribsNV = glad_debug_impl_glTransformFeedbackAttribsNV; + glad_debug_glTransformFeedbackBufferBase = glad_debug_impl_glTransformFeedbackBufferBase; + glad_debug_glTransformFeedbackBufferRange = glad_debug_impl_glTransformFeedbackBufferRange; + glad_debug_glTransformFeedbackStreamAttribsNV = glad_debug_impl_glTransformFeedbackStreamAttribsNV; + glad_debug_glTransformFeedbackVaryings = glad_debug_impl_glTransformFeedbackVaryings; + glad_debug_glTransformFeedbackVaryingsEXT = glad_debug_impl_glTransformFeedbackVaryingsEXT; + glad_debug_glTransformFeedbackVaryingsNV = glad_debug_impl_glTransformFeedbackVaryingsNV; + glad_debug_glUniform1d = glad_debug_impl_glUniform1d; + glad_debug_glUniform1dv = glad_debug_impl_glUniform1dv; + glad_debug_glUniform1f = glad_debug_impl_glUniform1f; + glad_debug_glUniform1fARB = glad_debug_impl_glUniform1fARB; + glad_debug_glUniform1fv = glad_debug_impl_glUniform1fv; + glad_debug_glUniform1fvARB = glad_debug_impl_glUniform1fvARB; + glad_debug_glUniform1i = glad_debug_impl_glUniform1i; + glad_debug_glUniform1iARB = glad_debug_impl_glUniform1iARB; + glad_debug_glUniform1iv = glad_debug_impl_glUniform1iv; + glad_debug_glUniform1ivARB = glad_debug_impl_glUniform1ivARB; + glad_debug_glUniform1ui = glad_debug_impl_glUniform1ui; + glad_debug_glUniform1uiEXT = glad_debug_impl_glUniform1uiEXT; + glad_debug_glUniform1uiv = glad_debug_impl_glUniform1uiv; + glad_debug_glUniform1uivEXT = glad_debug_impl_glUniform1uivEXT; + glad_debug_glUniform2d = glad_debug_impl_glUniform2d; + glad_debug_glUniform2dv = glad_debug_impl_glUniform2dv; + glad_debug_glUniform2f = glad_debug_impl_glUniform2f; + glad_debug_glUniform2fARB = glad_debug_impl_glUniform2fARB; + glad_debug_glUniform2fv = glad_debug_impl_glUniform2fv; + glad_debug_glUniform2fvARB = glad_debug_impl_glUniform2fvARB; + glad_debug_glUniform2i = glad_debug_impl_glUniform2i; + glad_debug_glUniform2iARB = glad_debug_impl_glUniform2iARB; + glad_debug_glUniform2iv = glad_debug_impl_glUniform2iv; + glad_debug_glUniform2ivARB = glad_debug_impl_glUniform2ivARB; + glad_debug_glUniform2ui = glad_debug_impl_glUniform2ui; + glad_debug_glUniform2uiEXT = glad_debug_impl_glUniform2uiEXT; + glad_debug_glUniform2uiv = glad_debug_impl_glUniform2uiv; + glad_debug_glUniform2uivEXT = glad_debug_impl_glUniform2uivEXT; + glad_debug_glUniform3d = glad_debug_impl_glUniform3d; + glad_debug_glUniform3dv = glad_debug_impl_glUniform3dv; + glad_debug_glUniform3f = glad_debug_impl_glUniform3f; + glad_debug_glUniform3fARB = glad_debug_impl_glUniform3fARB; + glad_debug_glUniform3fv = glad_debug_impl_glUniform3fv; + glad_debug_glUniform3fvARB = glad_debug_impl_glUniform3fvARB; + glad_debug_glUniform3i = glad_debug_impl_glUniform3i; + glad_debug_glUniform3iARB = glad_debug_impl_glUniform3iARB; + glad_debug_glUniform3iv = glad_debug_impl_glUniform3iv; + glad_debug_glUniform3ivARB = glad_debug_impl_glUniform3ivARB; + glad_debug_glUniform3ui = glad_debug_impl_glUniform3ui; + glad_debug_glUniform3uiEXT = glad_debug_impl_glUniform3uiEXT; + glad_debug_glUniform3uiv = glad_debug_impl_glUniform3uiv; + glad_debug_glUniform3uivEXT = glad_debug_impl_glUniform3uivEXT; + glad_debug_glUniform4d = glad_debug_impl_glUniform4d; + glad_debug_glUniform4dv = glad_debug_impl_glUniform4dv; + glad_debug_glUniform4f = glad_debug_impl_glUniform4f; + glad_debug_glUniform4fARB = glad_debug_impl_glUniform4fARB; + glad_debug_glUniform4fv = glad_debug_impl_glUniform4fv; + glad_debug_glUniform4fvARB = glad_debug_impl_glUniform4fvARB; + glad_debug_glUniform4i = glad_debug_impl_glUniform4i; + glad_debug_glUniform4iARB = glad_debug_impl_glUniform4iARB; + glad_debug_glUniform4iv = glad_debug_impl_glUniform4iv; + glad_debug_glUniform4ivARB = glad_debug_impl_glUniform4ivARB; + glad_debug_glUniform4ui = glad_debug_impl_glUniform4ui; + glad_debug_glUniform4uiEXT = glad_debug_impl_glUniform4uiEXT; + glad_debug_glUniform4uiv = glad_debug_impl_glUniform4uiv; + glad_debug_glUniform4uivEXT = glad_debug_impl_glUniform4uivEXT; + glad_debug_glUniformBlockBinding = glad_debug_impl_glUniformBlockBinding; + glad_debug_glUniformHandleui64ARB = glad_debug_impl_glUniformHandleui64ARB; + glad_debug_glUniformHandleui64NV = glad_debug_impl_glUniformHandleui64NV; + glad_debug_glUniformHandleui64vARB = glad_debug_impl_glUniformHandleui64vARB; + glad_debug_glUniformHandleui64vNV = glad_debug_impl_glUniformHandleui64vNV; + glad_debug_glUniformMatrix2dv = glad_debug_impl_glUniformMatrix2dv; + glad_debug_glUniformMatrix2fv = glad_debug_impl_glUniformMatrix2fv; + glad_debug_glUniformMatrix2fvARB = glad_debug_impl_glUniformMatrix2fvARB; + glad_debug_glUniformMatrix2x3dv = glad_debug_impl_glUniformMatrix2x3dv; + glad_debug_glUniformMatrix2x3fv = glad_debug_impl_glUniformMatrix2x3fv; + glad_debug_glUniformMatrix2x4dv = glad_debug_impl_glUniformMatrix2x4dv; + glad_debug_glUniformMatrix2x4fv = glad_debug_impl_glUniformMatrix2x4fv; + glad_debug_glUniformMatrix3dv = glad_debug_impl_glUniformMatrix3dv; + glad_debug_glUniformMatrix3fv = glad_debug_impl_glUniformMatrix3fv; + glad_debug_glUniformMatrix3fvARB = glad_debug_impl_glUniformMatrix3fvARB; + glad_debug_glUniformMatrix3x2dv = glad_debug_impl_glUniformMatrix3x2dv; + glad_debug_glUniformMatrix3x2fv = glad_debug_impl_glUniformMatrix3x2fv; + glad_debug_glUniformMatrix3x4dv = glad_debug_impl_glUniformMatrix3x4dv; + glad_debug_glUniformMatrix3x4fv = glad_debug_impl_glUniformMatrix3x4fv; + glad_debug_glUniformMatrix4dv = glad_debug_impl_glUniformMatrix4dv; + glad_debug_glUniformMatrix4fv = glad_debug_impl_glUniformMatrix4fv; + glad_debug_glUniformMatrix4fvARB = glad_debug_impl_glUniformMatrix4fvARB; + glad_debug_glUniformMatrix4x2dv = glad_debug_impl_glUniformMatrix4x2dv; + glad_debug_glUniformMatrix4x2fv = glad_debug_impl_glUniformMatrix4x2fv; + glad_debug_glUniformMatrix4x3dv = glad_debug_impl_glUniformMatrix4x3dv; + glad_debug_glUniformMatrix4x3fv = glad_debug_impl_glUniformMatrix4x3fv; + glad_debug_glUniformSubroutinesuiv = glad_debug_impl_glUniformSubroutinesuiv; + glad_debug_glUnmapBuffer = glad_debug_impl_glUnmapBuffer; + glad_debug_glUnmapBufferARB = glad_debug_impl_glUnmapBufferARB; + glad_debug_glUnmapNamedBuffer = glad_debug_impl_glUnmapNamedBuffer; + glad_debug_glUnmapNamedBufferEXT = glad_debug_impl_glUnmapNamedBufferEXT; + glad_debug_glUseProgram = glad_debug_impl_glUseProgram; + glad_debug_glUseProgramObjectARB = glad_debug_impl_glUseProgramObjectARB; + glad_debug_glUseProgramStages = glad_debug_impl_glUseProgramStages; + glad_debug_glValidateProgram = glad_debug_impl_glValidateProgram; + glad_debug_glValidateProgramARB = glad_debug_impl_glValidateProgramARB; + glad_debug_glValidateProgramPipeline = glad_debug_impl_glValidateProgramPipeline; + glad_debug_glVertexArrayAttribBinding = glad_debug_impl_glVertexArrayAttribBinding; + glad_debug_glVertexArrayAttribFormat = glad_debug_impl_glVertexArrayAttribFormat; + glad_debug_glVertexArrayAttribIFormat = glad_debug_impl_glVertexArrayAttribIFormat; + glad_debug_glVertexArrayAttribLFormat = glad_debug_impl_glVertexArrayAttribLFormat; + glad_debug_glVertexArrayBindVertexBufferEXT = glad_debug_impl_glVertexArrayBindVertexBufferEXT; + glad_debug_glVertexArrayBindingDivisor = glad_debug_impl_glVertexArrayBindingDivisor; + glad_debug_glVertexArrayColorOffsetEXT = glad_debug_impl_glVertexArrayColorOffsetEXT; + glad_debug_glVertexArrayEdgeFlagOffsetEXT = glad_debug_impl_glVertexArrayEdgeFlagOffsetEXT; + glad_debug_glVertexArrayElementBuffer = glad_debug_impl_glVertexArrayElementBuffer; + glad_debug_glVertexArrayFogCoordOffsetEXT = glad_debug_impl_glVertexArrayFogCoordOffsetEXT; + glad_debug_glVertexArrayIndexOffsetEXT = glad_debug_impl_glVertexArrayIndexOffsetEXT; + glad_debug_glVertexArrayMultiTexCoordOffsetEXT = glad_debug_impl_glVertexArrayMultiTexCoordOffsetEXT; + glad_debug_glVertexArrayNormalOffsetEXT = glad_debug_impl_glVertexArrayNormalOffsetEXT; + glad_debug_glVertexArraySecondaryColorOffsetEXT = glad_debug_impl_glVertexArraySecondaryColorOffsetEXT; + glad_debug_glVertexArrayTexCoordOffsetEXT = glad_debug_impl_glVertexArrayTexCoordOffsetEXT; + glad_debug_glVertexArrayVertexAttribBindingEXT = glad_debug_impl_glVertexArrayVertexAttribBindingEXT; + glad_debug_glVertexArrayVertexAttribDivisorEXT = glad_debug_impl_glVertexArrayVertexAttribDivisorEXT; + glad_debug_glVertexArrayVertexAttribFormatEXT = glad_debug_impl_glVertexArrayVertexAttribFormatEXT; + glad_debug_glVertexArrayVertexAttribIFormatEXT = glad_debug_impl_glVertexArrayVertexAttribIFormatEXT; + glad_debug_glVertexArrayVertexAttribIOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribIOffsetEXT; + glad_debug_glVertexArrayVertexAttribLFormatEXT = glad_debug_impl_glVertexArrayVertexAttribLFormatEXT; + glad_debug_glVertexArrayVertexAttribLOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribLOffsetEXT; + glad_debug_glVertexArrayVertexAttribOffsetEXT = glad_debug_impl_glVertexArrayVertexAttribOffsetEXT; + glad_debug_glVertexArrayVertexBindingDivisorEXT = glad_debug_impl_glVertexArrayVertexBindingDivisorEXT; + glad_debug_glVertexArrayVertexBuffer = glad_debug_impl_glVertexArrayVertexBuffer; + glad_debug_glVertexArrayVertexBuffers = glad_debug_impl_glVertexArrayVertexBuffers; + glad_debug_glVertexArrayVertexOffsetEXT = glad_debug_impl_glVertexArrayVertexOffsetEXT; + glad_debug_glVertexAttrib1d = glad_debug_impl_glVertexAttrib1d; + glad_debug_glVertexAttrib1dARB = glad_debug_impl_glVertexAttrib1dARB; + glad_debug_glVertexAttrib1dNV = glad_debug_impl_glVertexAttrib1dNV; + glad_debug_glVertexAttrib1dv = glad_debug_impl_glVertexAttrib1dv; + glad_debug_glVertexAttrib1dvARB = glad_debug_impl_glVertexAttrib1dvARB; + glad_debug_glVertexAttrib1dvNV = glad_debug_impl_glVertexAttrib1dvNV; + glad_debug_glVertexAttrib1f = glad_debug_impl_glVertexAttrib1f; + glad_debug_glVertexAttrib1fARB = glad_debug_impl_glVertexAttrib1fARB; + glad_debug_glVertexAttrib1fNV = glad_debug_impl_glVertexAttrib1fNV; + glad_debug_glVertexAttrib1fv = glad_debug_impl_glVertexAttrib1fv; + glad_debug_glVertexAttrib1fvARB = glad_debug_impl_glVertexAttrib1fvARB; + glad_debug_glVertexAttrib1fvNV = glad_debug_impl_glVertexAttrib1fvNV; + glad_debug_glVertexAttrib1s = glad_debug_impl_glVertexAttrib1s; + glad_debug_glVertexAttrib1sARB = glad_debug_impl_glVertexAttrib1sARB; + glad_debug_glVertexAttrib1sNV = glad_debug_impl_glVertexAttrib1sNV; + glad_debug_glVertexAttrib1sv = glad_debug_impl_glVertexAttrib1sv; + glad_debug_glVertexAttrib1svARB = glad_debug_impl_glVertexAttrib1svARB; + glad_debug_glVertexAttrib1svNV = glad_debug_impl_glVertexAttrib1svNV; + glad_debug_glVertexAttrib2d = glad_debug_impl_glVertexAttrib2d; + glad_debug_glVertexAttrib2dARB = glad_debug_impl_glVertexAttrib2dARB; + glad_debug_glVertexAttrib2dNV = glad_debug_impl_glVertexAttrib2dNV; + glad_debug_glVertexAttrib2dv = glad_debug_impl_glVertexAttrib2dv; + glad_debug_glVertexAttrib2dvARB = glad_debug_impl_glVertexAttrib2dvARB; + glad_debug_glVertexAttrib2dvNV = glad_debug_impl_glVertexAttrib2dvNV; + glad_debug_glVertexAttrib2f = glad_debug_impl_glVertexAttrib2f; + glad_debug_glVertexAttrib2fARB = glad_debug_impl_glVertexAttrib2fARB; + glad_debug_glVertexAttrib2fNV = glad_debug_impl_glVertexAttrib2fNV; + glad_debug_glVertexAttrib2fv = glad_debug_impl_glVertexAttrib2fv; + glad_debug_glVertexAttrib2fvARB = glad_debug_impl_glVertexAttrib2fvARB; + glad_debug_glVertexAttrib2fvNV = glad_debug_impl_glVertexAttrib2fvNV; + glad_debug_glVertexAttrib2s = glad_debug_impl_glVertexAttrib2s; + glad_debug_glVertexAttrib2sARB = glad_debug_impl_glVertexAttrib2sARB; + glad_debug_glVertexAttrib2sNV = glad_debug_impl_glVertexAttrib2sNV; + glad_debug_glVertexAttrib2sv = glad_debug_impl_glVertexAttrib2sv; + glad_debug_glVertexAttrib2svARB = glad_debug_impl_glVertexAttrib2svARB; + glad_debug_glVertexAttrib2svNV = glad_debug_impl_glVertexAttrib2svNV; + glad_debug_glVertexAttrib3d = glad_debug_impl_glVertexAttrib3d; + glad_debug_glVertexAttrib3dARB = glad_debug_impl_glVertexAttrib3dARB; + glad_debug_glVertexAttrib3dNV = glad_debug_impl_glVertexAttrib3dNV; + glad_debug_glVertexAttrib3dv = glad_debug_impl_glVertexAttrib3dv; + glad_debug_glVertexAttrib3dvARB = glad_debug_impl_glVertexAttrib3dvARB; + glad_debug_glVertexAttrib3dvNV = glad_debug_impl_glVertexAttrib3dvNV; + glad_debug_glVertexAttrib3f = glad_debug_impl_glVertexAttrib3f; + glad_debug_glVertexAttrib3fARB = glad_debug_impl_glVertexAttrib3fARB; + glad_debug_glVertexAttrib3fNV = glad_debug_impl_glVertexAttrib3fNV; + glad_debug_glVertexAttrib3fv = glad_debug_impl_glVertexAttrib3fv; + glad_debug_glVertexAttrib3fvARB = glad_debug_impl_glVertexAttrib3fvARB; + glad_debug_glVertexAttrib3fvNV = glad_debug_impl_glVertexAttrib3fvNV; + glad_debug_glVertexAttrib3s = glad_debug_impl_glVertexAttrib3s; + glad_debug_glVertexAttrib3sARB = glad_debug_impl_glVertexAttrib3sARB; + glad_debug_glVertexAttrib3sNV = glad_debug_impl_glVertexAttrib3sNV; + glad_debug_glVertexAttrib3sv = glad_debug_impl_glVertexAttrib3sv; + glad_debug_glVertexAttrib3svARB = glad_debug_impl_glVertexAttrib3svARB; + glad_debug_glVertexAttrib3svNV = glad_debug_impl_glVertexAttrib3svNV; + glad_debug_glVertexAttrib4Nbv = glad_debug_impl_glVertexAttrib4Nbv; + glad_debug_glVertexAttrib4NbvARB = glad_debug_impl_glVertexAttrib4NbvARB; + glad_debug_glVertexAttrib4Niv = glad_debug_impl_glVertexAttrib4Niv; + glad_debug_glVertexAttrib4NivARB = glad_debug_impl_glVertexAttrib4NivARB; + glad_debug_glVertexAttrib4Nsv = glad_debug_impl_glVertexAttrib4Nsv; + glad_debug_glVertexAttrib4NsvARB = glad_debug_impl_glVertexAttrib4NsvARB; + glad_debug_glVertexAttrib4Nub = glad_debug_impl_glVertexAttrib4Nub; + glad_debug_glVertexAttrib4NubARB = glad_debug_impl_glVertexAttrib4NubARB; + glad_debug_glVertexAttrib4Nubv = glad_debug_impl_glVertexAttrib4Nubv; + glad_debug_glVertexAttrib4NubvARB = glad_debug_impl_glVertexAttrib4NubvARB; + glad_debug_glVertexAttrib4Nuiv = glad_debug_impl_glVertexAttrib4Nuiv; + glad_debug_glVertexAttrib4NuivARB = glad_debug_impl_glVertexAttrib4NuivARB; + glad_debug_glVertexAttrib4Nusv = glad_debug_impl_glVertexAttrib4Nusv; + glad_debug_glVertexAttrib4NusvARB = glad_debug_impl_glVertexAttrib4NusvARB; + glad_debug_glVertexAttrib4bv = glad_debug_impl_glVertexAttrib4bv; + glad_debug_glVertexAttrib4bvARB = glad_debug_impl_glVertexAttrib4bvARB; + glad_debug_glVertexAttrib4d = glad_debug_impl_glVertexAttrib4d; + glad_debug_glVertexAttrib4dARB = glad_debug_impl_glVertexAttrib4dARB; + glad_debug_glVertexAttrib4dNV = glad_debug_impl_glVertexAttrib4dNV; + glad_debug_glVertexAttrib4dv = glad_debug_impl_glVertexAttrib4dv; + glad_debug_glVertexAttrib4dvARB = glad_debug_impl_glVertexAttrib4dvARB; + glad_debug_glVertexAttrib4dvNV = glad_debug_impl_glVertexAttrib4dvNV; + glad_debug_glVertexAttrib4f = glad_debug_impl_glVertexAttrib4f; + glad_debug_glVertexAttrib4fARB = glad_debug_impl_glVertexAttrib4fARB; + glad_debug_glVertexAttrib4fNV = glad_debug_impl_glVertexAttrib4fNV; + glad_debug_glVertexAttrib4fv = glad_debug_impl_glVertexAttrib4fv; + glad_debug_glVertexAttrib4fvARB = glad_debug_impl_glVertexAttrib4fvARB; + glad_debug_glVertexAttrib4fvNV = glad_debug_impl_glVertexAttrib4fvNV; + glad_debug_glVertexAttrib4iv = glad_debug_impl_glVertexAttrib4iv; + glad_debug_glVertexAttrib4ivARB = glad_debug_impl_glVertexAttrib4ivARB; + glad_debug_glVertexAttrib4s = glad_debug_impl_glVertexAttrib4s; + glad_debug_glVertexAttrib4sARB = glad_debug_impl_glVertexAttrib4sARB; + glad_debug_glVertexAttrib4sNV = glad_debug_impl_glVertexAttrib4sNV; + glad_debug_glVertexAttrib4sv = glad_debug_impl_glVertexAttrib4sv; + glad_debug_glVertexAttrib4svARB = glad_debug_impl_glVertexAttrib4svARB; + glad_debug_glVertexAttrib4svNV = glad_debug_impl_glVertexAttrib4svNV; + glad_debug_glVertexAttrib4ubNV = glad_debug_impl_glVertexAttrib4ubNV; + glad_debug_glVertexAttrib4ubv = glad_debug_impl_glVertexAttrib4ubv; + glad_debug_glVertexAttrib4ubvARB = glad_debug_impl_glVertexAttrib4ubvARB; + glad_debug_glVertexAttrib4ubvNV = glad_debug_impl_glVertexAttrib4ubvNV; + glad_debug_glVertexAttrib4uiv = glad_debug_impl_glVertexAttrib4uiv; + glad_debug_glVertexAttrib4uivARB = glad_debug_impl_glVertexAttrib4uivARB; + glad_debug_glVertexAttrib4usv = glad_debug_impl_glVertexAttrib4usv; + glad_debug_glVertexAttrib4usvARB = glad_debug_impl_glVertexAttrib4usvARB; + glad_debug_glVertexAttribBinding = glad_debug_impl_glVertexAttribBinding; + glad_debug_glVertexAttribDivisor = glad_debug_impl_glVertexAttribDivisor; + glad_debug_glVertexAttribDivisorARB = glad_debug_impl_glVertexAttribDivisorARB; + glad_debug_glVertexAttribFormat = glad_debug_impl_glVertexAttribFormat; + glad_debug_glVertexAttribI1i = glad_debug_impl_glVertexAttribI1i; + glad_debug_glVertexAttribI1iEXT = glad_debug_impl_glVertexAttribI1iEXT; + glad_debug_glVertexAttribI1iv = glad_debug_impl_glVertexAttribI1iv; + glad_debug_glVertexAttribI1ivEXT = glad_debug_impl_glVertexAttribI1ivEXT; + glad_debug_glVertexAttribI1ui = glad_debug_impl_glVertexAttribI1ui; + glad_debug_glVertexAttribI1uiEXT = glad_debug_impl_glVertexAttribI1uiEXT; + glad_debug_glVertexAttribI1uiv = glad_debug_impl_glVertexAttribI1uiv; + glad_debug_glVertexAttribI1uivEXT = glad_debug_impl_glVertexAttribI1uivEXT; + glad_debug_glVertexAttribI2i = glad_debug_impl_glVertexAttribI2i; + glad_debug_glVertexAttribI2iEXT = glad_debug_impl_glVertexAttribI2iEXT; + glad_debug_glVertexAttribI2iv = glad_debug_impl_glVertexAttribI2iv; + glad_debug_glVertexAttribI2ivEXT = glad_debug_impl_glVertexAttribI2ivEXT; + glad_debug_glVertexAttribI2ui = glad_debug_impl_glVertexAttribI2ui; + glad_debug_glVertexAttribI2uiEXT = glad_debug_impl_glVertexAttribI2uiEXT; + glad_debug_glVertexAttribI2uiv = glad_debug_impl_glVertexAttribI2uiv; + glad_debug_glVertexAttribI2uivEXT = glad_debug_impl_glVertexAttribI2uivEXT; + glad_debug_glVertexAttribI3i = glad_debug_impl_glVertexAttribI3i; + glad_debug_glVertexAttribI3iEXT = glad_debug_impl_glVertexAttribI3iEXT; + glad_debug_glVertexAttribI3iv = glad_debug_impl_glVertexAttribI3iv; + glad_debug_glVertexAttribI3ivEXT = glad_debug_impl_glVertexAttribI3ivEXT; + glad_debug_glVertexAttribI3ui = glad_debug_impl_glVertexAttribI3ui; + glad_debug_glVertexAttribI3uiEXT = glad_debug_impl_glVertexAttribI3uiEXT; + glad_debug_glVertexAttribI3uiv = glad_debug_impl_glVertexAttribI3uiv; + glad_debug_glVertexAttribI3uivEXT = glad_debug_impl_glVertexAttribI3uivEXT; + glad_debug_glVertexAttribI4bv = glad_debug_impl_glVertexAttribI4bv; + glad_debug_glVertexAttribI4bvEXT = glad_debug_impl_glVertexAttribI4bvEXT; + glad_debug_glVertexAttribI4i = glad_debug_impl_glVertexAttribI4i; + glad_debug_glVertexAttribI4iEXT = glad_debug_impl_glVertexAttribI4iEXT; + glad_debug_glVertexAttribI4iv = glad_debug_impl_glVertexAttribI4iv; + glad_debug_glVertexAttribI4ivEXT = glad_debug_impl_glVertexAttribI4ivEXT; + glad_debug_glVertexAttribI4sv = glad_debug_impl_glVertexAttribI4sv; + glad_debug_glVertexAttribI4svEXT = glad_debug_impl_glVertexAttribI4svEXT; + glad_debug_glVertexAttribI4ubv = glad_debug_impl_glVertexAttribI4ubv; + glad_debug_glVertexAttribI4ubvEXT = glad_debug_impl_glVertexAttribI4ubvEXT; + glad_debug_glVertexAttribI4ui = glad_debug_impl_glVertexAttribI4ui; + glad_debug_glVertexAttribI4uiEXT = glad_debug_impl_glVertexAttribI4uiEXT; + glad_debug_glVertexAttribI4uiv = glad_debug_impl_glVertexAttribI4uiv; + glad_debug_glVertexAttribI4uivEXT = glad_debug_impl_glVertexAttribI4uivEXT; + glad_debug_glVertexAttribI4usv = glad_debug_impl_glVertexAttribI4usv; + glad_debug_glVertexAttribI4usvEXT = glad_debug_impl_glVertexAttribI4usvEXT; + glad_debug_glVertexAttribIFormat = glad_debug_impl_glVertexAttribIFormat; + glad_debug_glVertexAttribIPointer = glad_debug_impl_glVertexAttribIPointer; + glad_debug_glVertexAttribIPointerEXT = glad_debug_impl_glVertexAttribIPointerEXT; + glad_debug_glVertexAttribL1d = glad_debug_impl_glVertexAttribL1d; + glad_debug_glVertexAttribL1dEXT = glad_debug_impl_glVertexAttribL1dEXT; + glad_debug_glVertexAttribL1dv = glad_debug_impl_glVertexAttribL1dv; + glad_debug_glVertexAttribL1dvEXT = glad_debug_impl_glVertexAttribL1dvEXT; + glad_debug_glVertexAttribL1ui64ARB = glad_debug_impl_glVertexAttribL1ui64ARB; + glad_debug_glVertexAttribL1ui64vARB = glad_debug_impl_glVertexAttribL1ui64vARB; + glad_debug_glVertexAttribL2d = glad_debug_impl_glVertexAttribL2d; + glad_debug_glVertexAttribL2dEXT = glad_debug_impl_glVertexAttribL2dEXT; + glad_debug_glVertexAttribL2dv = glad_debug_impl_glVertexAttribL2dv; + glad_debug_glVertexAttribL2dvEXT = glad_debug_impl_glVertexAttribL2dvEXT; + glad_debug_glVertexAttribL3d = glad_debug_impl_glVertexAttribL3d; + glad_debug_glVertexAttribL3dEXT = glad_debug_impl_glVertexAttribL3dEXT; + glad_debug_glVertexAttribL3dv = glad_debug_impl_glVertexAttribL3dv; + glad_debug_glVertexAttribL3dvEXT = glad_debug_impl_glVertexAttribL3dvEXT; + glad_debug_glVertexAttribL4d = glad_debug_impl_glVertexAttribL4d; + glad_debug_glVertexAttribL4dEXT = glad_debug_impl_glVertexAttribL4dEXT; + glad_debug_glVertexAttribL4dv = glad_debug_impl_glVertexAttribL4dv; + glad_debug_glVertexAttribL4dvEXT = glad_debug_impl_glVertexAttribL4dvEXT; + glad_debug_glVertexAttribLFormat = glad_debug_impl_glVertexAttribLFormat; + glad_debug_glVertexAttribLPointer = glad_debug_impl_glVertexAttribLPointer; + glad_debug_glVertexAttribLPointerEXT = glad_debug_impl_glVertexAttribLPointerEXT; + glad_debug_glVertexAttribP1ui = glad_debug_impl_glVertexAttribP1ui; + glad_debug_glVertexAttribP1uiv = glad_debug_impl_glVertexAttribP1uiv; + glad_debug_glVertexAttribP2ui = glad_debug_impl_glVertexAttribP2ui; + glad_debug_glVertexAttribP2uiv = glad_debug_impl_glVertexAttribP2uiv; + glad_debug_glVertexAttribP3ui = glad_debug_impl_glVertexAttribP3ui; + glad_debug_glVertexAttribP3uiv = glad_debug_impl_glVertexAttribP3uiv; + glad_debug_glVertexAttribP4ui = glad_debug_impl_glVertexAttribP4ui; + glad_debug_glVertexAttribP4uiv = glad_debug_impl_glVertexAttribP4uiv; + glad_debug_glVertexAttribPointer = glad_debug_impl_glVertexAttribPointer; + glad_debug_glVertexAttribPointerARB = glad_debug_impl_glVertexAttribPointerARB; + glad_debug_glVertexAttribPointerNV = glad_debug_impl_glVertexAttribPointerNV; + glad_debug_glVertexAttribs1dvNV = glad_debug_impl_glVertexAttribs1dvNV; + glad_debug_glVertexAttribs1fvNV = glad_debug_impl_glVertexAttribs1fvNV; + glad_debug_glVertexAttribs1svNV = glad_debug_impl_glVertexAttribs1svNV; + glad_debug_glVertexAttribs2dvNV = glad_debug_impl_glVertexAttribs2dvNV; + glad_debug_glVertexAttribs2fvNV = glad_debug_impl_glVertexAttribs2fvNV; + glad_debug_glVertexAttribs2svNV = glad_debug_impl_glVertexAttribs2svNV; + glad_debug_glVertexAttribs3dvNV = glad_debug_impl_glVertexAttribs3dvNV; + glad_debug_glVertexAttribs3fvNV = glad_debug_impl_glVertexAttribs3fvNV; + glad_debug_glVertexAttribs3svNV = glad_debug_impl_glVertexAttribs3svNV; + glad_debug_glVertexAttribs4dvNV = glad_debug_impl_glVertexAttribs4dvNV; + glad_debug_glVertexAttribs4fvNV = glad_debug_impl_glVertexAttribs4fvNV; + glad_debug_glVertexAttribs4svNV = glad_debug_impl_glVertexAttribs4svNV; + glad_debug_glVertexAttribs4ubvNV = glad_debug_impl_glVertexAttribs4ubvNV; + glad_debug_glVertexBindingDivisor = glad_debug_impl_glVertexBindingDivisor; + glad_debug_glVertexPointerEXT = glad_debug_impl_glVertexPointerEXT; + glad_debug_glViewport = glad_debug_impl_glViewport; + glad_debug_glViewportArrayv = glad_debug_impl_glViewportArrayv; + glad_debug_glViewportIndexedf = glad_debug_impl_glViewportIndexedf; + glad_debug_glViewportIndexedfv = glad_debug_impl_glViewportIndexedfv; + glad_debug_glWaitSync = glad_debug_impl_glWaitSync; +} + +void gladUninstallGLDebug(void) { + glad_debug_glActiveShaderProgram = glad_glActiveShaderProgram; + glad_debug_glActiveTexture = glad_glActiveTexture; + glad_debug_glActiveTextureARB = glad_glActiveTextureARB; + glad_debug_glActiveVaryingNV = glad_glActiveVaryingNV; + glad_debug_glAreProgramsResidentNV = glad_glAreProgramsResidentNV; + glad_debug_glAreTexturesResidentEXT = glad_glAreTexturesResidentEXT; + glad_debug_glArrayElementEXT = glad_glArrayElementEXT; + glad_debug_glAttachObjectARB = glad_glAttachObjectARB; + glad_debug_glAttachShader = glad_glAttachShader; + glad_debug_glBeginConditionalRender = glad_glBeginConditionalRender; + glad_debug_glBeginConditionalRenderNV = glad_glBeginConditionalRenderNV; + glad_debug_glBeginConditionalRenderNVX = glad_glBeginConditionalRenderNVX; + glad_debug_glBeginQuery = glad_glBeginQuery; + glad_debug_glBeginQueryARB = glad_glBeginQueryARB; + glad_debug_glBeginQueryIndexed = glad_glBeginQueryIndexed; + glad_debug_glBeginTransformFeedback = glad_glBeginTransformFeedback; + glad_debug_glBeginTransformFeedbackEXT = glad_glBeginTransformFeedbackEXT; + glad_debug_glBeginTransformFeedbackNV = glad_glBeginTransformFeedbackNV; + glad_debug_glBindAttribLocation = glad_glBindAttribLocation; + glad_debug_glBindAttribLocationARB = glad_glBindAttribLocationARB; + glad_debug_glBindBuffer = glad_glBindBuffer; + glad_debug_glBindBufferARB = glad_glBindBufferARB; + glad_debug_glBindBufferBase = glad_glBindBufferBase; + glad_debug_glBindBufferBaseEXT = glad_glBindBufferBaseEXT; + glad_debug_glBindBufferBaseNV = glad_glBindBufferBaseNV; + glad_debug_glBindBufferOffsetEXT = glad_glBindBufferOffsetEXT; + glad_debug_glBindBufferOffsetNV = glad_glBindBufferOffsetNV; + glad_debug_glBindBufferRange = glad_glBindBufferRange; + glad_debug_glBindBufferRangeEXT = glad_glBindBufferRangeEXT; + glad_debug_glBindBufferRangeNV = glad_glBindBufferRangeNV; + glad_debug_glBindBuffersBase = glad_glBindBuffersBase; + glad_debug_glBindBuffersRange = glad_glBindBuffersRange; + glad_debug_glBindFragDataLocation = glad_glBindFragDataLocation; + glad_debug_glBindFragDataLocationEXT = glad_glBindFragDataLocationEXT; + glad_debug_glBindFragDataLocationIndexed = glad_glBindFragDataLocationIndexed; + glad_debug_glBindFramebuffer = glad_glBindFramebuffer; + glad_debug_glBindFramebufferEXT = glad_glBindFramebufferEXT; + glad_debug_glBindImageTexture = glad_glBindImageTexture; + glad_debug_glBindImageTextureEXT = glad_glBindImageTextureEXT; + glad_debug_glBindImageTextures = glad_glBindImageTextures; + glad_debug_glBindMultiTextureEXT = glad_glBindMultiTextureEXT; + glad_debug_glBindProgramARB = glad_glBindProgramARB; + glad_debug_glBindProgramNV = glad_glBindProgramNV; + glad_debug_glBindProgramPipeline = glad_glBindProgramPipeline; + glad_debug_glBindRenderbuffer = glad_glBindRenderbuffer; + glad_debug_glBindRenderbufferEXT = glad_glBindRenderbufferEXT; + glad_debug_glBindSampler = glad_glBindSampler; + glad_debug_glBindSamplers = glad_glBindSamplers; + glad_debug_glBindTexture = glad_glBindTexture; + glad_debug_glBindTextureEXT = glad_glBindTextureEXT; + glad_debug_glBindTextureUnit = glad_glBindTextureUnit; + glad_debug_glBindTextures = glad_glBindTextures; + glad_debug_glBindTransformFeedback = glad_glBindTransformFeedback; + glad_debug_glBindTransformFeedbackNV = glad_glBindTransformFeedbackNV; + glad_debug_glBindVertexArray = glad_glBindVertexArray; + glad_debug_glBindVertexArrayAPPLE = glad_glBindVertexArrayAPPLE; + glad_debug_glBindVertexBuffer = glad_glBindVertexBuffer; + glad_debug_glBindVertexBuffers = glad_glBindVertexBuffers; + glad_debug_glBlendColor = glad_glBlendColor; + glad_debug_glBlendColorEXT = glad_glBlendColorEXT; + glad_debug_glBlendEquation = glad_glBlendEquation; + glad_debug_glBlendEquationEXT = glad_glBlendEquationEXT; + glad_debug_glBlendEquationIndexedAMD = glad_glBlendEquationIndexedAMD; + glad_debug_glBlendEquationSeparate = glad_glBlendEquationSeparate; + glad_debug_glBlendEquationSeparateEXT = glad_glBlendEquationSeparateEXT; + glad_debug_glBlendEquationSeparateIndexedAMD = glad_glBlendEquationSeparateIndexedAMD; + glad_debug_glBlendEquationSeparatei = glad_glBlendEquationSeparatei; + glad_debug_glBlendEquationSeparateiARB = glad_glBlendEquationSeparateiARB; + glad_debug_glBlendEquationi = glad_glBlendEquationi; + glad_debug_glBlendEquationiARB = glad_glBlendEquationiARB; + glad_debug_glBlendFunc = glad_glBlendFunc; + glad_debug_glBlendFuncIndexedAMD = glad_glBlendFuncIndexedAMD; + glad_debug_glBlendFuncSeparate = glad_glBlendFuncSeparate; + glad_debug_glBlendFuncSeparateEXT = glad_glBlendFuncSeparateEXT; + glad_debug_glBlendFuncSeparateINGR = glad_glBlendFuncSeparateINGR; + glad_debug_glBlendFuncSeparateIndexedAMD = glad_glBlendFuncSeparateIndexedAMD; + glad_debug_glBlendFuncSeparatei = glad_glBlendFuncSeparatei; + glad_debug_glBlendFuncSeparateiARB = glad_glBlendFuncSeparateiARB; + glad_debug_glBlendFunci = glad_glBlendFunci; + glad_debug_glBlendFunciARB = glad_glBlendFunciARB; + glad_debug_glBlitFramebuffer = glad_glBlitFramebuffer; + glad_debug_glBlitFramebufferEXT = glad_glBlitFramebufferEXT; + glad_debug_glBlitNamedFramebuffer = glad_glBlitNamedFramebuffer; + glad_debug_glBufferData = glad_glBufferData; + glad_debug_glBufferDataARB = glad_glBufferDataARB; + glad_debug_glBufferParameteriAPPLE = glad_glBufferParameteriAPPLE; + glad_debug_glBufferStorage = glad_glBufferStorage; + glad_debug_glBufferSubData = glad_glBufferSubData; + glad_debug_glBufferSubDataARB = glad_glBufferSubDataARB; + glad_debug_glCheckFramebufferStatus = glad_glCheckFramebufferStatus; + glad_debug_glCheckFramebufferStatusEXT = glad_glCheckFramebufferStatusEXT; + glad_debug_glCheckNamedFramebufferStatus = glad_glCheckNamedFramebufferStatus; + glad_debug_glCheckNamedFramebufferStatusEXT = glad_glCheckNamedFramebufferStatusEXT; + glad_debug_glClampColor = glad_glClampColor; + glad_debug_glClampColorARB = glad_glClampColorARB; + glad_debug_glClear = glad_glClear; + glad_debug_glClearBufferData = glad_glClearBufferData; + glad_debug_glClearBufferSubData = glad_glClearBufferSubData; + glad_debug_glClearBufferfi = glad_glClearBufferfi; + glad_debug_glClearBufferfv = glad_glClearBufferfv; + glad_debug_glClearBufferiv = glad_glClearBufferiv; + glad_debug_glClearBufferuiv = glad_glClearBufferuiv; + glad_debug_glClearColor = glad_glClearColor; + glad_debug_glClearColorIiEXT = glad_glClearColorIiEXT; + glad_debug_glClearColorIuiEXT = glad_glClearColorIuiEXT; + glad_debug_glClearDepth = glad_glClearDepth; + glad_debug_glClearDepthf = glad_glClearDepthf; + glad_debug_glClearDepthfOES = glad_glClearDepthfOES; + glad_debug_glClearNamedBufferData = glad_glClearNamedBufferData; + glad_debug_glClearNamedBufferDataEXT = glad_glClearNamedBufferDataEXT; + glad_debug_glClearNamedBufferSubData = glad_glClearNamedBufferSubData; + glad_debug_glClearNamedBufferSubDataEXT = glad_glClearNamedBufferSubDataEXT; + glad_debug_glClearNamedFramebufferfi = glad_glClearNamedFramebufferfi; + glad_debug_glClearNamedFramebufferfv = glad_glClearNamedFramebufferfv; + glad_debug_glClearNamedFramebufferiv = glad_glClearNamedFramebufferiv; + glad_debug_glClearNamedFramebufferuiv = glad_glClearNamedFramebufferuiv; + glad_debug_glClearStencil = glad_glClearStencil; + glad_debug_glClearTexImage = glad_glClearTexImage; + glad_debug_glClearTexSubImage = glad_glClearTexSubImage; + glad_debug_glClientActiveTextureARB = glad_glClientActiveTextureARB; + glad_debug_glClientAttribDefaultEXT = glad_glClientAttribDefaultEXT; + glad_debug_glClientWaitSync = glad_glClientWaitSync; + glad_debug_glClipControl = glad_glClipControl; + glad_debug_glClipPlanefOES = glad_glClipPlanefOES; + glad_debug_glColorMask = glad_glColorMask; + glad_debug_glColorMaskIndexedEXT = glad_glColorMaskIndexedEXT; + glad_debug_glColorMaski = glad_glColorMaski; + glad_debug_glColorPointerEXT = glad_glColorPointerEXT; + glad_debug_glCompileShader = glad_glCompileShader; + glad_debug_glCompileShaderARB = glad_glCompileShaderARB; + glad_debug_glCompressedMultiTexImage1DEXT = glad_glCompressedMultiTexImage1DEXT; + glad_debug_glCompressedMultiTexImage2DEXT = glad_glCompressedMultiTexImage2DEXT; + glad_debug_glCompressedMultiTexImage3DEXT = glad_glCompressedMultiTexImage3DEXT; + glad_debug_glCompressedMultiTexSubImage1DEXT = glad_glCompressedMultiTexSubImage1DEXT; + glad_debug_glCompressedMultiTexSubImage2DEXT = glad_glCompressedMultiTexSubImage2DEXT; + glad_debug_glCompressedMultiTexSubImage3DEXT = glad_glCompressedMultiTexSubImage3DEXT; + glad_debug_glCompressedTexImage1D = glad_glCompressedTexImage1D; + glad_debug_glCompressedTexImage1DARB = glad_glCompressedTexImage1DARB; + glad_debug_glCompressedTexImage2D = glad_glCompressedTexImage2D; + glad_debug_glCompressedTexImage2DARB = glad_glCompressedTexImage2DARB; + glad_debug_glCompressedTexImage3D = glad_glCompressedTexImage3D; + glad_debug_glCompressedTexImage3DARB = glad_glCompressedTexImage3DARB; + glad_debug_glCompressedTexSubImage1D = glad_glCompressedTexSubImage1D; + glad_debug_glCompressedTexSubImage1DARB = glad_glCompressedTexSubImage1DARB; + glad_debug_glCompressedTexSubImage2D = glad_glCompressedTexSubImage2D; + glad_debug_glCompressedTexSubImage2DARB = glad_glCompressedTexSubImage2DARB; + glad_debug_glCompressedTexSubImage3D = glad_glCompressedTexSubImage3D; + glad_debug_glCompressedTexSubImage3DARB = glad_glCompressedTexSubImage3DARB; + glad_debug_glCompressedTextureImage1DEXT = glad_glCompressedTextureImage1DEXT; + glad_debug_glCompressedTextureImage2DEXT = glad_glCompressedTextureImage2DEXT; + glad_debug_glCompressedTextureImage3DEXT = glad_glCompressedTextureImage3DEXT; + glad_debug_glCompressedTextureSubImage1D = glad_glCompressedTextureSubImage1D; + glad_debug_glCompressedTextureSubImage1DEXT = glad_glCompressedTextureSubImage1DEXT; + glad_debug_glCompressedTextureSubImage2D = glad_glCompressedTextureSubImage2D; + glad_debug_glCompressedTextureSubImage2DEXT = glad_glCompressedTextureSubImage2DEXT; + glad_debug_glCompressedTextureSubImage3D = glad_glCompressedTextureSubImage3D; + glad_debug_glCompressedTextureSubImage3DEXT = glad_glCompressedTextureSubImage3DEXT; + glad_debug_glCopyBufferSubData = glad_glCopyBufferSubData; + glad_debug_glCopyImageSubData = glad_glCopyImageSubData; + glad_debug_glCopyMultiTexImage1DEXT = glad_glCopyMultiTexImage1DEXT; + glad_debug_glCopyMultiTexImage2DEXT = glad_glCopyMultiTexImage2DEXT; + glad_debug_glCopyMultiTexSubImage1DEXT = glad_glCopyMultiTexSubImage1DEXT; + glad_debug_glCopyMultiTexSubImage2DEXT = glad_glCopyMultiTexSubImage2DEXT; + glad_debug_glCopyMultiTexSubImage3DEXT = glad_glCopyMultiTexSubImage3DEXT; + glad_debug_glCopyNamedBufferSubData = glad_glCopyNamedBufferSubData; + glad_debug_glCopyTexImage1D = glad_glCopyTexImage1D; + glad_debug_glCopyTexImage1DEXT = glad_glCopyTexImage1DEXT; + glad_debug_glCopyTexImage2D = glad_glCopyTexImage2D; + glad_debug_glCopyTexImage2DEXT = glad_glCopyTexImage2DEXT; + glad_debug_glCopyTexSubImage1D = glad_glCopyTexSubImage1D; + glad_debug_glCopyTexSubImage1DEXT = glad_glCopyTexSubImage1DEXT; + glad_debug_glCopyTexSubImage2D = glad_glCopyTexSubImage2D; + glad_debug_glCopyTexSubImage2DEXT = glad_glCopyTexSubImage2DEXT; + glad_debug_glCopyTexSubImage3D = glad_glCopyTexSubImage3D; + glad_debug_glCopyTexSubImage3DEXT = glad_glCopyTexSubImage3DEXT; + glad_debug_glCopyTextureImage1DEXT = glad_glCopyTextureImage1DEXT; + glad_debug_glCopyTextureImage2DEXT = glad_glCopyTextureImage2DEXT; + glad_debug_glCopyTextureSubImage1D = glad_glCopyTextureSubImage1D; + glad_debug_glCopyTextureSubImage1DEXT = glad_glCopyTextureSubImage1DEXT; + glad_debug_glCopyTextureSubImage2D = glad_glCopyTextureSubImage2D; + glad_debug_glCopyTextureSubImage2DEXT = glad_glCopyTextureSubImage2DEXT; + glad_debug_glCopyTextureSubImage3D = glad_glCopyTextureSubImage3D; + glad_debug_glCopyTextureSubImage3DEXT = glad_glCopyTextureSubImage3DEXT; + glad_debug_glCreateBuffers = glad_glCreateBuffers; + glad_debug_glCreateFramebuffers = glad_glCreateFramebuffers; + glad_debug_glCreateProgram = glad_glCreateProgram; + glad_debug_glCreateProgramObjectARB = glad_glCreateProgramObjectARB; + glad_debug_glCreateProgramPipelines = glad_glCreateProgramPipelines; + glad_debug_glCreateQueries = glad_glCreateQueries; + glad_debug_glCreateRenderbuffers = glad_glCreateRenderbuffers; + glad_debug_glCreateSamplers = glad_glCreateSamplers; + glad_debug_glCreateShader = glad_glCreateShader; + glad_debug_glCreateShaderObjectARB = glad_glCreateShaderObjectARB; + glad_debug_glCreateShaderProgramv = glad_glCreateShaderProgramv; + glad_debug_glCreateTextures = glad_glCreateTextures; + glad_debug_glCreateTransformFeedbacks = glad_glCreateTransformFeedbacks; + glad_debug_glCreateVertexArrays = glad_glCreateVertexArrays; + glad_debug_glCullFace = glad_glCullFace; + glad_debug_glDebugMessageCallback = glad_glDebugMessageCallback; + glad_debug_glDebugMessageCallbackARB = glad_glDebugMessageCallbackARB; + glad_debug_glDebugMessageControl = glad_glDebugMessageControl; + glad_debug_glDebugMessageControlARB = glad_glDebugMessageControlARB; + glad_debug_glDebugMessageInsert = glad_glDebugMessageInsert; + glad_debug_glDebugMessageInsertARB = glad_glDebugMessageInsertARB; + glad_debug_glDeleteBuffers = glad_glDeleteBuffers; + glad_debug_glDeleteBuffersARB = glad_glDeleteBuffersARB; + glad_debug_glDeleteFramebuffers = glad_glDeleteFramebuffers; + glad_debug_glDeleteFramebuffersEXT = glad_glDeleteFramebuffersEXT; + glad_debug_glDeleteObjectARB = glad_glDeleteObjectARB; + glad_debug_glDeleteProgram = glad_glDeleteProgram; + glad_debug_glDeleteProgramPipelines = glad_glDeleteProgramPipelines; + glad_debug_glDeleteProgramsARB = glad_glDeleteProgramsARB; + glad_debug_glDeleteProgramsNV = glad_glDeleteProgramsNV; + glad_debug_glDeleteQueries = glad_glDeleteQueries; + glad_debug_glDeleteQueriesARB = glad_glDeleteQueriesARB; + glad_debug_glDeleteRenderbuffers = glad_glDeleteRenderbuffers; + glad_debug_glDeleteRenderbuffersEXT = glad_glDeleteRenderbuffersEXT; + glad_debug_glDeleteSamplers = glad_glDeleteSamplers; + glad_debug_glDeleteShader = glad_glDeleteShader; + glad_debug_glDeleteSync = glad_glDeleteSync; + glad_debug_glDeleteTextures = glad_glDeleteTextures; + glad_debug_glDeleteTexturesEXT = glad_glDeleteTexturesEXT; + glad_debug_glDeleteTransformFeedbacks = glad_glDeleteTransformFeedbacks; + glad_debug_glDeleteTransformFeedbacksNV = glad_glDeleteTransformFeedbacksNV; + glad_debug_glDeleteVertexArrays = glad_glDeleteVertexArrays; + glad_debug_glDeleteVertexArraysAPPLE = glad_glDeleteVertexArraysAPPLE; + glad_debug_glDepthFunc = glad_glDepthFunc; + glad_debug_glDepthMask = glad_glDepthMask; + glad_debug_glDepthRange = glad_glDepthRange; + glad_debug_glDepthRangeArraydvNV = glad_glDepthRangeArraydvNV; + glad_debug_glDepthRangeArrayv = glad_glDepthRangeArrayv; + glad_debug_glDepthRangeIndexed = glad_glDepthRangeIndexed; + glad_debug_glDepthRangeIndexeddNV = glad_glDepthRangeIndexeddNV; + glad_debug_glDepthRangef = glad_glDepthRangef; + glad_debug_glDepthRangefOES = glad_glDepthRangefOES; + glad_debug_glDetachObjectARB = glad_glDetachObjectARB; + glad_debug_glDetachShader = glad_glDetachShader; + glad_debug_glDisable = glad_glDisable; + glad_debug_glDisableClientStateIndexedEXT = glad_glDisableClientStateIndexedEXT; + glad_debug_glDisableClientStateiEXT = glad_glDisableClientStateiEXT; + glad_debug_glDisableIndexedEXT = glad_glDisableIndexedEXT; + glad_debug_glDisableVertexArrayAttrib = glad_glDisableVertexArrayAttrib; + glad_debug_glDisableVertexArrayAttribEXT = glad_glDisableVertexArrayAttribEXT; + glad_debug_glDisableVertexArrayEXT = glad_glDisableVertexArrayEXT; + glad_debug_glDisableVertexAttribArray = glad_glDisableVertexAttribArray; + glad_debug_glDisableVertexAttribArrayARB = glad_glDisableVertexAttribArrayARB; + glad_debug_glDisablei = glad_glDisablei; + glad_debug_glDispatchCompute = glad_glDispatchCompute; + glad_debug_glDispatchComputeIndirect = glad_glDispatchComputeIndirect; + glad_debug_glDrawArrays = glad_glDrawArrays; + glad_debug_glDrawArraysEXT = glad_glDrawArraysEXT; + glad_debug_glDrawArraysIndirect = glad_glDrawArraysIndirect; + glad_debug_glDrawArraysInstanced = glad_glDrawArraysInstanced; + glad_debug_glDrawArraysInstancedARB = glad_glDrawArraysInstancedARB; + glad_debug_glDrawArraysInstancedBaseInstance = glad_glDrawArraysInstancedBaseInstance; + glad_debug_glDrawArraysInstancedEXT = glad_glDrawArraysInstancedEXT; + glad_debug_glDrawBuffer = glad_glDrawBuffer; + glad_debug_glDrawBuffers = glad_glDrawBuffers; + glad_debug_glDrawBuffersARB = glad_glDrawBuffersARB; + glad_debug_glDrawBuffersATI = glad_glDrawBuffersATI; + glad_debug_glDrawElements = glad_glDrawElements; + glad_debug_glDrawElementsBaseVertex = glad_glDrawElementsBaseVertex; + glad_debug_glDrawElementsIndirect = glad_glDrawElementsIndirect; + glad_debug_glDrawElementsInstanced = glad_glDrawElementsInstanced; + glad_debug_glDrawElementsInstancedARB = glad_glDrawElementsInstancedARB; + glad_debug_glDrawElementsInstancedBaseInstance = glad_glDrawElementsInstancedBaseInstance; + glad_debug_glDrawElementsInstancedBaseVertex = glad_glDrawElementsInstancedBaseVertex; + glad_debug_glDrawElementsInstancedBaseVertexBaseInstance = glad_glDrawElementsInstancedBaseVertexBaseInstance; + glad_debug_glDrawElementsInstancedEXT = glad_glDrawElementsInstancedEXT; + glad_debug_glDrawRangeElements = glad_glDrawRangeElements; + glad_debug_glDrawRangeElementsBaseVertex = glad_glDrawRangeElementsBaseVertex; + glad_debug_glDrawRangeElementsEXT = glad_glDrawRangeElementsEXT; + glad_debug_glDrawTransformFeedback = glad_glDrawTransformFeedback; + glad_debug_glDrawTransformFeedbackInstanced = glad_glDrawTransformFeedbackInstanced; + glad_debug_glDrawTransformFeedbackNV = glad_glDrawTransformFeedbackNV; + glad_debug_glDrawTransformFeedbackStream = glad_glDrawTransformFeedbackStream; + glad_debug_glDrawTransformFeedbackStreamInstanced = glad_glDrawTransformFeedbackStreamInstanced; + glad_debug_glEdgeFlagPointerEXT = glad_glEdgeFlagPointerEXT; + glad_debug_glEnable = glad_glEnable; + glad_debug_glEnableClientStateIndexedEXT = glad_glEnableClientStateIndexedEXT; + glad_debug_glEnableClientStateiEXT = glad_glEnableClientStateiEXT; + glad_debug_glEnableIndexedEXT = glad_glEnableIndexedEXT; + glad_debug_glEnableVertexArrayAttrib = glad_glEnableVertexArrayAttrib; + glad_debug_glEnableVertexArrayAttribEXT = glad_glEnableVertexArrayAttribEXT; + glad_debug_glEnableVertexArrayEXT = glad_glEnableVertexArrayEXT; + glad_debug_glEnableVertexAttribArray = glad_glEnableVertexAttribArray; + glad_debug_glEnableVertexAttribArrayARB = glad_glEnableVertexAttribArrayARB; + glad_debug_glEnablei = glad_glEnablei; + glad_debug_glEndConditionalRender = glad_glEndConditionalRender; + glad_debug_glEndConditionalRenderNV = glad_glEndConditionalRenderNV; + glad_debug_glEndConditionalRenderNVX = glad_glEndConditionalRenderNVX; + glad_debug_glEndQuery = glad_glEndQuery; + glad_debug_glEndQueryARB = glad_glEndQueryARB; + glad_debug_glEndQueryIndexed = glad_glEndQueryIndexed; + glad_debug_glEndTransformFeedback = glad_glEndTransformFeedback; + glad_debug_glEndTransformFeedbackEXT = glad_glEndTransformFeedbackEXT; + glad_debug_glEndTransformFeedbackNV = glad_glEndTransformFeedbackNV; + glad_debug_glExecuteProgramNV = glad_glExecuteProgramNV; + glad_debug_glFenceSync = glad_glFenceSync; + glad_debug_glFinish = glad_glFinish; + glad_debug_glFlush = glad_glFlush; + glad_debug_glFlushMappedBufferRange = glad_glFlushMappedBufferRange; + glad_debug_glFlushMappedBufferRangeAPPLE = glad_glFlushMappedBufferRangeAPPLE; + glad_debug_glFlushMappedNamedBufferRange = glad_glFlushMappedNamedBufferRange; + glad_debug_glFlushMappedNamedBufferRangeEXT = glad_glFlushMappedNamedBufferRangeEXT; + glad_debug_glFramebufferDrawBufferEXT = glad_glFramebufferDrawBufferEXT; + glad_debug_glFramebufferDrawBuffersEXT = glad_glFramebufferDrawBuffersEXT; + glad_debug_glFramebufferParameteri = glad_glFramebufferParameteri; + glad_debug_glFramebufferReadBufferEXT = glad_glFramebufferReadBufferEXT; + glad_debug_glFramebufferRenderbuffer = glad_glFramebufferRenderbuffer; + glad_debug_glFramebufferRenderbufferEXT = glad_glFramebufferRenderbufferEXT; + glad_debug_glFramebufferTexture = glad_glFramebufferTexture; + glad_debug_glFramebufferTexture1D = glad_glFramebufferTexture1D; + glad_debug_glFramebufferTexture1DEXT = glad_glFramebufferTexture1DEXT; + glad_debug_glFramebufferTexture2D = glad_glFramebufferTexture2D; + glad_debug_glFramebufferTexture2DEXT = glad_glFramebufferTexture2DEXT; + glad_debug_glFramebufferTexture3D = glad_glFramebufferTexture3D; + glad_debug_glFramebufferTexture3DEXT = glad_glFramebufferTexture3DEXT; + glad_debug_glFramebufferTextureARB = glad_glFramebufferTextureARB; + glad_debug_glFramebufferTextureEXT = glad_glFramebufferTextureEXT; + glad_debug_glFramebufferTextureFaceARB = glad_glFramebufferTextureFaceARB; + glad_debug_glFramebufferTextureFaceEXT = glad_glFramebufferTextureFaceEXT; + glad_debug_glFramebufferTextureLayer = glad_glFramebufferTextureLayer; + glad_debug_glFramebufferTextureLayerARB = glad_glFramebufferTextureLayerARB; + glad_debug_glFramebufferTextureLayerEXT = glad_glFramebufferTextureLayerEXT; + glad_debug_glFrontFace = glad_glFrontFace; + glad_debug_glFrustumfOES = glad_glFrustumfOES; + glad_debug_glGenBuffers = glad_glGenBuffers; + glad_debug_glGenBuffersARB = glad_glGenBuffersARB; + glad_debug_glGenFramebuffers = glad_glGenFramebuffers; + glad_debug_glGenFramebuffersEXT = glad_glGenFramebuffersEXT; + glad_debug_glGenProgramPipelines = glad_glGenProgramPipelines; + glad_debug_glGenProgramsARB = glad_glGenProgramsARB; + glad_debug_glGenProgramsNV = glad_glGenProgramsNV; + glad_debug_glGenQueries = glad_glGenQueries; + glad_debug_glGenQueriesARB = glad_glGenQueriesARB; + glad_debug_glGenRenderbuffers = glad_glGenRenderbuffers; + glad_debug_glGenRenderbuffersEXT = glad_glGenRenderbuffersEXT; + glad_debug_glGenSamplers = glad_glGenSamplers; + glad_debug_glGenTextures = glad_glGenTextures; + glad_debug_glGenTexturesEXT = glad_glGenTexturesEXT; + glad_debug_glGenTransformFeedbacks = glad_glGenTransformFeedbacks; + glad_debug_glGenTransformFeedbacksNV = glad_glGenTransformFeedbacksNV; + glad_debug_glGenVertexArrays = glad_glGenVertexArrays; + glad_debug_glGenVertexArraysAPPLE = glad_glGenVertexArraysAPPLE; + glad_debug_glGenerateMipmap = glad_glGenerateMipmap; + glad_debug_glGenerateMipmapEXT = glad_glGenerateMipmapEXT; + glad_debug_glGenerateMultiTexMipmapEXT = glad_glGenerateMultiTexMipmapEXT; + glad_debug_glGenerateTextureMipmap = glad_glGenerateTextureMipmap; + glad_debug_glGenerateTextureMipmapEXT = glad_glGenerateTextureMipmapEXT; + glad_debug_glGetActiveAtomicCounterBufferiv = glad_glGetActiveAtomicCounterBufferiv; + glad_debug_glGetActiveAttrib = glad_glGetActiveAttrib; + glad_debug_glGetActiveAttribARB = glad_glGetActiveAttribARB; + glad_debug_glGetActiveSubroutineName = glad_glGetActiveSubroutineName; + glad_debug_glGetActiveSubroutineUniformName = glad_glGetActiveSubroutineUniformName; + glad_debug_glGetActiveSubroutineUniformiv = glad_glGetActiveSubroutineUniformiv; + glad_debug_glGetActiveUniform = glad_glGetActiveUniform; + glad_debug_glGetActiveUniformARB = glad_glGetActiveUniformARB; + glad_debug_glGetActiveUniformBlockName = glad_glGetActiveUniformBlockName; + glad_debug_glGetActiveUniformBlockiv = glad_glGetActiveUniformBlockiv; + glad_debug_glGetActiveUniformName = glad_glGetActiveUniformName; + glad_debug_glGetActiveUniformsiv = glad_glGetActiveUniformsiv; + glad_debug_glGetActiveVaryingNV = glad_glGetActiveVaryingNV; + glad_debug_glGetAttachedObjectsARB = glad_glGetAttachedObjectsARB; + glad_debug_glGetAttachedShaders = glad_glGetAttachedShaders; + glad_debug_glGetAttribLocation = glad_glGetAttribLocation; + glad_debug_glGetAttribLocationARB = glad_glGetAttribLocationARB; + glad_debug_glGetBooleanIndexedvEXT = glad_glGetBooleanIndexedvEXT; + glad_debug_glGetBooleani_v = glad_glGetBooleani_v; + glad_debug_glGetBooleanv = glad_glGetBooleanv; + glad_debug_glGetBufferParameteri64v = glad_glGetBufferParameteri64v; + glad_debug_glGetBufferParameteriv = glad_glGetBufferParameteriv; + glad_debug_glGetBufferParameterivARB = glad_glGetBufferParameterivARB; + glad_debug_glGetBufferPointerv = glad_glGetBufferPointerv; + glad_debug_glGetBufferPointervARB = glad_glGetBufferPointervARB; + glad_debug_glGetBufferSubData = glad_glGetBufferSubData; + glad_debug_glGetBufferSubDataARB = glad_glGetBufferSubDataARB; + glad_debug_glGetClipPlanefOES = glad_glGetClipPlanefOES; + glad_debug_glGetCompressedMultiTexImageEXT = glad_glGetCompressedMultiTexImageEXT; + glad_debug_glGetCompressedTexImage = glad_glGetCompressedTexImage; + glad_debug_glGetCompressedTexImageARB = glad_glGetCompressedTexImageARB; + glad_debug_glGetCompressedTextureImage = glad_glGetCompressedTextureImage; + glad_debug_glGetCompressedTextureImageEXT = glad_glGetCompressedTextureImageEXT; + glad_debug_glGetCompressedTextureSubImage = glad_glGetCompressedTextureSubImage; + glad_debug_glGetDebugMessageLog = glad_glGetDebugMessageLog; + glad_debug_glGetDebugMessageLogARB = glad_glGetDebugMessageLogARB; + glad_debug_glGetDoubleIndexedvEXT = glad_glGetDoubleIndexedvEXT; + glad_debug_glGetDoublei_v = glad_glGetDoublei_v; + glad_debug_glGetDoublei_vEXT = glad_glGetDoublei_vEXT; + glad_debug_glGetDoublev = glad_glGetDoublev; + glad_debug_glGetError = glad_glGetError; + glad_debug_glGetFloatIndexedvEXT = glad_glGetFloatIndexedvEXT; + glad_debug_glGetFloati_v = glad_glGetFloati_v; + glad_debug_glGetFloati_vEXT = glad_glGetFloati_vEXT; + glad_debug_glGetFloatv = glad_glGetFloatv; + glad_debug_glGetFragDataIndex = glad_glGetFragDataIndex; + glad_debug_glGetFragDataLocation = glad_glGetFragDataLocation; + glad_debug_glGetFragDataLocationEXT = glad_glGetFragDataLocationEXT; + glad_debug_glGetFramebufferAttachmentParameteriv = glad_glGetFramebufferAttachmentParameteriv; + glad_debug_glGetFramebufferAttachmentParameterivEXT = glad_glGetFramebufferAttachmentParameterivEXT; + glad_debug_glGetFramebufferParameteriv = glad_glGetFramebufferParameteriv; + glad_debug_glGetFramebufferParameterivEXT = glad_glGetFramebufferParameterivEXT; + glad_debug_glGetGraphicsResetStatus = glad_glGetGraphicsResetStatus; + glad_debug_glGetGraphicsResetStatusARB = glad_glGetGraphicsResetStatusARB; + glad_debug_glGetHandleARB = glad_glGetHandleARB; + glad_debug_glGetImageHandleARB = glad_glGetImageHandleARB; + glad_debug_glGetImageHandleNV = glad_glGetImageHandleNV; + glad_debug_glGetInfoLogARB = glad_glGetInfoLogARB; + glad_debug_glGetInteger64i_v = glad_glGetInteger64i_v; + glad_debug_glGetInteger64v = glad_glGetInteger64v; + glad_debug_glGetIntegerIndexedvEXT = glad_glGetIntegerIndexedvEXT; + glad_debug_glGetIntegeri_v = glad_glGetIntegeri_v; + glad_debug_glGetIntegerv = glad_glGetIntegerv; + glad_debug_glGetInternalformati64v = glad_glGetInternalformati64v; + glad_debug_glGetInternalformativ = glad_glGetInternalformativ; + glad_debug_glGetMultiTexEnvfvEXT = glad_glGetMultiTexEnvfvEXT; + glad_debug_glGetMultiTexEnvivEXT = glad_glGetMultiTexEnvivEXT; + glad_debug_glGetMultiTexGendvEXT = glad_glGetMultiTexGendvEXT; + glad_debug_glGetMultiTexGenfvEXT = glad_glGetMultiTexGenfvEXT; + glad_debug_glGetMultiTexGenivEXT = glad_glGetMultiTexGenivEXT; + glad_debug_glGetMultiTexImageEXT = glad_glGetMultiTexImageEXT; + glad_debug_glGetMultiTexLevelParameterfvEXT = glad_glGetMultiTexLevelParameterfvEXT; + glad_debug_glGetMultiTexLevelParameterivEXT = glad_glGetMultiTexLevelParameterivEXT; + glad_debug_glGetMultiTexParameterIivEXT = glad_glGetMultiTexParameterIivEXT; + glad_debug_glGetMultiTexParameterIuivEXT = glad_glGetMultiTexParameterIuivEXT; + glad_debug_glGetMultiTexParameterfvEXT = glad_glGetMultiTexParameterfvEXT; + glad_debug_glGetMultiTexParameterivEXT = glad_glGetMultiTexParameterivEXT; + glad_debug_glGetMultisamplefv = glad_glGetMultisamplefv; + glad_debug_glGetMultisamplefvNV = glad_glGetMultisamplefvNV; + glad_debug_glGetNamedBufferParameteri64v = glad_glGetNamedBufferParameteri64v; + glad_debug_glGetNamedBufferParameteriv = glad_glGetNamedBufferParameteriv; + glad_debug_glGetNamedBufferParameterivEXT = glad_glGetNamedBufferParameterivEXT; + glad_debug_glGetNamedBufferPointerv = glad_glGetNamedBufferPointerv; + glad_debug_glGetNamedBufferPointervEXT = glad_glGetNamedBufferPointervEXT; + glad_debug_glGetNamedBufferSubData = glad_glGetNamedBufferSubData; + glad_debug_glGetNamedBufferSubDataEXT = glad_glGetNamedBufferSubDataEXT; + glad_debug_glGetNamedFramebufferAttachmentParameteriv = glad_glGetNamedFramebufferAttachmentParameteriv; + glad_debug_glGetNamedFramebufferAttachmentParameterivEXT = glad_glGetNamedFramebufferAttachmentParameterivEXT; + glad_debug_glGetNamedFramebufferParameteriv = glad_glGetNamedFramebufferParameteriv; + glad_debug_glGetNamedFramebufferParameterivEXT = glad_glGetNamedFramebufferParameterivEXT; + glad_debug_glGetNamedProgramLocalParameterIivEXT = glad_glGetNamedProgramLocalParameterIivEXT; + glad_debug_glGetNamedProgramLocalParameterIuivEXT = glad_glGetNamedProgramLocalParameterIuivEXT; + glad_debug_glGetNamedProgramLocalParameterdvEXT = glad_glGetNamedProgramLocalParameterdvEXT; + glad_debug_glGetNamedProgramLocalParameterfvEXT = glad_glGetNamedProgramLocalParameterfvEXT; + glad_debug_glGetNamedProgramStringEXT = glad_glGetNamedProgramStringEXT; + glad_debug_glGetNamedProgramivEXT = glad_glGetNamedProgramivEXT; + glad_debug_glGetNamedRenderbufferParameteriv = glad_glGetNamedRenderbufferParameteriv; + glad_debug_glGetNamedRenderbufferParameterivEXT = glad_glGetNamedRenderbufferParameterivEXT; + glad_debug_glGetObjectLabel = glad_glGetObjectLabel; + glad_debug_glGetObjectParameterfvARB = glad_glGetObjectParameterfvARB; + glad_debug_glGetObjectParameterivARB = glad_glGetObjectParameterivARB; + glad_debug_glGetObjectPtrLabel = glad_glGetObjectPtrLabel; + glad_debug_glGetPointerIndexedvEXT = glad_glGetPointerIndexedvEXT; + glad_debug_glGetPointeri_vEXT = glad_glGetPointeri_vEXT; + glad_debug_glGetPointerv = glad_glGetPointerv; + glad_debug_glGetPointervEXT = glad_glGetPointervEXT; + glad_debug_glGetProgramBinary = glad_glGetProgramBinary; + glad_debug_glGetProgramEnvParameterdvARB = glad_glGetProgramEnvParameterdvARB; + glad_debug_glGetProgramEnvParameterfvARB = glad_glGetProgramEnvParameterfvARB; + glad_debug_glGetProgramInfoLog = glad_glGetProgramInfoLog; + glad_debug_glGetProgramInterfaceiv = glad_glGetProgramInterfaceiv; + glad_debug_glGetProgramLocalParameterdvARB = glad_glGetProgramLocalParameterdvARB; + glad_debug_glGetProgramLocalParameterfvARB = glad_glGetProgramLocalParameterfvARB; + glad_debug_glGetProgramParameterdvNV = glad_glGetProgramParameterdvNV; + glad_debug_glGetProgramParameterfvNV = glad_glGetProgramParameterfvNV; + glad_debug_glGetProgramPipelineInfoLog = glad_glGetProgramPipelineInfoLog; + glad_debug_glGetProgramPipelineiv = glad_glGetProgramPipelineiv; + glad_debug_glGetProgramResourceIndex = glad_glGetProgramResourceIndex; + glad_debug_glGetProgramResourceLocation = glad_glGetProgramResourceLocation; + glad_debug_glGetProgramResourceLocationIndex = glad_glGetProgramResourceLocationIndex; + glad_debug_glGetProgramResourceName = glad_glGetProgramResourceName; + glad_debug_glGetProgramResourceiv = glad_glGetProgramResourceiv; + glad_debug_glGetProgramStageiv = glad_glGetProgramStageiv; + glad_debug_glGetProgramStringARB = glad_glGetProgramStringARB; + glad_debug_glGetProgramStringNV = glad_glGetProgramStringNV; + glad_debug_glGetProgramiv = glad_glGetProgramiv; + glad_debug_glGetProgramivARB = glad_glGetProgramivARB; + glad_debug_glGetProgramivNV = glad_glGetProgramivNV; + glad_debug_glGetQueryBufferObjecti64v = glad_glGetQueryBufferObjecti64v; + glad_debug_glGetQueryBufferObjectiv = glad_glGetQueryBufferObjectiv; + glad_debug_glGetQueryBufferObjectui64v = glad_glGetQueryBufferObjectui64v; + glad_debug_glGetQueryBufferObjectuiv = glad_glGetQueryBufferObjectuiv; + glad_debug_glGetQueryIndexediv = glad_glGetQueryIndexediv; + glad_debug_glGetQueryObjecti64v = glad_glGetQueryObjecti64v; + glad_debug_glGetQueryObjecti64vEXT = glad_glGetQueryObjecti64vEXT; + glad_debug_glGetQueryObjectiv = glad_glGetQueryObjectiv; + glad_debug_glGetQueryObjectivARB = glad_glGetQueryObjectivARB; + glad_debug_glGetQueryObjectui64v = glad_glGetQueryObjectui64v; + glad_debug_glGetQueryObjectui64vEXT = glad_glGetQueryObjectui64vEXT; + glad_debug_glGetQueryObjectuiv = glad_glGetQueryObjectuiv; + glad_debug_glGetQueryObjectuivARB = glad_glGetQueryObjectuivARB; + glad_debug_glGetQueryiv = glad_glGetQueryiv; + glad_debug_glGetQueryivARB = glad_glGetQueryivARB; + glad_debug_glGetRenderbufferParameteriv = glad_glGetRenderbufferParameteriv; + glad_debug_glGetRenderbufferParameterivEXT = glad_glGetRenderbufferParameterivEXT; + glad_debug_glGetSamplerParameterIiv = glad_glGetSamplerParameterIiv; + glad_debug_glGetSamplerParameterIuiv = glad_glGetSamplerParameterIuiv; + glad_debug_glGetSamplerParameterfv = glad_glGetSamplerParameterfv; + glad_debug_glGetSamplerParameteriv = glad_glGetSamplerParameteriv; + glad_debug_glGetShaderInfoLog = glad_glGetShaderInfoLog; + glad_debug_glGetShaderPrecisionFormat = glad_glGetShaderPrecisionFormat; + glad_debug_glGetShaderSource = glad_glGetShaderSource; + glad_debug_glGetShaderSourceARB = glad_glGetShaderSourceARB; + glad_debug_glGetShaderiv = glad_glGetShaderiv; + glad_debug_glGetString = glad_glGetString; + glad_debug_glGetStringi = glad_glGetStringi; + glad_debug_glGetSubroutineIndex = glad_glGetSubroutineIndex; + glad_debug_glGetSubroutineUniformLocation = glad_glGetSubroutineUniformLocation; + glad_debug_glGetSynciv = glad_glGetSynciv; + glad_debug_glGetTexImage = glad_glGetTexImage; + glad_debug_glGetTexLevelParameterfv = glad_glGetTexLevelParameterfv; + glad_debug_glGetTexLevelParameteriv = glad_glGetTexLevelParameteriv; + glad_debug_glGetTexParameterIiv = glad_glGetTexParameterIiv; + glad_debug_glGetTexParameterIivEXT = glad_glGetTexParameterIivEXT; + glad_debug_glGetTexParameterIuiv = glad_glGetTexParameterIuiv; + glad_debug_glGetTexParameterIuivEXT = glad_glGetTexParameterIuivEXT; + glad_debug_glGetTexParameterfv = glad_glGetTexParameterfv; + glad_debug_glGetTexParameteriv = glad_glGetTexParameteriv; + glad_debug_glGetTextureHandleARB = glad_glGetTextureHandleARB; + glad_debug_glGetTextureHandleNV = glad_glGetTextureHandleNV; + glad_debug_glGetTextureImage = glad_glGetTextureImage; + glad_debug_glGetTextureImageEXT = glad_glGetTextureImageEXT; + glad_debug_glGetTextureLevelParameterfv = glad_glGetTextureLevelParameterfv; + glad_debug_glGetTextureLevelParameterfvEXT = glad_glGetTextureLevelParameterfvEXT; + glad_debug_glGetTextureLevelParameteriv = glad_glGetTextureLevelParameteriv; + glad_debug_glGetTextureLevelParameterivEXT = glad_glGetTextureLevelParameterivEXT; + glad_debug_glGetTextureParameterIiv = glad_glGetTextureParameterIiv; + glad_debug_glGetTextureParameterIivEXT = glad_glGetTextureParameterIivEXT; + glad_debug_glGetTextureParameterIuiv = glad_glGetTextureParameterIuiv; + glad_debug_glGetTextureParameterIuivEXT = glad_glGetTextureParameterIuivEXT; + glad_debug_glGetTextureParameterfv = glad_glGetTextureParameterfv; + glad_debug_glGetTextureParameterfvEXT = glad_glGetTextureParameterfvEXT; + glad_debug_glGetTextureParameteriv = glad_glGetTextureParameteriv; + glad_debug_glGetTextureParameterivEXT = glad_glGetTextureParameterivEXT; + glad_debug_glGetTextureSamplerHandleARB = glad_glGetTextureSamplerHandleARB; + glad_debug_glGetTextureSamplerHandleNV = glad_glGetTextureSamplerHandleNV; + glad_debug_glGetTextureSubImage = glad_glGetTextureSubImage; + glad_debug_glGetTrackMatrixivNV = glad_glGetTrackMatrixivNV; + glad_debug_glGetTransformFeedbackVarying = glad_glGetTransformFeedbackVarying; + glad_debug_glGetTransformFeedbackVaryingEXT = glad_glGetTransformFeedbackVaryingEXT; + glad_debug_glGetTransformFeedbackVaryingNV = glad_glGetTransformFeedbackVaryingNV; + glad_debug_glGetTransformFeedbacki64_v = glad_glGetTransformFeedbacki64_v; + glad_debug_glGetTransformFeedbacki_v = glad_glGetTransformFeedbacki_v; + glad_debug_glGetTransformFeedbackiv = glad_glGetTransformFeedbackiv; + glad_debug_glGetUniformBlockIndex = glad_glGetUniformBlockIndex; + glad_debug_glGetUniformIndices = glad_glGetUniformIndices; + glad_debug_glGetUniformLocation = glad_glGetUniformLocation; + glad_debug_glGetUniformLocationARB = glad_glGetUniformLocationARB; + glad_debug_glGetUniformSubroutineuiv = glad_glGetUniformSubroutineuiv; + glad_debug_glGetUniformdv = glad_glGetUniformdv; + glad_debug_glGetUniformfv = glad_glGetUniformfv; + glad_debug_glGetUniformfvARB = glad_glGetUniformfvARB; + glad_debug_glGetUniformiv = glad_glGetUniformiv; + glad_debug_glGetUniformivARB = glad_glGetUniformivARB; + glad_debug_glGetUniformuiv = glad_glGetUniformuiv; + glad_debug_glGetUniformuivEXT = glad_glGetUniformuivEXT; + glad_debug_glGetVaryingLocationNV = glad_glGetVaryingLocationNV; + glad_debug_glGetVertexArrayIndexed64iv = glad_glGetVertexArrayIndexed64iv; + glad_debug_glGetVertexArrayIndexediv = glad_glGetVertexArrayIndexediv; + glad_debug_glGetVertexArrayIntegeri_vEXT = glad_glGetVertexArrayIntegeri_vEXT; + glad_debug_glGetVertexArrayIntegervEXT = glad_glGetVertexArrayIntegervEXT; + glad_debug_glGetVertexArrayPointeri_vEXT = glad_glGetVertexArrayPointeri_vEXT; + glad_debug_glGetVertexArrayPointervEXT = glad_glGetVertexArrayPointervEXT; + glad_debug_glGetVertexArrayiv = glad_glGetVertexArrayiv; + glad_debug_glGetVertexAttribIiv = glad_glGetVertexAttribIiv; + glad_debug_glGetVertexAttribIivEXT = glad_glGetVertexAttribIivEXT; + glad_debug_glGetVertexAttribIuiv = glad_glGetVertexAttribIuiv; + glad_debug_glGetVertexAttribIuivEXT = glad_glGetVertexAttribIuivEXT; + glad_debug_glGetVertexAttribLdv = glad_glGetVertexAttribLdv; + glad_debug_glGetVertexAttribLdvEXT = glad_glGetVertexAttribLdvEXT; + glad_debug_glGetVertexAttribLui64vARB = glad_glGetVertexAttribLui64vARB; + glad_debug_glGetVertexAttribPointerv = glad_glGetVertexAttribPointerv; + glad_debug_glGetVertexAttribPointervARB = glad_glGetVertexAttribPointervARB; + glad_debug_glGetVertexAttribPointervNV = glad_glGetVertexAttribPointervNV; + glad_debug_glGetVertexAttribdv = glad_glGetVertexAttribdv; + glad_debug_glGetVertexAttribdvARB = glad_glGetVertexAttribdvARB; + glad_debug_glGetVertexAttribdvNV = glad_glGetVertexAttribdvNV; + glad_debug_glGetVertexAttribfv = glad_glGetVertexAttribfv; + glad_debug_glGetVertexAttribfvARB = glad_glGetVertexAttribfvARB; + glad_debug_glGetVertexAttribfvNV = glad_glGetVertexAttribfvNV; + glad_debug_glGetVertexAttribiv = glad_glGetVertexAttribiv; + glad_debug_glGetVertexAttribivARB = glad_glGetVertexAttribivARB; + glad_debug_glGetVertexAttribivNV = glad_glGetVertexAttribivNV; + glad_debug_glGetnCompressedTexImage = glad_glGetnCompressedTexImage; + glad_debug_glGetnCompressedTexImageARB = glad_glGetnCompressedTexImageARB; + glad_debug_glGetnTexImage = glad_glGetnTexImage; + glad_debug_glGetnTexImageARB = glad_glGetnTexImageARB; + glad_debug_glGetnUniformdv = glad_glGetnUniformdv; + glad_debug_glGetnUniformdvARB = glad_glGetnUniformdvARB; + glad_debug_glGetnUniformfv = glad_glGetnUniformfv; + glad_debug_glGetnUniformfvARB = glad_glGetnUniformfvARB; + glad_debug_glGetnUniformiv = glad_glGetnUniformiv; + glad_debug_glGetnUniformivARB = glad_glGetnUniformivARB; + glad_debug_glGetnUniformuiv = glad_glGetnUniformuiv; + glad_debug_glGetnUniformuivARB = glad_glGetnUniformuivARB; + glad_debug_glHint = glad_glHint; + glad_debug_glIndexPointerEXT = glad_glIndexPointerEXT; + glad_debug_glInvalidateBufferData = glad_glInvalidateBufferData; + glad_debug_glInvalidateBufferSubData = glad_glInvalidateBufferSubData; + glad_debug_glInvalidateFramebuffer = glad_glInvalidateFramebuffer; + glad_debug_glInvalidateNamedFramebufferData = glad_glInvalidateNamedFramebufferData; + glad_debug_glInvalidateNamedFramebufferSubData = glad_glInvalidateNamedFramebufferSubData; + glad_debug_glInvalidateSubFramebuffer = glad_glInvalidateSubFramebuffer; + glad_debug_glInvalidateTexImage = glad_glInvalidateTexImage; + glad_debug_glInvalidateTexSubImage = glad_glInvalidateTexSubImage; + glad_debug_glIsBuffer = glad_glIsBuffer; + glad_debug_glIsBufferARB = glad_glIsBufferARB; + glad_debug_glIsEnabled = glad_glIsEnabled; + glad_debug_glIsEnabledIndexedEXT = glad_glIsEnabledIndexedEXT; + glad_debug_glIsEnabledi = glad_glIsEnabledi; + glad_debug_glIsFramebuffer = glad_glIsFramebuffer; + glad_debug_glIsFramebufferEXT = glad_glIsFramebufferEXT; + glad_debug_glIsImageHandleResidentARB = glad_glIsImageHandleResidentARB; + glad_debug_glIsImageHandleResidentNV = glad_glIsImageHandleResidentNV; + glad_debug_glIsProgram = glad_glIsProgram; + glad_debug_glIsProgramARB = glad_glIsProgramARB; + glad_debug_glIsProgramNV = glad_glIsProgramNV; + glad_debug_glIsProgramPipeline = glad_glIsProgramPipeline; + glad_debug_glIsQuery = glad_glIsQuery; + glad_debug_glIsQueryARB = glad_glIsQueryARB; + glad_debug_glIsRenderbuffer = glad_glIsRenderbuffer; + glad_debug_glIsRenderbufferEXT = glad_glIsRenderbufferEXT; + glad_debug_glIsSampler = glad_glIsSampler; + glad_debug_glIsShader = glad_glIsShader; + glad_debug_glIsSync = glad_glIsSync; + glad_debug_glIsTexture = glad_glIsTexture; + glad_debug_glIsTextureEXT = glad_glIsTextureEXT; + glad_debug_glIsTextureHandleResidentARB = glad_glIsTextureHandleResidentARB; + glad_debug_glIsTextureHandleResidentNV = glad_glIsTextureHandleResidentNV; + glad_debug_glIsTransformFeedback = glad_glIsTransformFeedback; + glad_debug_glIsTransformFeedbackNV = glad_glIsTransformFeedbackNV; + glad_debug_glIsVertexArray = glad_glIsVertexArray; + glad_debug_glIsVertexArrayAPPLE = glad_glIsVertexArrayAPPLE; + glad_debug_glLineWidth = glad_glLineWidth; + glad_debug_glLinkProgram = glad_glLinkProgram; + glad_debug_glLinkProgramARB = glad_glLinkProgramARB; + glad_debug_glLoadProgramNV = glad_glLoadProgramNV; + glad_debug_glLogicOp = glad_glLogicOp; + glad_debug_glMakeImageHandleNonResidentARB = glad_glMakeImageHandleNonResidentARB; + glad_debug_glMakeImageHandleNonResidentNV = glad_glMakeImageHandleNonResidentNV; + glad_debug_glMakeImageHandleResidentARB = glad_glMakeImageHandleResidentARB; + glad_debug_glMakeImageHandleResidentNV = glad_glMakeImageHandleResidentNV; + glad_debug_glMakeTextureHandleNonResidentARB = glad_glMakeTextureHandleNonResidentARB; + glad_debug_glMakeTextureHandleNonResidentNV = glad_glMakeTextureHandleNonResidentNV; + glad_debug_glMakeTextureHandleResidentARB = glad_glMakeTextureHandleResidentARB; + glad_debug_glMakeTextureHandleResidentNV = glad_glMakeTextureHandleResidentNV; + glad_debug_glMapBuffer = glad_glMapBuffer; + glad_debug_glMapBufferARB = glad_glMapBufferARB; + glad_debug_glMapBufferRange = glad_glMapBufferRange; + glad_debug_glMapNamedBuffer = glad_glMapNamedBuffer; + glad_debug_glMapNamedBufferEXT = glad_glMapNamedBufferEXT; + glad_debug_glMapNamedBufferRange = glad_glMapNamedBufferRange; + glad_debug_glMapNamedBufferRangeEXT = glad_glMapNamedBufferRangeEXT; + glad_debug_glMatrixFrustumEXT = glad_glMatrixFrustumEXT; + glad_debug_glMatrixLoadIdentityEXT = glad_glMatrixLoadIdentityEXT; + glad_debug_glMatrixLoadTransposedEXT = glad_glMatrixLoadTransposedEXT; + glad_debug_glMatrixLoadTransposefEXT = glad_glMatrixLoadTransposefEXT; + glad_debug_glMatrixLoaddEXT = glad_glMatrixLoaddEXT; + glad_debug_glMatrixLoadfEXT = glad_glMatrixLoadfEXT; + glad_debug_glMatrixMultTransposedEXT = glad_glMatrixMultTransposedEXT; + glad_debug_glMatrixMultTransposefEXT = glad_glMatrixMultTransposefEXT; + glad_debug_glMatrixMultdEXT = glad_glMatrixMultdEXT; + glad_debug_glMatrixMultfEXT = glad_glMatrixMultfEXT; + glad_debug_glMatrixOrthoEXT = glad_glMatrixOrthoEXT; + glad_debug_glMatrixPopEXT = glad_glMatrixPopEXT; + glad_debug_glMatrixPushEXT = glad_glMatrixPushEXT; + glad_debug_glMatrixRotatedEXT = glad_glMatrixRotatedEXT; + glad_debug_glMatrixRotatefEXT = glad_glMatrixRotatefEXT; + glad_debug_glMatrixScaledEXT = glad_glMatrixScaledEXT; + glad_debug_glMatrixScalefEXT = glad_glMatrixScalefEXT; + glad_debug_glMatrixTranslatedEXT = glad_glMatrixTranslatedEXT; + glad_debug_glMatrixTranslatefEXT = glad_glMatrixTranslatefEXT; + glad_debug_glMemoryBarrier = glad_glMemoryBarrier; + glad_debug_glMemoryBarrierByRegion = glad_glMemoryBarrierByRegion; + glad_debug_glMemoryBarrierEXT = glad_glMemoryBarrierEXT; + glad_debug_glMinSampleShading = glad_glMinSampleShading; + glad_debug_glMinSampleShadingARB = glad_glMinSampleShadingARB; + glad_debug_glMultiDrawArrays = glad_glMultiDrawArrays; + glad_debug_glMultiDrawArraysEXT = glad_glMultiDrawArraysEXT; + glad_debug_glMultiDrawArraysIndirect = glad_glMultiDrawArraysIndirect; + glad_debug_glMultiDrawArraysIndirectAMD = glad_glMultiDrawArraysIndirectAMD; + glad_debug_glMultiDrawArraysIndirectBindlessCountNV = glad_glMultiDrawArraysIndirectBindlessCountNV; + glad_debug_glMultiDrawArraysIndirectBindlessNV = glad_glMultiDrawArraysIndirectBindlessNV; + glad_debug_glMultiDrawArraysIndirectCount = glad_glMultiDrawArraysIndirectCount; + glad_debug_glMultiDrawArraysIndirectCountARB = glad_glMultiDrawArraysIndirectCountARB; + glad_debug_glMultiDrawElements = glad_glMultiDrawElements; + glad_debug_glMultiDrawElementsBaseVertex = glad_glMultiDrawElementsBaseVertex; + glad_debug_glMultiDrawElementsEXT = glad_glMultiDrawElementsEXT; + glad_debug_glMultiDrawElementsIndirect = glad_glMultiDrawElementsIndirect; + glad_debug_glMultiDrawElementsIndirectAMD = glad_glMultiDrawElementsIndirectAMD; + glad_debug_glMultiDrawElementsIndirectBindlessCountNV = glad_glMultiDrawElementsIndirectBindlessCountNV; + glad_debug_glMultiDrawElementsIndirectBindlessNV = glad_glMultiDrawElementsIndirectBindlessNV; + glad_debug_glMultiDrawElementsIndirectCount = glad_glMultiDrawElementsIndirectCount; + glad_debug_glMultiDrawElementsIndirectCountARB = glad_glMultiDrawElementsIndirectCountARB; + glad_debug_glMultiTexBufferEXT = glad_glMultiTexBufferEXT; + glad_debug_glMultiTexCoord1dARB = glad_glMultiTexCoord1dARB; + glad_debug_glMultiTexCoord1dvARB = glad_glMultiTexCoord1dvARB; + glad_debug_glMultiTexCoord1fARB = glad_glMultiTexCoord1fARB; + glad_debug_glMultiTexCoord1fvARB = glad_glMultiTexCoord1fvARB; + glad_debug_glMultiTexCoord1iARB = glad_glMultiTexCoord1iARB; + glad_debug_glMultiTexCoord1ivARB = glad_glMultiTexCoord1ivARB; + glad_debug_glMultiTexCoord1sARB = glad_glMultiTexCoord1sARB; + glad_debug_glMultiTexCoord1svARB = glad_glMultiTexCoord1svARB; + glad_debug_glMultiTexCoord2dARB = glad_glMultiTexCoord2dARB; + glad_debug_glMultiTexCoord2dvARB = glad_glMultiTexCoord2dvARB; + glad_debug_glMultiTexCoord2fARB = glad_glMultiTexCoord2fARB; + glad_debug_glMultiTexCoord2fvARB = glad_glMultiTexCoord2fvARB; + glad_debug_glMultiTexCoord2iARB = glad_glMultiTexCoord2iARB; + glad_debug_glMultiTexCoord2ivARB = glad_glMultiTexCoord2ivARB; + glad_debug_glMultiTexCoord2sARB = glad_glMultiTexCoord2sARB; + glad_debug_glMultiTexCoord2svARB = glad_glMultiTexCoord2svARB; + glad_debug_glMultiTexCoord3dARB = glad_glMultiTexCoord3dARB; + glad_debug_glMultiTexCoord3dvARB = glad_glMultiTexCoord3dvARB; + glad_debug_glMultiTexCoord3fARB = glad_glMultiTexCoord3fARB; + glad_debug_glMultiTexCoord3fvARB = glad_glMultiTexCoord3fvARB; + glad_debug_glMultiTexCoord3iARB = glad_glMultiTexCoord3iARB; + glad_debug_glMultiTexCoord3ivARB = glad_glMultiTexCoord3ivARB; + glad_debug_glMultiTexCoord3sARB = glad_glMultiTexCoord3sARB; + glad_debug_glMultiTexCoord3svARB = glad_glMultiTexCoord3svARB; + glad_debug_glMultiTexCoord4dARB = glad_glMultiTexCoord4dARB; + glad_debug_glMultiTexCoord4dvARB = glad_glMultiTexCoord4dvARB; + glad_debug_glMultiTexCoord4fARB = glad_glMultiTexCoord4fARB; + glad_debug_glMultiTexCoord4fvARB = glad_glMultiTexCoord4fvARB; + glad_debug_glMultiTexCoord4iARB = glad_glMultiTexCoord4iARB; + glad_debug_glMultiTexCoord4ivARB = glad_glMultiTexCoord4ivARB; + glad_debug_glMultiTexCoord4sARB = glad_glMultiTexCoord4sARB; + glad_debug_glMultiTexCoord4svARB = glad_glMultiTexCoord4svARB; + glad_debug_glMultiTexCoordPointerEXT = glad_glMultiTexCoordPointerEXT; + glad_debug_glMultiTexEnvfEXT = glad_glMultiTexEnvfEXT; + glad_debug_glMultiTexEnvfvEXT = glad_glMultiTexEnvfvEXT; + glad_debug_glMultiTexEnviEXT = glad_glMultiTexEnviEXT; + glad_debug_glMultiTexEnvivEXT = glad_glMultiTexEnvivEXT; + glad_debug_glMultiTexGendEXT = glad_glMultiTexGendEXT; + glad_debug_glMultiTexGendvEXT = glad_glMultiTexGendvEXT; + glad_debug_glMultiTexGenfEXT = glad_glMultiTexGenfEXT; + glad_debug_glMultiTexGenfvEXT = glad_glMultiTexGenfvEXT; + glad_debug_glMultiTexGeniEXT = glad_glMultiTexGeniEXT; + glad_debug_glMultiTexGenivEXT = glad_glMultiTexGenivEXT; + glad_debug_glMultiTexImage1DEXT = glad_glMultiTexImage1DEXT; + glad_debug_glMultiTexImage2DEXT = glad_glMultiTexImage2DEXT; + glad_debug_glMultiTexImage3DEXT = glad_glMultiTexImage3DEXT; + glad_debug_glMultiTexParameterIivEXT = glad_glMultiTexParameterIivEXT; + glad_debug_glMultiTexParameterIuivEXT = glad_glMultiTexParameterIuivEXT; + glad_debug_glMultiTexParameterfEXT = glad_glMultiTexParameterfEXT; + glad_debug_glMultiTexParameterfvEXT = glad_glMultiTexParameterfvEXT; + glad_debug_glMultiTexParameteriEXT = glad_glMultiTexParameteriEXT; + glad_debug_glMultiTexParameterivEXT = glad_glMultiTexParameterivEXT; + glad_debug_glMultiTexRenderbufferEXT = glad_glMultiTexRenderbufferEXT; + glad_debug_glMultiTexSubImage1DEXT = glad_glMultiTexSubImage1DEXT; + glad_debug_glMultiTexSubImage2DEXT = glad_glMultiTexSubImage2DEXT; + glad_debug_glMultiTexSubImage3DEXT = glad_glMultiTexSubImage3DEXT; + glad_debug_glNamedBufferData = glad_glNamedBufferData; + glad_debug_glNamedBufferDataEXT = glad_glNamedBufferDataEXT; + glad_debug_glNamedBufferStorage = glad_glNamedBufferStorage; + glad_debug_glNamedBufferStorageEXT = glad_glNamedBufferStorageEXT; + glad_debug_glNamedBufferSubData = glad_glNamedBufferSubData; + glad_debug_glNamedBufferSubDataEXT = glad_glNamedBufferSubDataEXT; + glad_debug_glNamedCopyBufferSubDataEXT = glad_glNamedCopyBufferSubDataEXT; + glad_debug_glNamedFramebufferDrawBuffer = glad_glNamedFramebufferDrawBuffer; + glad_debug_glNamedFramebufferDrawBuffers = glad_glNamedFramebufferDrawBuffers; + glad_debug_glNamedFramebufferParameteri = glad_glNamedFramebufferParameteri; + glad_debug_glNamedFramebufferParameteriEXT = glad_glNamedFramebufferParameteriEXT; + glad_debug_glNamedFramebufferReadBuffer = glad_glNamedFramebufferReadBuffer; + glad_debug_glNamedFramebufferRenderbuffer = glad_glNamedFramebufferRenderbuffer; + glad_debug_glNamedFramebufferRenderbufferEXT = glad_glNamedFramebufferRenderbufferEXT; + glad_debug_glNamedFramebufferTexture = glad_glNamedFramebufferTexture; + glad_debug_glNamedFramebufferTexture1DEXT = glad_glNamedFramebufferTexture1DEXT; + glad_debug_glNamedFramebufferTexture2DEXT = glad_glNamedFramebufferTexture2DEXT; + glad_debug_glNamedFramebufferTexture3DEXT = glad_glNamedFramebufferTexture3DEXT; + glad_debug_glNamedFramebufferTextureEXT = glad_glNamedFramebufferTextureEXT; + glad_debug_glNamedFramebufferTextureFaceEXT = glad_glNamedFramebufferTextureFaceEXT; + glad_debug_glNamedFramebufferTextureLayer = glad_glNamedFramebufferTextureLayer; + glad_debug_glNamedFramebufferTextureLayerEXT = glad_glNamedFramebufferTextureLayerEXT; + glad_debug_glNamedProgramLocalParameter4dEXT = glad_glNamedProgramLocalParameter4dEXT; + glad_debug_glNamedProgramLocalParameter4dvEXT = glad_glNamedProgramLocalParameter4dvEXT; + glad_debug_glNamedProgramLocalParameter4fEXT = glad_glNamedProgramLocalParameter4fEXT; + glad_debug_glNamedProgramLocalParameter4fvEXT = glad_glNamedProgramLocalParameter4fvEXT; + glad_debug_glNamedProgramLocalParameterI4iEXT = glad_glNamedProgramLocalParameterI4iEXT; + glad_debug_glNamedProgramLocalParameterI4ivEXT = glad_glNamedProgramLocalParameterI4ivEXT; + glad_debug_glNamedProgramLocalParameterI4uiEXT = glad_glNamedProgramLocalParameterI4uiEXT; + glad_debug_glNamedProgramLocalParameterI4uivEXT = glad_glNamedProgramLocalParameterI4uivEXT; + glad_debug_glNamedProgramLocalParameters4fvEXT = glad_glNamedProgramLocalParameters4fvEXT; + glad_debug_glNamedProgramLocalParametersI4ivEXT = glad_glNamedProgramLocalParametersI4ivEXT; + glad_debug_glNamedProgramLocalParametersI4uivEXT = glad_glNamedProgramLocalParametersI4uivEXT; + glad_debug_glNamedProgramStringEXT = glad_glNamedProgramStringEXT; + glad_debug_glNamedRenderbufferStorage = glad_glNamedRenderbufferStorage; + glad_debug_glNamedRenderbufferStorageEXT = glad_glNamedRenderbufferStorageEXT; + glad_debug_glNamedRenderbufferStorageMultisample = glad_glNamedRenderbufferStorageMultisample; + glad_debug_glNamedRenderbufferStorageMultisampleCoverageEXT = glad_glNamedRenderbufferStorageMultisampleCoverageEXT; + glad_debug_glNamedRenderbufferStorageMultisampleEXT = glad_glNamedRenderbufferStorageMultisampleEXT; + glad_debug_glNormalPointerEXT = glad_glNormalPointerEXT; + glad_debug_glObjectLabel = glad_glObjectLabel; + glad_debug_glObjectPtrLabel = glad_glObjectPtrLabel; + glad_debug_glOrthofOES = glad_glOrthofOES; + glad_debug_glPatchParameterfv = glad_glPatchParameterfv; + glad_debug_glPatchParameteri = glad_glPatchParameteri; + glad_debug_glPauseTransformFeedback = glad_glPauseTransformFeedback; + glad_debug_glPauseTransformFeedbackNV = glad_glPauseTransformFeedbackNV; + glad_debug_glPixelStoref = glad_glPixelStoref; + glad_debug_glPixelStorei = glad_glPixelStorei; + glad_debug_glPointParameterf = glad_glPointParameterf; + glad_debug_glPointParameterfARB = glad_glPointParameterfARB; + glad_debug_glPointParameterfEXT = glad_glPointParameterfEXT; + glad_debug_glPointParameterfSGIS = glad_glPointParameterfSGIS; + glad_debug_glPointParameterfv = glad_glPointParameterfv; + glad_debug_glPointParameterfvARB = glad_glPointParameterfvARB; + glad_debug_glPointParameterfvEXT = glad_glPointParameterfvEXT; + glad_debug_glPointParameterfvSGIS = glad_glPointParameterfvSGIS; + glad_debug_glPointParameteri = glad_glPointParameteri; + glad_debug_glPointParameteriNV = glad_glPointParameteriNV; + glad_debug_glPointParameteriv = glad_glPointParameteriv; + glad_debug_glPointParameterivNV = glad_glPointParameterivNV; + glad_debug_glPointSize = glad_glPointSize; + glad_debug_glPolygonMode = glad_glPolygonMode; + glad_debug_glPolygonOffset = glad_glPolygonOffset; + glad_debug_glPolygonOffsetClamp = glad_glPolygonOffsetClamp; + glad_debug_glPolygonOffsetClampEXT = glad_glPolygonOffsetClampEXT; + glad_debug_glPopDebugGroup = glad_glPopDebugGroup; + glad_debug_glPrimitiveRestartIndex = glad_glPrimitiveRestartIndex; + glad_debug_glPrioritizeTexturesEXT = glad_glPrioritizeTexturesEXT; + glad_debug_glProgramBinary = glad_glProgramBinary; + glad_debug_glProgramEnvParameter4dARB = glad_glProgramEnvParameter4dARB; + glad_debug_glProgramEnvParameter4dvARB = glad_glProgramEnvParameter4dvARB; + glad_debug_glProgramEnvParameter4fARB = glad_glProgramEnvParameter4fARB; + glad_debug_glProgramEnvParameter4fvARB = glad_glProgramEnvParameter4fvARB; + glad_debug_glProgramLocalParameter4dARB = glad_glProgramLocalParameter4dARB; + glad_debug_glProgramLocalParameter4dvARB = glad_glProgramLocalParameter4dvARB; + glad_debug_glProgramLocalParameter4fARB = glad_glProgramLocalParameter4fARB; + glad_debug_glProgramLocalParameter4fvARB = glad_glProgramLocalParameter4fvARB; + glad_debug_glProgramParameter4dNV = glad_glProgramParameter4dNV; + glad_debug_glProgramParameter4dvNV = glad_glProgramParameter4dvNV; + glad_debug_glProgramParameter4fNV = glad_glProgramParameter4fNV; + glad_debug_glProgramParameter4fvNV = glad_glProgramParameter4fvNV; + glad_debug_glProgramParameteri = glad_glProgramParameteri; + glad_debug_glProgramParameteriARB = glad_glProgramParameteriARB; + glad_debug_glProgramParameteriEXT = glad_glProgramParameteriEXT; + glad_debug_glProgramParameters4dvNV = glad_glProgramParameters4dvNV; + glad_debug_glProgramParameters4fvNV = glad_glProgramParameters4fvNV; + glad_debug_glProgramStringARB = glad_glProgramStringARB; + glad_debug_glProgramUniform1d = glad_glProgramUniform1d; + glad_debug_glProgramUniform1dEXT = glad_glProgramUniform1dEXT; + glad_debug_glProgramUniform1dv = glad_glProgramUniform1dv; + glad_debug_glProgramUniform1dvEXT = glad_glProgramUniform1dvEXT; + glad_debug_glProgramUniform1f = glad_glProgramUniform1f; + glad_debug_glProgramUniform1fEXT = glad_glProgramUniform1fEXT; + glad_debug_glProgramUniform1fv = glad_glProgramUniform1fv; + glad_debug_glProgramUniform1fvEXT = glad_glProgramUniform1fvEXT; + glad_debug_glProgramUniform1i = glad_glProgramUniform1i; + glad_debug_glProgramUniform1iEXT = glad_glProgramUniform1iEXT; + glad_debug_glProgramUniform1iv = glad_glProgramUniform1iv; + glad_debug_glProgramUniform1ivEXT = glad_glProgramUniform1ivEXT; + glad_debug_glProgramUniform1ui = glad_glProgramUniform1ui; + glad_debug_glProgramUniform1uiEXT = glad_glProgramUniform1uiEXT; + glad_debug_glProgramUniform1uiv = glad_glProgramUniform1uiv; + glad_debug_glProgramUniform1uivEXT = glad_glProgramUniform1uivEXT; + glad_debug_glProgramUniform2d = glad_glProgramUniform2d; + glad_debug_glProgramUniform2dEXT = glad_glProgramUniform2dEXT; + glad_debug_glProgramUniform2dv = glad_glProgramUniform2dv; + glad_debug_glProgramUniform2dvEXT = glad_glProgramUniform2dvEXT; + glad_debug_glProgramUniform2f = glad_glProgramUniform2f; + glad_debug_glProgramUniform2fEXT = glad_glProgramUniform2fEXT; + glad_debug_glProgramUniform2fv = glad_glProgramUniform2fv; + glad_debug_glProgramUniform2fvEXT = glad_glProgramUniform2fvEXT; + glad_debug_glProgramUniform2i = glad_glProgramUniform2i; + glad_debug_glProgramUniform2iEXT = glad_glProgramUniform2iEXT; + glad_debug_glProgramUniform2iv = glad_glProgramUniform2iv; + glad_debug_glProgramUniform2ivEXT = glad_glProgramUniform2ivEXT; + glad_debug_glProgramUniform2ui = glad_glProgramUniform2ui; + glad_debug_glProgramUniform2uiEXT = glad_glProgramUniform2uiEXT; + glad_debug_glProgramUniform2uiv = glad_glProgramUniform2uiv; + glad_debug_glProgramUniform2uivEXT = glad_glProgramUniform2uivEXT; + glad_debug_glProgramUniform3d = glad_glProgramUniform3d; + glad_debug_glProgramUniform3dEXT = glad_glProgramUniform3dEXT; + glad_debug_glProgramUniform3dv = glad_glProgramUniform3dv; + glad_debug_glProgramUniform3dvEXT = glad_glProgramUniform3dvEXT; + glad_debug_glProgramUniform3f = glad_glProgramUniform3f; + glad_debug_glProgramUniform3fEXT = glad_glProgramUniform3fEXT; + glad_debug_glProgramUniform3fv = glad_glProgramUniform3fv; + glad_debug_glProgramUniform3fvEXT = glad_glProgramUniform3fvEXT; + glad_debug_glProgramUniform3i = glad_glProgramUniform3i; + glad_debug_glProgramUniform3iEXT = glad_glProgramUniform3iEXT; + glad_debug_glProgramUniform3iv = glad_glProgramUniform3iv; + glad_debug_glProgramUniform3ivEXT = glad_glProgramUniform3ivEXT; + glad_debug_glProgramUniform3ui = glad_glProgramUniform3ui; + glad_debug_glProgramUniform3uiEXT = glad_glProgramUniform3uiEXT; + glad_debug_glProgramUniform3uiv = glad_glProgramUniform3uiv; + glad_debug_glProgramUniform3uivEXT = glad_glProgramUniform3uivEXT; + glad_debug_glProgramUniform4d = glad_glProgramUniform4d; + glad_debug_glProgramUniform4dEXT = glad_glProgramUniform4dEXT; + glad_debug_glProgramUniform4dv = glad_glProgramUniform4dv; + glad_debug_glProgramUniform4dvEXT = glad_glProgramUniform4dvEXT; + glad_debug_glProgramUniform4f = glad_glProgramUniform4f; + glad_debug_glProgramUniform4fEXT = glad_glProgramUniform4fEXT; + glad_debug_glProgramUniform4fv = glad_glProgramUniform4fv; + glad_debug_glProgramUniform4fvEXT = glad_glProgramUniform4fvEXT; + glad_debug_glProgramUniform4i = glad_glProgramUniform4i; + glad_debug_glProgramUniform4iEXT = glad_glProgramUniform4iEXT; + glad_debug_glProgramUniform4iv = glad_glProgramUniform4iv; + glad_debug_glProgramUniform4ivEXT = glad_glProgramUniform4ivEXT; + glad_debug_glProgramUniform4ui = glad_glProgramUniform4ui; + glad_debug_glProgramUniform4uiEXT = glad_glProgramUniform4uiEXT; + glad_debug_glProgramUniform4uiv = glad_glProgramUniform4uiv; + glad_debug_glProgramUniform4uivEXT = glad_glProgramUniform4uivEXT; + glad_debug_glProgramUniformHandleui64ARB = glad_glProgramUniformHandleui64ARB; + glad_debug_glProgramUniformHandleui64NV = glad_glProgramUniformHandleui64NV; + glad_debug_glProgramUniformHandleui64vARB = glad_glProgramUniformHandleui64vARB; + glad_debug_glProgramUniformHandleui64vNV = glad_glProgramUniformHandleui64vNV; + glad_debug_glProgramUniformMatrix2dv = glad_glProgramUniformMatrix2dv; + glad_debug_glProgramUniformMatrix2dvEXT = glad_glProgramUniformMatrix2dvEXT; + glad_debug_glProgramUniformMatrix2fv = glad_glProgramUniformMatrix2fv; + glad_debug_glProgramUniformMatrix2fvEXT = glad_glProgramUniformMatrix2fvEXT; + glad_debug_glProgramUniformMatrix2x3dv = glad_glProgramUniformMatrix2x3dv; + glad_debug_glProgramUniformMatrix2x3dvEXT = glad_glProgramUniformMatrix2x3dvEXT; + glad_debug_glProgramUniformMatrix2x3fv = glad_glProgramUniformMatrix2x3fv; + glad_debug_glProgramUniformMatrix2x3fvEXT = glad_glProgramUniformMatrix2x3fvEXT; + glad_debug_glProgramUniformMatrix2x4dv = glad_glProgramUniformMatrix2x4dv; + glad_debug_glProgramUniformMatrix2x4dvEXT = glad_glProgramUniformMatrix2x4dvEXT; + glad_debug_glProgramUniformMatrix2x4fv = glad_glProgramUniformMatrix2x4fv; + glad_debug_glProgramUniformMatrix2x4fvEXT = glad_glProgramUniformMatrix2x4fvEXT; + glad_debug_glProgramUniformMatrix3dv = glad_glProgramUniformMatrix3dv; + glad_debug_glProgramUniformMatrix3dvEXT = glad_glProgramUniformMatrix3dvEXT; + glad_debug_glProgramUniformMatrix3fv = glad_glProgramUniformMatrix3fv; + glad_debug_glProgramUniformMatrix3fvEXT = glad_glProgramUniformMatrix3fvEXT; + glad_debug_glProgramUniformMatrix3x2dv = glad_glProgramUniformMatrix3x2dv; + glad_debug_glProgramUniformMatrix3x2dvEXT = glad_glProgramUniformMatrix3x2dvEXT; + glad_debug_glProgramUniformMatrix3x2fv = glad_glProgramUniformMatrix3x2fv; + glad_debug_glProgramUniformMatrix3x2fvEXT = glad_glProgramUniformMatrix3x2fvEXT; + glad_debug_glProgramUniformMatrix3x4dv = glad_glProgramUniformMatrix3x4dv; + glad_debug_glProgramUniformMatrix3x4dvEXT = glad_glProgramUniformMatrix3x4dvEXT; + glad_debug_glProgramUniformMatrix3x4fv = glad_glProgramUniformMatrix3x4fv; + glad_debug_glProgramUniformMatrix3x4fvEXT = glad_glProgramUniformMatrix3x4fvEXT; + glad_debug_glProgramUniformMatrix4dv = glad_glProgramUniformMatrix4dv; + glad_debug_glProgramUniformMatrix4dvEXT = glad_glProgramUniformMatrix4dvEXT; + glad_debug_glProgramUniformMatrix4fv = glad_glProgramUniformMatrix4fv; + glad_debug_glProgramUniformMatrix4fvEXT = glad_glProgramUniformMatrix4fvEXT; + glad_debug_glProgramUniformMatrix4x2dv = glad_glProgramUniformMatrix4x2dv; + glad_debug_glProgramUniformMatrix4x2dvEXT = glad_glProgramUniformMatrix4x2dvEXT; + glad_debug_glProgramUniformMatrix4x2fv = glad_glProgramUniformMatrix4x2fv; + glad_debug_glProgramUniformMatrix4x2fvEXT = glad_glProgramUniformMatrix4x2fvEXT; + glad_debug_glProgramUniformMatrix4x3dv = glad_glProgramUniformMatrix4x3dv; + glad_debug_glProgramUniformMatrix4x3dvEXT = glad_glProgramUniformMatrix4x3dvEXT; + glad_debug_glProgramUniformMatrix4x3fv = glad_glProgramUniformMatrix4x3fv; + glad_debug_glProgramUniformMatrix4x3fvEXT = glad_glProgramUniformMatrix4x3fvEXT; + glad_debug_glProgramVertexLimitNV = glad_glProgramVertexLimitNV; + glad_debug_glProvokingVertex = glad_glProvokingVertex; + glad_debug_glProvokingVertexEXT = glad_glProvokingVertexEXT; + glad_debug_glPushClientAttribDefaultEXT = glad_glPushClientAttribDefaultEXT; + glad_debug_glPushDebugGroup = glad_glPushDebugGroup; + glad_debug_glQueryCounter = glad_glQueryCounter; + glad_debug_glReadBuffer = glad_glReadBuffer; + glad_debug_glReadPixels = glad_glReadPixels; + glad_debug_glReadnPixels = glad_glReadnPixels; + glad_debug_glReadnPixelsARB = glad_glReadnPixelsARB; + glad_debug_glReleaseShaderCompiler = glad_glReleaseShaderCompiler; + glad_debug_glRenderbufferStorage = glad_glRenderbufferStorage; + glad_debug_glRenderbufferStorageEXT = glad_glRenderbufferStorageEXT; + glad_debug_glRenderbufferStorageMultisample = glad_glRenderbufferStorageMultisample; + glad_debug_glRenderbufferStorageMultisampleEXT = glad_glRenderbufferStorageMultisampleEXT; + glad_debug_glRequestResidentProgramsNV = glad_glRequestResidentProgramsNV; + glad_debug_glResumeTransformFeedback = glad_glResumeTransformFeedback; + glad_debug_glResumeTransformFeedbackNV = glad_glResumeTransformFeedbackNV; + glad_debug_glSampleCoverage = glad_glSampleCoverage; + glad_debug_glSampleCoverageARB = glad_glSampleCoverageARB; + glad_debug_glSampleMaskIndexedNV = glad_glSampleMaskIndexedNV; + glad_debug_glSampleMaski = glad_glSampleMaski; + glad_debug_glSamplerParameterIiv = glad_glSamplerParameterIiv; + glad_debug_glSamplerParameterIuiv = glad_glSamplerParameterIuiv; + glad_debug_glSamplerParameterf = glad_glSamplerParameterf; + glad_debug_glSamplerParameterfv = glad_glSamplerParameterfv; + glad_debug_glSamplerParameteri = glad_glSamplerParameteri; + glad_debug_glSamplerParameteriv = glad_glSamplerParameteriv; + glad_debug_glScissor = glad_glScissor; + glad_debug_glScissorArrayv = glad_glScissorArrayv; + glad_debug_glScissorIndexed = glad_glScissorIndexed; + glad_debug_glScissorIndexedv = glad_glScissorIndexedv; + glad_debug_glShaderBinary = glad_glShaderBinary; + glad_debug_glShaderSource = glad_glShaderSource; + glad_debug_glShaderSourceARB = glad_glShaderSourceARB; + glad_debug_glShaderStorageBlockBinding = glad_glShaderStorageBlockBinding; + glad_debug_glSpecializeShader = glad_glSpecializeShader; + glad_debug_glSpecializeShaderARB = glad_glSpecializeShaderARB; + glad_debug_glStencilFunc = glad_glStencilFunc; + glad_debug_glStencilFuncSeparate = glad_glStencilFuncSeparate; + glad_debug_glStencilFuncSeparateATI = glad_glStencilFuncSeparateATI; + glad_debug_glStencilMask = glad_glStencilMask; + glad_debug_glStencilMaskSeparate = glad_glStencilMaskSeparate; + glad_debug_glStencilOp = glad_glStencilOp; + glad_debug_glStencilOpSeparate = glad_glStencilOpSeparate; + glad_debug_glStencilOpSeparateATI = glad_glStencilOpSeparateATI; + glad_debug_glTexBuffer = glad_glTexBuffer; + glad_debug_glTexBufferARB = glad_glTexBufferARB; + glad_debug_glTexBufferEXT = glad_glTexBufferEXT; + glad_debug_glTexBufferRange = glad_glTexBufferRange; + glad_debug_glTexCoordPointerEXT = glad_glTexCoordPointerEXT; + glad_debug_glTexImage1D = glad_glTexImage1D; + glad_debug_glTexImage2D = glad_glTexImage2D; + glad_debug_glTexImage2DMultisample = glad_glTexImage2DMultisample; + glad_debug_glTexImage3D = glad_glTexImage3D; + glad_debug_glTexImage3DEXT = glad_glTexImage3DEXT; + glad_debug_glTexImage3DMultisample = glad_glTexImage3DMultisample; + glad_debug_glTexParameterIiv = glad_glTexParameterIiv; + glad_debug_glTexParameterIivEXT = glad_glTexParameterIivEXT; + glad_debug_glTexParameterIuiv = glad_glTexParameterIuiv; + glad_debug_glTexParameterIuivEXT = glad_glTexParameterIuivEXT; + glad_debug_glTexParameterf = glad_glTexParameterf; + glad_debug_glTexParameterfv = glad_glTexParameterfv; + glad_debug_glTexParameteri = glad_glTexParameteri; + glad_debug_glTexParameteriv = glad_glTexParameteriv; + glad_debug_glTexRenderbufferNV = glad_glTexRenderbufferNV; + glad_debug_glTexStorage1D = glad_glTexStorage1D; + glad_debug_glTexStorage1DEXT = glad_glTexStorage1DEXT; + glad_debug_glTexStorage2D = glad_glTexStorage2D; + glad_debug_glTexStorage2DEXT = glad_glTexStorage2DEXT; + glad_debug_glTexStorage2DMultisample = glad_glTexStorage2DMultisample; + glad_debug_glTexStorage3D = glad_glTexStorage3D; + glad_debug_glTexStorage3DEXT = glad_glTexStorage3DEXT; + glad_debug_glTexStorage3DMultisample = glad_glTexStorage3DMultisample; + glad_debug_glTexSubImage1D = glad_glTexSubImage1D; + glad_debug_glTexSubImage1DEXT = glad_glTexSubImage1DEXT; + glad_debug_glTexSubImage2D = glad_glTexSubImage2D; + glad_debug_glTexSubImage2DEXT = glad_glTexSubImage2DEXT; + glad_debug_glTexSubImage3D = glad_glTexSubImage3D; + glad_debug_glTexSubImage3DEXT = glad_glTexSubImage3DEXT; + glad_debug_glTextureBarrier = glad_glTextureBarrier; + glad_debug_glTextureBuffer = glad_glTextureBuffer; + glad_debug_glTextureBufferEXT = glad_glTextureBufferEXT; + glad_debug_glTextureBufferRange = glad_glTextureBufferRange; + glad_debug_glTextureBufferRangeEXT = glad_glTextureBufferRangeEXT; + glad_debug_glTextureImage1DEXT = glad_glTextureImage1DEXT; + glad_debug_glTextureImage2DEXT = glad_glTextureImage2DEXT; + glad_debug_glTextureImage3DEXT = glad_glTextureImage3DEXT; + glad_debug_glTexturePageCommitmentEXT = glad_glTexturePageCommitmentEXT; + glad_debug_glTextureParameterIiv = glad_glTextureParameterIiv; + glad_debug_glTextureParameterIivEXT = glad_glTextureParameterIivEXT; + glad_debug_glTextureParameterIuiv = glad_glTextureParameterIuiv; + glad_debug_glTextureParameterIuivEXT = glad_glTextureParameterIuivEXT; + glad_debug_glTextureParameterf = glad_glTextureParameterf; + glad_debug_glTextureParameterfEXT = glad_glTextureParameterfEXT; + glad_debug_glTextureParameterfv = glad_glTextureParameterfv; + glad_debug_glTextureParameterfvEXT = glad_glTextureParameterfvEXT; + glad_debug_glTextureParameteri = glad_glTextureParameteri; + glad_debug_glTextureParameteriEXT = glad_glTextureParameteriEXT; + glad_debug_glTextureParameteriv = glad_glTextureParameteriv; + glad_debug_glTextureParameterivEXT = glad_glTextureParameterivEXT; + glad_debug_glTextureRenderbufferEXT = glad_glTextureRenderbufferEXT; + glad_debug_glTextureStorage1D = glad_glTextureStorage1D; + glad_debug_glTextureStorage1DEXT = glad_glTextureStorage1DEXT; + glad_debug_glTextureStorage2D = glad_glTextureStorage2D; + glad_debug_glTextureStorage2DEXT = glad_glTextureStorage2DEXT; + glad_debug_glTextureStorage2DMultisample = glad_glTextureStorage2DMultisample; + glad_debug_glTextureStorage2DMultisampleEXT = glad_glTextureStorage2DMultisampleEXT; + glad_debug_glTextureStorage3D = glad_glTextureStorage3D; + glad_debug_glTextureStorage3DEXT = glad_glTextureStorage3DEXT; + glad_debug_glTextureStorage3DMultisample = glad_glTextureStorage3DMultisample; + glad_debug_glTextureStorage3DMultisampleEXT = glad_glTextureStorage3DMultisampleEXT; + glad_debug_glTextureSubImage1D = glad_glTextureSubImage1D; + glad_debug_glTextureSubImage1DEXT = glad_glTextureSubImage1DEXT; + glad_debug_glTextureSubImage2D = glad_glTextureSubImage2D; + glad_debug_glTextureSubImage2DEXT = glad_glTextureSubImage2DEXT; + glad_debug_glTextureSubImage3D = glad_glTextureSubImage3D; + glad_debug_glTextureSubImage3DEXT = glad_glTextureSubImage3DEXT; + glad_debug_glTextureView = glad_glTextureView; + glad_debug_glTrackMatrixNV = glad_glTrackMatrixNV; + glad_debug_glTransformFeedbackAttribsNV = glad_glTransformFeedbackAttribsNV; + glad_debug_glTransformFeedbackBufferBase = glad_glTransformFeedbackBufferBase; + glad_debug_glTransformFeedbackBufferRange = glad_glTransformFeedbackBufferRange; + glad_debug_glTransformFeedbackStreamAttribsNV = glad_glTransformFeedbackStreamAttribsNV; + glad_debug_glTransformFeedbackVaryings = glad_glTransformFeedbackVaryings; + glad_debug_glTransformFeedbackVaryingsEXT = glad_glTransformFeedbackVaryingsEXT; + glad_debug_glTransformFeedbackVaryingsNV = glad_glTransformFeedbackVaryingsNV; + glad_debug_glUniform1d = glad_glUniform1d; + glad_debug_glUniform1dv = glad_glUniform1dv; + glad_debug_glUniform1f = glad_glUniform1f; + glad_debug_glUniform1fARB = glad_glUniform1fARB; + glad_debug_glUniform1fv = glad_glUniform1fv; + glad_debug_glUniform1fvARB = glad_glUniform1fvARB; + glad_debug_glUniform1i = glad_glUniform1i; + glad_debug_glUniform1iARB = glad_glUniform1iARB; + glad_debug_glUniform1iv = glad_glUniform1iv; + glad_debug_glUniform1ivARB = glad_glUniform1ivARB; + glad_debug_glUniform1ui = glad_glUniform1ui; + glad_debug_glUniform1uiEXT = glad_glUniform1uiEXT; + glad_debug_glUniform1uiv = glad_glUniform1uiv; + glad_debug_glUniform1uivEXT = glad_glUniform1uivEXT; + glad_debug_glUniform2d = glad_glUniform2d; + glad_debug_glUniform2dv = glad_glUniform2dv; + glad_debug_glUniform2f = glad_glUniform2f; + glad_debug_glUniform2fARB = glad_glUniform2fARB; + glad_debug_glUniform2fv = glad_glUniform2fv; + glad_debug_glUniform2fvARB = glad_glUniform2fvARB; + glad_debug_glUniform2i = glad_glUniform2i; + glad_debug_glUniform2iARB = glad_glUniform2iARB; + glad_debug_glUniform2iv = glad_glUniform2iv; + glad_debug_glUniform2ivARB = glad_glUniform2ivARB; + glad_debug_glUniform2ui = glad_glUniform2ui; + glad_debug_glUniform2uiEXT = glad_glUniform2uiEXT; + glad_debug_glUniform2uiv = glad_glUniform2uiv; + glad_debug_glUniform2uivEXT = glad_glUniform2uivEXT; + glad_debug_glUniform3d = glad_glUniform3d; + glad_debug_glUniform3dv = glad_glUniform3dv; + glad_debug_glUniform3f = glad_glUniform3f; + glad_debug_glUniform3fARB = glad_glUniform3fARB; + glad_debug_glUniform3fv = glad_glUniform3fv; + glad_debug_glUniform3fvARB = glad_glUniform3fvARB; + glad_debug_glUniform3i = glad_glUniform3i; + glad_debug_glUniform3iARB = glad_glUniform3iARB; + glad_debug_glUniform3iv = glad_glUniform3iv; + glad_debug_glUniform3ivARB = glad_glUniform3ivARB; + glad_debug_glUniform3ui = glad_glUniform3ui; + glad_debug_glUniform3uiEXT = glad_glUniform3uiEXT; + glad_debug_glUniform3uiv = glad_glUniform3uiv; + glad_debug_glUniform3uivEXT = glad_glUniform3uivEXT; + glad_debug_glUniform4d = glad_glUniform4d; + glad_debug_glUniform4dv = glad_glUniform4dv; + glad_debug_glUniform4f = glad_glUniform4f; + glad_debug_glUniform4fARB = glad_glUniform4fARB; + glad_debug_glUniform4fv = glad_glUniform4fv; + glad_debug_glUniform4fvARB = glad_glUniform4fvARB; + glad_debug_glUniform4i = glad_glUniform4i; + glad_debug_glUniform4iARB = glad_glUniform4iARB; + glad_debug_glUniform4iv = glad_glUniform4iv; + glad_debug_glUniform4ivARB = glad_glUniform4ivARB; + glad_debug_glUniform4ui = glad_glUniform4ui; + glad_debug_glUniform4uiEXT = glad_glUniform4uiEXT; + glad_debug_glUniform4uiv = glad_glUniform4uiv; + glad_debug_glUniform4uivEXT = glad_glUniform4uivEXT; + glad_debug_glUniformBlockBinding = glad_glUniformBlockBinding; + glad_debug_glUniformHandleui64ARB = glad_glUniformHandleui64ARB; + glad_debug_glUniformHandleui64NV = glad_glUniformHandleui64NV; + glad_debug_glUniformHandleui64vARB = glad_glUniformHandleui64vARB; + glad_debug_glUniformHandleui64vNV = glad_glUniformHandleui64vNV; + glad_debug_glUniformMatrix2dv = glad_glUniformMatrix2dv; + glad_debug_glUniformMatrix2fv = glad_glUniformMatrix2fv; + glad_debug_glUniformMatrix2fvARB = glad_glUniformMatrix2fvARB; + glad_debug_glUniformMatrix2x3dv = glad_glUniformMatrix2x3dv; + glad_debug_glUniformMatrix2x3fv = glad_glUniformMatrix2x3fv; + glad_debug_glUniformMatrix2x4dv = glad_glUniformMatrix2x4dv; + glad_debug_glUniformMatrix2x4fv = glad_glUniformMatrix2x4fv; + glad_debug_glUniformMatrix3dv = glad_glUniformMatrix3dv; + glad_debug_glUniformMatrix3fv = glad_glUniformMatrix3fv; + glad_debug_glUniformMatrix3fvARB = glad_glUniformMatrix3fvARB; + glad_debug_glUniformMatrix3x2dv = glad_glUniformMatrix3x2dv; + glad_debug_glUniformMatrix3x2fv = glad_glUniformMatrix3x2fv; + glad_debug_glUniformMatrix3x4dv = glad_glUniformMatrix3x4dv; + glad_debug_glUniformMatrix3x4fv = glad_glUniformMatrix3x4fv; + glad_debug_glUniformMatrix4dv = glad_glUniformMatrix4dv; + glad_debug_glUniformMatrix4fv = glad_glUniformMatrix4fv; + glad_debug_glUniformMatrix4fvARB = glad_glUniformMatrix4fvARB; + glad_debug_glUniformMatrix4x2dv = glad_glUniformMatrix4x2dv; + glad_debug_glUniformMatrix4x2fv = glad_glUniformMatrix4x2fv; + glad_debug_glUniformMatrix4x3dv = glad_glUniformMatrix4x3dv; + glad_debug_glUniformMatrix4x3fv = glad_glUniformMatrix4x3fv; + glad_debug_glUniformSubroutinesuiv = glad_glUniformSubroutinesuiv; + glad_debug_glUnmapBuffer = glad_glUnmapBuffer; + glad_debug_glUnmapBufferARB = glad_glUnmapBufferARB; + glad_debug_glUnmapNamedBuffer = glad_glUnmapNamedBuffer; + glad_debug_glUnmapNamedBufferEXT = glad_glUnmapNamedBufferEXT; + glad_debug_glUseProgram = glad_glUseProgram; + glad_debug_glUseProgramObjectARB = glad_glUseProgramObjectARB; + glad_debug_glUseProgramStages = glad_glUseProgramStages; + glad_debug_glValidateProgram = glad_glValidateProgram; + glad_debug_glValidateProgramARB = glad_glValidateProgramARB; + glad_debug_glValidateProgramPipeline = glad_glValidateProgramPipeline; + glad_debug_glVertexArrayAttribBinding = glad_glVertexArrayAttribBinding; + glad_debug_glVertexArrayAttribFormat = glad_glVertexArrayAttribFormat; + glad_debug_glVertexArrayAttribIFormat = glad_glVertexArrayAttribIFormat; + glad_debug_glVertexArrayAttribLFormat = glad_glVertexArrayAttribLFormat; + glad_debug_glVertexArrayBindVertexBufferEXT = glad_glVertexArrayBindVertexBufferEXT; + glad_debug_glVertexArrayBindingDivisor = glad_glVertexArrayBindingDivisor; + glad_debug_glVertexArrayColorOffsetEXT = glad_glVertexArrayColorOffsetEXT; + glad_debug_glVertexArrayEdgeFlagOffsetEXT = glad_glVertexArrayEdgeFlagOffsetEXT; + glad_debug_glVertexArrayElementBuffer = glad_glVertexArrayElementBuffer; + glad_debug_glVertexArrayFogCoordOffsetEXT = glad_glVertexArrayFogCoordOffsetEXT; + glad_debug_glVertexArrayIndexOffsetEXT = glad_glVertexArrayIndexOffsetEXT; + glad_debug_glVertexArrayMultiTexCoordOffsetEXT = glad_glVertexArrayMultiTexCoordOffsetEXT; + glad_debug_glVertexArrayNormalOffsetEXT = glad_glVertexArrayNormalOffsetEXT; + glad_debug_glVertexArraySecondaryColorOffsetEXT = glad_glVertexArraySecondaryColorOffsetEXT; + glad_debug_glVertexArrayTexCoordOffsetEXT = glad_glVertexArrayTexCoordOffsetEXT; + glad_debug_glVertexArrayVertexAttribBindingEXT = glad_glVertexArrayVertexAttribBindingEXT; + glad_debug_glVertexArrayVertexAttribDivisorEXT = glad_glVertexArrayVertexAttribDivisorEXT; + glad_debug_glVertexArrayVertexAttribFormatEXT = glad_glVertexArrayVertexAttribFormatEXT; + glad_debug_glVertexArrayVertexAttribIFormatEXT = glad_glVertexArrayVertexAttribIFormatEXT; + glad_debug_glVertexArrayVertexAttribIOffsetEXT = glad_glVertexArrayVertexAttribIOffsetEXT; + glad_debug_glVertexArrayVertexAttribLFormatEXT = glad_glVertexArrayVertexAttribLFormatEXT; + glad_debug_glVertexArrayVertexAttribLOffsetEXT = glad_glVertexArrayVertexAttribLOffsetEXT; + glad_debug_glVertexArrayVertexAttribOffsetEXT = glad_glVertexArrayVertexAttribOffsetEXT; + glad_debug_glVertexArrayVertexBindingDivisorEXT = glad_glVertexArrayVertexBindingDivisorEXT; + glad_debug_glVertexArrayVertexBuffer = glad_glVertexArrayVertexBuffer; + glad_debug_glVertexArrayVertexBuffers = glad_glVertexArrayVertexBuffers; + glad_debug_glVertexArrayVertexOffsetEXT = glad_glVertexArrayVertexOffsetEXT; + glad_debug_glVertexAttrib1d = glad_glVertexAttrib1d; + glad_debug_glVertexAttrib1dARB = glad_glVertexAttrib1dARB; + glad_debug_glVertexAttrib1dNV = glad_glVertexAttrib1dNV; + glad_debug_glVertexAttrib1dv = glad_glVertexAttrib1dv; + glad_debug_glVertexAttrib1dvARB = glad_glVertexAttrib1dvARB; + glad_debug_glVertexAttrib1dvNV = glad_glVertexAttrib1dvNV; + glad_debug_glVertexAttrib1f = glad_glVertexAttrib1f; + glad_debug_glVertexAttrib1fARB = glad_glVertexAttrib1fARB; + glad_debug_glVertexAttrib1fNV = glad_glVertexAttrib1fNV; + glad_debug_glVertexAttrib1fv = glad_glVertexAttrib1fv; + glad_debug_glVertexAttrib1fvARB = glad_glVertexAttrib1fvARB; + glad_debug_glVertexAttrib1fvNV = glad_glVertexAttrib1fvNV; + glad_debug_glVertexAttrib1s = glad_glVertexAttrib1s; + glad_debug_glVertexAttrib1sARB = glad_glVertexAttrib1sARB; + glad_debug_glVertexAttrib1sNV = glad_glVertexAttrib1sNV; + glad_debug_glVertexAttrib1sv = glad_glVertexAttrib1sv; + glad_debug_glVertexAttrib1svARB = glad_glVertexAttrib1svARB; + glad_debug_glVertexAttrib1svNV = glad_glVertexAttrib1svNV; + glad_debug_glVertexAttrib2d = glad_glVertexAttrib2d; + glad_debug_glVertexAttrib2dARB = glad_glVertexAttrib2dARB; + glad_debug_glVertexAttrib2dNV = glad_glVertexAttrib2dNV; + glad_debug_glVertexAttrib2dv = glad_glVertexAttrib2dv; + glad_debug_glVertexAttrib2dvARB = glad_glVertexAttrib2dvARB; + glad_debug_glVertexAttrib2dvNV = glad_glVertexAttrib2dvNV; + glad_debug_glVertexAttrib2f = glad_glVertexAttrib2f; + glad_debug_glVertexAttrib2fARB = glad_glVertexAttrib2fARB; + glad_debug_glVertexAttrib2fNV = glad_glVertexAttrib2fNV; + glad_debug_glVertexAttrib2fv = glad_glVertexAttrib2fv; + glad_debug_glVertexAttrib2fvARB = glad_glVertexAttrib2fvARB; + glad_debug_glVertexAttrib2fvNV = glad_glVertexAttrib2fvNV; + glad_debug_glVertexAttrib2s = glad_glVertexAttrib2s; + glad_debug_glVertexAttrib2sARB = glad_glVertexAttrib2sARB; + glad_debug_glVertexAttrib2sNV = glad_glVertexAttrib2sNV; + glad_debug_glVertexAttrib2sv = glad_glVertexAttrib2sv; + glad_debug_glVertexAttrib2svARB = glad_glVertexAttrib2svARB; + glad_debug_glVertexAttrib2svNV = glad_glVertexAttrib2svNV; + glad_debug_glVertexAttrib3d = glad_glVertexAttrib3d; + glad_debug_glVertexAttrib3dARB = glad_glVertexAttrib3dARB; + glad_debug_glVertexAttrib3dNV = glad_glVertexAttrib3dNV; + glad_debug_glVertexAttrib3dv = glad_glVertexAttrib3dv; + glad_debug_glVertexAttrib3dvARB = glad_glVertexAttrib3dvARB; + glad_debug_glVertexAttrib3dvNV = glad_glVertexAttrib3dvNV; + glad_debug_glVertexAttrib3f = glad_glVertexAttrib3f; + glad_debug_glVertexAttrib3fARB = glad_glVertexAttrib3fARB; + glad_debug_glVertexAttrib3fNV = glad_glVertexAttrib3fNV; + glad_debug_glVertexAttrib3fv = glad_glVertexAttrib3fv; + glad_debug_glVertexAttrib3fvARB = glad_glVertexAttrib3fvARB; + glad_debug_glVertexAttrib3fvNV = glad_glVertexAttrib3fvNV; + glad_debug_glVertexAttrib3s = glad_glVertexAttrib3s; + glad_debug_glVertexAttrib3sARB = glad_glVertexAttrib3sARB; + glad_debug_glVertexAttrib3sNV = glad_glVertexAttrib3sNV; + glad_debug_glVertexAttrib3sv = glad_glVertexAttrib3sv; + glad_debug_glVertexAttrib3svARB = glad_glVertexAttrib3svARB; + glad_debug_glVertexAttrib3svNV = glad_glVertexAttrib3svNV; + glad_debug_glVertexAttrib4Nbv = glad_glVertexAttrib4Nbv; + glad_debug_glVertexAttrib4NbvARB = glad_glVertexAttrib4NbvARB; + glad_debug_glVertexAttrib4Niv = glad_glVertexAttrib4Niv; + glad_debug_glVertexAttrib4NivARB = glad_glVertexAttrib4NivARB; + glad_debug_glVertexAttrib4Nsv = glad_glVertexAttrib4Nsv; + glad_debug_glVertexAttrib4NsvARB = glad_glVertexAttrib4NsvARB; + glad_debug_glVertexAttrib4Nub = glad_glVertexAttrib4Nub; + glad_debug_glVertexAttrib4NubARB = glad_glVertexAttrib4NubARB; + glad_debug_glVertexAttrib4Nubv = glad_glVertexAttrib4Nubv; + glad_debug_glVertexAttrib4NubvARB = glad_glVertexAttrib4NubvARB; + glad_debug_glVertexAttrib4Nuiv = glad_glVertexAttrib4Nuiv; + glad_debug_glVertexAttrib4NuivARB = glad_glVertexAttrib4NuivARB; + glad_debug_glVertexAttrib4Nusv = glad_glVertexAttrib4Nusv; + glad_debug_glVertexAttrib4NusvARB = glad_glVertexAttrib4NusvARB; + glad_debug_glVertexAttrib4bv = glad_glVertexAttrib4bv; + glad_debug_glVertexAttrib4bvARB = glad_glVertexAttrib4bvARB; + glad_debug_glVertexAttrib4d = glad_glVertexAttrib4d; + glad_debug_glVertexAttrib4dARB = glad_glVertexAttrib4dARB; + glad_debug_glVertexAttrib4dNV = glad_glVertexAttrib4dNV; + glad_debug_glVertexAttrib4dv = glad_glVertexAttrib4dv; + glad_debug_glVertexAttrib4dvARB = glad_glVertexAttrib4dvARB; + glad_debug_glVertexAttrib4dvNV = glad_glVertexAttrib4dvNV; + glad_debug_glVertexAttrib4f = glad_glVertexAttrib4f; + glad_debug_glVertexAttrib4fARB = glad_glVertexAttrib4fARB; + glad_debug_glVertexAttrib4fNV = glad_glVertexAttrib4fNV; + glad_debug_glVertexAttrib4fv = glad_glVertexAttrib4fv; + glad_debug_glVertexAttrib4fvARB = glad_glVertexAttrib4fvARB; + glad_debug_glVertexAttrib4fvNV = glad_glVertexAttrib4fvNV; + glad_debug_glVertexAttrib4iv = glad_glVertexAttrib4iv; + glad_debug_glVertexAttrib4ivARB = glad_glVertexAttrib4ivARB; + glad_debug_glVertexAttrib4s = glad_glVertexAttrib4s; + glad_debug_glVertexAttrib4sARB = glad_glVertexAttrib4sARB; + glad_debug_glVertexAttrib4sNV = glad_glVertexAttrib4sNV; + glad_debug_glVertexAttrib4sv = glad_glVertexAttrib4sv; + glad_debug_glVertexAttrib4svARB = glad_glVertexAttrib4svARB; + glad_debug_glVertexAttrib4svNV = glad_glVertexAttrib4svNV; + glad_debug_glVertexAttrib4ubNV = glad_glVertexAttrib4ubNV; + glad_debug_glVertexAttrib4ubv = glad_glVertexAttrib4ubv; + glad_debug_glVertexAttrib4ubvARB = glad_glVertexAttrib4ubvARB; + glad_debug_glVertexAttrib4ubvNV = glad_glVertexAttrib4ubvNV; + glad_debug_glVertexAttrib4uiv = glad_glVertexAttrib4uiv; + glad_debug_glVertexAttrib4uivARB = glad_glVertexAttrib4uivARB; + glad_debug_glVertexAttrib4usv = glad_glVertexAttrib4usv; + glad_debug_glVertexAttrib4usvARB = glad_glVertexAttrib4usvARB; + glad_debug_glVertexAttribBinding = glad_glVertexAttribBinding; + glad_debug_glVertexAttribDivisor = glad_glVertexAttribDivisor; + glad_debug_glVertexAttribDivisorARB = glad_glVertexAttribDivisorARB; + glad_debug_glVertexAttribFormat = glad_glVertexAttribFormat; + glad_debug_glVertexAttribI1i = glad_glVertexAttribI1i; + glad_debug_glVertexAttribI1iEXT = glad_glVertexAttribI1iEXT; + glad_debug_glVertexAttribI1iv = glad_glVertexAttribI1iv; + glad_debug_glVertexAttribI1ivEXT = glad_glVertexAttribI1ivEXT; + glad_debug_glVertexAttribI1ui = glad_glVertexAttribI1ui; + glad_debug_glVertexAttribI1uiEXT = glad_glVertexAttribI1uiEXT; + glad_debug_glVertexAttribI1uiv = glad_glVertexAttribI1uiv; + glad_debug_glVertexAttribI1uivEXT = glad_glVertexAttribI1uivEXT; + glad_debug_glVertexAttribI2i = glad_glVertexAttribI2i; + glad_debug_glVertexAttribI2iEXT = glad_glVertexAttribI2iEXT; + glad_debug_glVertexAttribI2iv = glad_glVertexAttribI2iv; + glad_debug_glVertexAttribI2ivEXT = glad_glVertexAttribI2ivEXT; + glad_debug_glVertexAttribI2ui = glad_glVertexAttribI2ui; + glad_debug_glVertexAttribI2uiEXT = glad_glVertexAttribI2uiEXT; + glad_debug_glVertexAttribI2uiv = glad_glVertexAttribI2uiv; + glad_debug_glVertexAttribI2uivEXT = glad_glVertexAttribI2uivEXT; + glad_debug_glVertexAttribI3i = glad_glVertexAttribI3i; + glad_debug_glVertexAttribI3iEXT = glad_glVertexAttribI3iEXT; + glad_debug_glVertexAttribI3iv = glad_glVertexAttribI3iv; + glad_debug_glVertexAttribI3ivEXT = glad_glVertexAttribI3ivEXT; + glad_debug_glVertexAttribI3ui = glad_glVertexAttribI3ui; + glad_debug_glVertexAttribI3uiEXT = glad_glVertexAttribI3uiEXT; + glad_debug_glVertexAttribI3uiv = glad_glVertexAttribI3uiv; + glad_debug_glVertexAttribI3uivEXT = glad_glVertexAttribI3uivEXT; + glad_debug_glVertexAttribI4bv = glad_glVertexAttribI4bv; + glad_debug_glVertexAttribI4bvEXT = glad_glVertexAttribI4bvEXT; + glad_debug_glVertexAttribI4i = glad_glVertexAttribI4i; + glad_debug_glVertexAttribI4iEXT = glad_glVertexAttribI4iEXT; + glad_debug_glVertexAttribI4iv = glad_glVertexAttribI4iv; + glad_debug_glVertexAttribI4ivEXT = glad_glVertexAttribI4ivEXT; + glad_debug_glVertexAttribI4sv = glad_glVertexAttribI4sv; + glad_debug_glVertexAttribI4svEXT = glad_glVertexAttribI4svEXT; + glad_debug_glVertexAttribI4ubv = glad_glVertexAttribI4ubv; + glad_debug_glVertexAttribI4ubvEXT = glad_glVertexAttribI4ubvEXT; + glad_debug_glVertexAttribI4ui = glad_glVertexAttribI4ui; + glad_debug_glVertexAttribI4uiEXT = glad_glVertexAttribI4uiEXT; + glad_debug_glVertexAttribI4uiv = glad_glVertexAttribI4uiv; + glad_debug_glVertexAttribI4uivEXT = glad_glVertexAttribI4uivEXT; + glad_debug_glVertexAttribI4usv = glad_glVertexAttribI4usv; + glad_debug_glVertexAttribI4usvEXT = glad_glVertexAttribI4usvEXT; + glad_debug_glVertexAttribIFormat = glad_glVertexAttribIFormat; + glad_debug_glVertexAttribIPointer = glad_glVertexAttribIPointer; + glad_debug_glVertexAttribIPointerEXT = glad_glVertexAttribIPointerEXT; + glad_debug_glVertexAttribL1d = glad_glVertexAttribL1d; + glad_debug_glVertexAttribL1dEXT = glad_glVertexAttribL1dEXT; + glad_debug_glVertexAttribL1dv = glad_glVertexAttribL1dv; + glad_debug_glVertexAttribL1dvEXT = glad_glVertexAttribL1dvEXT; + glad_debug_glVertexAttribL1ui64ARB = glad_glVertexAttribL1ui64ARB; + glad_debug_glVertexAttribL1ui64vARB = glad_glVertexAttribL1ui64vARB; + glad_debug_glVertexAttribL2d = glad_glVertexAttribL2d; + glad_debug_glVertexAttribL2dEXT = glad_glVertexAttribL2dEXT; + glad_debug_glVertexAttribL2dv = glad_glVertexAttribL2dv; + glad_debug_glVertexAttribL2dvEXT = glad_glVertexAttribL2dvEXT; + glad_debug_glVertexAttribL3d = glad_glVertexAttribL3d; + glad_debug_glVertexAttribL3dEXT = glad_glVertexAttribL3dEXT; + glad_debug_glVertexAttribL3dv = glad_glVertexAttribL3dv; + glad_debug_glVertexAttribL3dvEXT = glad_glVertexAttribL3dvEXT; + glad_debug_glVertexAttribL4d = glad_glVertexAttribL4d; + glad_debug_glVertexAttribL4dEXT = glad_glVertexAttribL4dEXT; + glad_debug_glVertexAttribL4dv = glad_glVertexAttribL4dv; + glad_debug_glVertexAttribL4dvEXT = glad_glVertexAttribL4dvEXT; + glad_debug_glVertexAttribLFormat = glad_glVertexAttribLFormat; + glad_debug_glVertexAttribLPointer = glad_glVertexAttribLPointer; + glad_debug_glVertexAttribLPointerEXT = glad_glVertexAttribLPointerEXT; + glad_debug_glVertexAttribP1ui = glad_glVertexAttribP1ui; + glad_debug_glVertexAttribP1uiv = glad_glVertexAttribP1uiv; + glad_debug_glVertexAttribP2ui = glad_glVertexAttribP2ui; + glad_debug_glVertexAttribP2uiv = glad_glVertexAttribP2uiv; + glad_debug_glVertexAttribP3ui = glad_glVertexAttribP3ui; + glad_debug_glVertexAttribP3uiv = glad_glVertexAttribP3uiv; + glad_debug_glVertexAttribP4ui = glad_glVertexAttribP4ui; + glad_debug_glVertexAttribP4uiv = glad_glVertexAttribP4uiv; + glad_debug_glVertexAttribPointer = glad_glVertexAttribPointer; + glad_debug_glVertexAttribPointerARB = glad_glVertexAttribPointerARB; + glad_debug_glVertexAttribPointerNV = glad_glVertexAttribPointerNV; + glad_debug_glVertexAttribs1dvNV = glad_glVertexAttribs1dvNV; + glad_debug_glVertexAttribs1fvNV = glad_glVertexAttribs1fvNV; + glad_debug_glVertexAttribs1svNV = glad_glVertexAttribs1svNV; + glad_debug_glVertexAttribs2dvNV = glad_glVertexAttribs2dvNV; + glad_debug_glVertexAttribs2fvNV = glad_glVertexAttribs2fvNV; + glad_debug_glVertexAttribs2svNV = glad_glVertexAttribs2svNV; + glad_debug_glVertexAttribs3dvNV = glad_glVertexAttribs3dvNV; + glad_debug_glVertexAttribs3fvNV = glad_glVertexAttribs3fvNV; + glad_debug_glVertexAttribs3svNV = glad_glVertexAttribs3svNV; + glad_debug_glVertexAttribs4dvNV = glad_glVertexAttribs4dvNV; + glad_debug_glVertexAttribs4fvNV = glad_glVertexAttribs4fvNV; + glad_debug_glVertexAttribs4svNV = glad_glVertexAttribs4svNV; + glad_debug_glVertexAttribs4ubvNV = glad_glVertexAttribs4ubvNV; + glad_debug_glVertexBindingDivisor = glad_glVertexBindingDivisor; + glad_debug_glVertexPointerEXT = glad_glVertexPointerEXT; + glad_debug_glViewport = glad_glViewport; + glad_debug_glViewportArrayv = glad_glViewportArrayv; + glad_debug_glViewportIndexedf = glad_glViewportIndexedf; + glad_debug_glViewportIndexedfv = glad_glViewportIndexedfv; + glad_debug_glWaitSync = glad_glWaitSync; +} + +#ifdef GLAD_GL + +#ifndef GLAD_LOADER_LIBRARY_C_ +#define GLAD_LOADER_LIBRARY_C_ + +#include +#include + +#if GLAD_PLATFORM_WIN32 +#include +#else +#include +#endif + + +static void* glad_get_dlopen_handle(const char *lib_names[], int length) { + void *handle = NULL; + int i; + + for (i = 0; i < length; ++i) { +#if GLAD_PLATFORM_WIN32 + #if GLAD_PLATFORM_UWP + size_t buffer_size = (strlen(lib_names[i]) + 1) * sizeof(WCHAR); + LPWSTR buffer = (LPWSTR) malloc(buffer_size); + if (buffer != NULL) { + int ret = MultiByteToWideChar(CP_ACP, 0, lib_names[i], -1, buffer, buffer_size); + if (ret != 0) { + handle = (void*) LoadPackagedLibrary(buffer, 0); + } + free((void*) buffer); + } + #else + handle = (void*) LoadLibraryA(lib_names[i]); + #endif +#else + handle = dlopen(lib_names[i], RTLD_LAZY | RTLD_LOCAL); +#endif + if (handle != NULL) { + return handle; + } + } + + return NULL; +} + +static void glad_close_dlopen_handle(void* handle) { + if (handle != NULL) { +#if GLAD_PLATFORM_WIN32 + FreeLibrary((HMODULE) handle); +#else + dlclose(handle); +#endif + } +} + +static GLADapiproc glad_dlsym_handle(void* handle, const char *name) { + if (handle == NULL) { + return NULL; + } + +#if GLAD_PLATFORM_WIN32 + return (GLADapiproc) GetProcAddress((HMODULE) handle, name); +#else + return GLAD_GNUC_EXTENSION (GLADapiproc) dlsym(handle, name); +#endif +} + +#endif /* GLAD_LOADER_LIBRARY_C_ */ + +typedef void* (GLAD_API_PTR *GLADglprocaddrfunc)(const char*); +struct _glad_gl_userptr { + void *handle; + GLADglprocaddrfunc gl_get_proc_address_ptr; +}; + +static GLADapiproc glad_gl_get_proc(void *vuserptr, const char *name) { + struct _glad_gl_userptr userptr = *(struct _glad_gl_userptr*) vuserptr; + GLADapiproc result = NULL; + + if(userptr.gl_get_proc_address_ptr != NULL) { + result = GLAD_GNUC_EXTENSION (GLADapiproc) userptr.gl_get_proc_address_ptr(name); + } + if(result == NULL) { + result = glad_dlsym_handle(userptr.handle, name); + } + + return result; +} + +static void* _glad_GL_loader_handle = NULL; + +static void* glad_gl_dlopen_handle(void) { +#if GLAD_PLATFORM_APPLE + static const char *NAMES[] = { + "../Frameworks/OpenGL.framework/OpenGL", + "/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" + }; +#elif GLAD_PLATFORM_WIN32 + static const char *NAMES[] = {"opengl32.dll"}; +#else + static const char *NAMES[] = { + #if defined(__CYGWIN__) + "libGL-1.so", + #endif + "libGL.so.1", + "libGL.so" + }; +#endif + + if (_glad_GL_loader_handle == NULL) { + _glad_GL_loader_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + } + + return _glad_GL_loader_handle; +} + +static struct _glad_gl_userptr glad_gl_build_userptr(void *handle) { + struct _glad_gl_userptr userptr; + + userptr.handle = handle; +#if GLAD_PLATFORM_APPLE || defined(__HAIKU__) + userptr.gl_get_proc_address_ptr = NULL; +#elif GLAD_PLATFORM_WIN32 + userptr.gl_get_proc_address_ptr = + (GLADglprocaddrfunc) glad_dlsym_handle(handle, "wglGetProcAddress"); +#else + userptr.gl_get_proc_address_ptr = + (GLADglprocaddrfunc) glad_dlsym_handle(handle, "glXGetProcAddressARB"); +#endif + + return userptr; +} + +int gladLoaderLoadGL(void) { + int version = 0; + void *handle; + int did_load = 0; + struct _glad_gl_userptr userptr; + + did_load = _glad_GL_loader_handle == NULL; + handle = glad_gl_dlopen_handle(); + if (handle) { + userptr = glad_gl_build_userptr(handle); + + version = gladLoadGLUserPtr(glad_gl_get_proc, &userptr); + + if (did_load) { + gladLoaderUnloadGL(); + } + } + + return version; +} + + + +void gladLoaderUnloadGL(void) { + if (_glad_GL_loader_handle != NULL) { + glad_close_dlopen_handle(_glad_GL_loader_handle); + _glad_GL_loader_handle = NULL; + } +} + +#endif /* GLAD_GL */ + +#ifdef __cplusplus +} +#endif diff --git a/external/glad/src/vulkan.c b/external/glad/src/vulkan.c new file mode 100644 index 0000000..59f8d18 --- /dev/null +++ b/external/glad/src/vulkan.c @@ -0,0 +1,5537 @@ +/** + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + */ +#include +#include +#include +#include + +#ifndef GLAD_IMPL_UTIL_C_ +#define GLAD_IMPL_UTIL_C_ + +#ifdef _MSC_VER +#define GLAD_IMPL_UTIL_SSCANF sscanf_s +#else +#define GLAD_IMPL_UTIL_SSCANF sscanf +#endif + +#endif /* GLAD_IMPL_UTIL_C_ */ + +#ifdef __cplusplus +extern "C" { +#endif + + + +int GLAD_VK_VERSION_1_0 = 0; +int GLAD_VK_VERSION_1_1 = 0; +int GLAD_VK_VERSION_1_2 = 0; +int GLAD_VK_VERSION_1_3 = 0; +int GLAD_VK_VERSION_1_4 = 0; +int GLAD_VK_AMD_draw_indirect_count = 0; +int GLAD_VK_EXT_buffer_device_address = 0; +int GLAD_VK_EXT_extended_dynamic_state = 0; +int GLAD_VK_EXT_extended_dynamic_state2 = 0; +int GLAD_VK_EXT_host_image_copy = 0; +int GLAD_VK_EXT_host_query_reset = 0; +int GLAD_VK_EXT_image_compression_control = 0; +int GLAD_VK_EXT_line_rasterization = 0; +int GLAD_VK_EXT_private_data = 0; +int GLAD_VK_EXT_shader_object = 0; +int GLAD_VK_EXT_tooling_info = 0; +int GLAD_VK_KHR_bind_memory2 = 0; +int GLAD_VK_KHR_buffer_device_address = 0; +int GLAD_VK_KHR_copy_commands2 = 0; +int GLAD_VK_KHR_create_renderpass2 = 0; +int GLAD_VK_KHR_descriptor_update_template = 0; +int GLAD_VK_KHR_device_group = 0; +int GLAD_VK_KHR_device_group_creation = 0; +int GLAD_VK_KHR_draw_indirect_count = 0; +int GLAD_VK_KHR_dynamic_rendering = 0; +int GLAD_VK_KHR_dynamic_rendering_local_read = 0; +int GLAD_VK_KHR_external_fence_capabilities = 0; +int GLAD_VK_KHR_external_memory_capabilities = 0; +int GLAD_VK_KHR_external_semaphore_capabilities = 0; +int GLAD_VK_KHR_get_memory_requirements2 = 0; +int GLAD_VK_KHR_get_physical_device_properties2 = 0; +int GLAD_VK_KHR_line_rasterization = 0; +int GLAD_VK_KHR_maintenance1 = 0; +int GLAD_VK_KHR_maintenance3 = 0; +int GLAD_VK_KHR_maintenance4 = 0; +int GLAD_VK_KHR_maintenance5 = 0; +int GLAD_VK_KHR_maintenance6 = 0; +int GLAD_VK_KHR_map_memory2 = 0; +int GLAD_VK_KHR_push_descriptor = 0; +int GLAD_VK_KHR_sampler_ycbcr_conversion = 0; +int GLAD_VK_KHR_synchronization2 = 0; +int GLAD_VK_KHR_timeline_semaphore = 0; + + +static void _pre_call_vulkan_callback_default(const char *name, GLADapiproc apiproc, int len_args, ...) { + GLAD_UNUSED(name); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); +} +static void _post_call_vulkan_callback_default(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...) { + GLAD_UNUSED(ret); + GLAD_UNUSED(name); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); +} + +static GLADprecallback _pre_call_vulkan_callback = _pre_call_vulkan_callback_default; +void gladSetVulkanPreCallback(GLADprecallback cb) { + _pre_call_vulkan_callback = cb; +} +static GLADpostcallback _post_call_vulkan_callback = _post_call_vulkan_callback_default; +void gladSetVulkanPostCallback(GLADpostcallback cb) { + _post_call_vulkan_callback = cb; +} + +PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkAcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex) { + VkResult ret; + _pre_call_vulkan_callback("vkAcquireNextImage2KHR", (GLADapiproc) glad_vkAcquireNextImage2KHR, 3, device, pAcquireInfo, pImageIndex); + ret = glad_vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex); + _post_call_vulkan_callback((void*) &ret, "vkAcquireNextImage2KHR", (GLADapiproc) glad_vkAcquireNextImage2KHR, 3, device, pAcquireInfo, pImageIndex); + return ret; +} +PFN_vkAcquireNextImage2KHR glad_debug_vkAcquireNextImage2KHR = glad_debug_impl_vkAcquireNextImage2KHR; +PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers) { + VkResult ret; + _pre_call_vulkan_callback("vkAllocateCommandBuffers", (GLADapiproc) glad_vkAllocateCommandBuffers, 3, device, pAllocateInfo, pCommandBuffers); + ret = glad_vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers); + _post_call_vulkan_callback((void*) &ret, "vkAllocateCommandBuffers", (GLADapiproc) glad_vkAllocateCommandBuffers, 3, device, pAllocateInfo, pCommandBuffers); + return ret; +} +PFN_vkAllocateCommandBuffers glad_debug_vkAllocateCommandBuffers = glad_debug_impl_vkAllocateCommandBuffers; +PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets) { + VkResult ret; + _pre_call_vulkan_callback("vkAllocateDescriptorSets", (GLADapiproc) glad_vkAllocateDescriptorSets, 3, device, pAllocateInfo, pDescriptorSets); + ret = glad_vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets); + _post_call_vulkan_callback((void*) &ret, "vkAllocateDescriptorSets", (GLADapiproc) glad_vkAllocateDescriptorSets, 3, device, pAllocateInfo, pDescriptorSets); + return ret; +} +PFN_vkAllocateDescriptorSets glad_debug_vkAllocateDescriptorSets = glad_debug_impl_vkAllocateDescriptorSets; +PFN_vkAllocateMemory glad_vkAllocateMemory = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory) { + VkResult ret; + _pre_call_vulkan_callback("vkAllocateMemory", (GLADapiproc) glad_vkAllocateMemory, 4, device, pAllocateInfo, pAllocator, pMemory); + ret = glad_vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory); + _post_call_vulkan_callback((void*) &ret, "vkAllocateMemory", (GLADapiproc) glad_vkAllocateMemory, 4, device, pAllocateInfo, pAllocator, pMemory); + return ret; +} +PFN_vkAllocateMemory glad_debug_vkAllocateMemory = glad_debug_impl_vkAllocateMemory; +PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkBeginCommandBuffer", (GLADapiproc) glad_vkBeginCommandBuffer, 2, commandBuffer, pBeginInfo); + ret = glad_vkBeginCommandBuffer(commandBuffer, pBeginInfo); + _post_call_vulkan_callback((void*) &ret, "vkBeginCommandBuffer", (GLADapiproc) glad_vkBeginCommandBuffer, 2, commandBuffer, pBeginInfo); + return ret; +} +PFN_vkBeginCommandBuffer glad_debug_vkBeginCommandBuffer = glad_debug_impl_vkBeginCommandBuffer; +PFN_vkBindBufferMemory glad_vkBindBufferMemory = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) { + VkResult ret; + _pre_call_vulkan_callback("vkBindBufferMemory", (GLADapiproc) glad_vkBindBufferMemory, 4, device, buffer, memory, memoryOffset); + ret = glad_vkBindBufferMemory(device, buffer, memory, memoryOffset); + _post_call_vulkan_callback((void*) &ret, "vkBindBufferMemory", (GLADapiproc) glad_vkBindBufferMemory, 4, device, buffer, memory, memoryOffset); + return ret; +} +PFN_vkBindBufferMemory glad_debug_vkBindBufferMemory = glad_debug_impl_vkBindBufferMemory; +PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos) { + VkResult ret; + _pre_call_vulkan_callback("vkBindBufferMemory2", (GLADapiproc) glad_vkBindBufferMemory2, 3, device, bindInfoCount, pBindInfos); + ret = glad_vkBindBufferMemory2(device, bindInfoCount, pBindInfos); + _post_call_vulkan_callback((void*) &ret, "vkBindBufferMemory2", (GLADapiproc) glad_vkBindBufferMemory2, 3, device, bindInfoCount, pBindInfos); + return ret; +} +PFN_vkBindBufferMemory2 glad_debug_vkBindBufferMemory2 = glad_debug_impl_vkBindBufferMemory2; +PFN_vkBindBufferMemory2KHR glad_vkBindBufferMemory2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos) { + VkResult ret; + _pre_call_vulkan_callback("vkBindBufferMemory2KHR", (GLADapiproc) glad_vkBindBufferMemory2KHR, 3, device, bindInfoCount, pBindInfos); + ret = glad_vkBindBufferMemory2KHR(device, bindInfoCount, pBindInfos); + _post_call_vulkan_callback((void*) &ret, "vkBindBufferMemory2KHR", (GLADapiproc) glad_vkBindBufferMemory2KHR, 3, device, bindInfoCount, pBindInfos); + return ret; +} +PFN_vkBindBufferMemory2KHR glad_debug_vkBindBufferMemory2KHR = glad_debug_impl_vkBindBufferMemory2KHR; +PFN_vkBindImageMemory glad_vkBindImageMemory = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) { + VkResult ret; + _pre_call_vulkan_callback("vkBindImageMemory", (GLADapiproc) glad_vkBindImageMemory, 4, device, image, memory, memoryOffset); + ret = glad_vkBindImageMemory(device, image, memory, memoryOffset); + _post_call_vulkan_callback((void*) &ret, "vkBindImageMemory", (GLADapiproc) glad_vkBindImageMemory, 4, device, image, memory, memoryOffset); + return ret; +} +PFN_vkBindImageMemory glad_debug_vkBindImageMemory = glad_debug_impl_vkBindImageMemory; +PFN_vkBindImageMemory2 glad_vkBindImageMemory2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos) { + VkResult ret; + _pre_call_vulkan_callback("vkBindImageMemory2", (GLADapiproc) glad_vkBindImageMemory2, 3, device, bindInfoCount, pBindInfos); + ret = glad_vkBindImageMemory2(device, bindInfoCount, pBindInfos); + _post_call_vulkan_callback((void*) &ret, "vkBindImageMemory2", (GLADapiproc) glad_vkBindImageMemory2, 3, device, bindInfoCount, pBindInfos); + return ret; +} +PFN_vkBindImageMemory2 glad_debug_vkBindImageMemory2 = glad_debug_impl_vkBindImageMemory2; +PFN_vkBindImageMemory2KHR glad_vkBindImageMemory2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos) { + VkResult ret; + _pre_call_vulkan_callback("vkBindImageMemory2KHR", (GLADapiproc) glad_vkBindImageMemory2KHR, 3, device, bindInfoCount, pBindInfos); + ret = glad_vkBindImageMemory2KHR(device, bindInfoCount, pBindInfos); + _post_call_vulkan_callback((void*) &ret, "vkBindImageMemory2KHR", (GLADapiproc) glad_vkBindImageMemory2KHR, 3, device, bindInfoCount, pBindInfos); + return ret; +} +PFN_vkBindImageMemory2KHR glad_debug_vkBindImageMemory2KHR = glad_debug_impl_vkBindImageMemory2KHR; +PFN_vkCmdBeginQuery glad_vkCmdBeginQuery = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) { + _pre_call_vulkan_callback("vkCmdBeginQuery", (GLADapiproc) glad_vkCmdBeginQuery, 4, commandBuffer, queryPool, query, flags); + glad_vkCmdBeginQuery(commandBuffer, queryPool, query, flags); + _post_call_vulkan_callback(NULL, "vkCmdBeginQuery", (GLADapiproc) glad_vkCmdBeginQuery, 4, commandBuffer, queryPool, query, flags); + +} +PFN_vkCmdBeginQuery glad_debug_vkCmdBeginQuery = glad_debug_impl_vkCmdBeginQuery; +PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents) { + _pre_call_vulkan_callback("vkCmdBeginRenderPass", (GLADapiproc) glad_vkCmdBeginRenderPass, 3, commandBuffer, pRenderPassBegin, contents); + glad_vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents); + _post_call_vulkan_callback(NULL, "vkCmdBeginRenderPass", (GLADapiproc) glad_vkCmdBeginRenderPass, 3, commandBuffer, pRenderPassBegin, contents); + +} +PFN_vkCmdBeginRenderPass glad_debug_vkCmdBeginRenderPass = glad_debug_impl_vkCmdBeginRenderPass; +PFN_vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo) { + _pre_call_vulkan_callback("vkCmdBeginRenderPass2", (GLADapiproc) glad_vkCmdBeginRenderPass2, 3, commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + glad_vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + _post_call_vulkan_callback(NULL, "vkCmdBeginRenderPass2", (GLADapiproc) glad_vkCmdBeginRenderPass2, 3, commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + +} +PFN_vkCmdBeginRenderPass2 glad_debug_vkCmdBeginRenderPass2 = glad_debug_impl_vkCmdBeginRenderPass2; +PFN_vkCmdBeginRenderPass2KHR glad_vkCmdBeginRenderPass2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo) { + _pre_call_vulkan_callback("vkCmdBeginRenderPass2KHR", (GLADapiproc) glad_vkCmdBeginRenderPass2KHR, 3, commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + glad_vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + _post_call_vulkan_callback(NULL, "vkCmdBeginRenderPass2KHR", (GLADapiproc) glad_vkCmdBeginRenderPass2KHR, 3, commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + +} +PFN_vkCmdBeginRenderPass2KHR glad_debug_vkCmdBeginRenderPass2KHR = glad_debug_impl_vkCmdBeginRenderPass2KHR; +PFN_vkCmdBeginRendering glad_vkCmdBeginRendering = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginRendering(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo) { + _pre_call_vulkan_callback("vkCmdBeginRendering", (GLADapiproc) glad_vkCmdBeginRendering, 2, commandBuffer, pRenderingInfo); + glad_vkCmdBeginRendering(commandBuffer, pRenderingInfo); + _post_call_vulkan_callback(NULL, "vkCmdBeginRendering", (GLADapiproc) glad_vkCmdBeginRendering, 2, commandBuffer, pRenderingInfo); + +} +PFN_vkCmdBeginRendering glad_debug_vkCmdBeginRendering = glad_debug_impl_vkCmdBeginRendering; +PFN_vkCmdBeginRenderingKHR glad_vkCmdBeginRenderingKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo) { + _pre_call_vulkan_callback("vkCmdBeginRenderingKHR", (GLADapiproc) glad_vkCmdBeginRenderingKHR, 2, commandBuffer, pRenderingInfo); + glad_vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo); + _post_call_vulkan_callback(NULL, "vkCmdBeginRenderingKHR", (GLADapiproc) glad_vkCmdBeginRenderingKHR, 2, commandBuffer, pRenderingInfo); + +} +PFN_vkCmdBeginRenderingKHR glad_debug_vkCmdBeginRenderingKHR = glad_debug_impl_vkCmdBeginRenderingKHR; +PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) { + _pre_call_vulkan_callback("vkCmdBindDescriptorBufferEmbeddedSamplers2EXT", (GLADapiproc) glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, 2, commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo); + glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo); + _post_call_vulkan_callback(NULL, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT", (GLADapiproc) glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, 2, commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo); + +} +PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT glad_debug_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = glad_debug_impl_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; +PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets) { + _pre_call_vulkan_callback("vkCmdBindDescriptorSets", (GLADapiproc) glad_vkCmdBindDescriptorSets, 8, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); + glad_vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); + _post_call_vulkan_callback(NULL, "vkCmdBindDescriptorSets", (GLADapiproc) glad_vkCmdBindDescriptorSets, 8, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); + +} +PFN_vkCmdBindDescriptorSets glad_debug_vkCmdBindDescriptorSets = glad_debug_impl_vkCmdBindDescriptorSets; +PFN_vkCmdBindDescriptorSets2 glad_vkCmdBindDescriptorSets2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindDescriptorSets2(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) { + _pre_call_vulkan_callback("vkCmdBindDescriptorSets2", (GLADapiproc) glad_vkCmdBindDescriptorSets2, 2, commandBuffer, pBindDescriptorSetsInfo); + glad_vkCmdBindDescriptorSets2(commandBuffer, pBindDescriptorSetsInfo); + _post_call_vulkan_callback(NULL, "vkCmdBindDescriptorSets2", (GLADapiproc) glad_vkCmdBindDescriptorSets2, 2, commandBuffer, pBindDescriptorSetsInfo); + +} +PFN_vkCmdBindDescriptorSets2 glad_debug_vkCmdBindDescriptorSets2 = glad_debug_impl_vkCmdBindDescriptorSets2; +PFN_vkCmdBindDescriptorSets2KHR glad_vkCmdBindDescriptorSets2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) { + _pre_call_vulkan_callback("vkCmdBindDescriptorSets2KHR", (GLADapiproc) glad_vkCmdBindDescriptorSets2KHR, 2, commandBuffer, pBindDescriptorSetsInfo); + glad_vkCmdBindDescriptorSets2KHR(commandBuffer, pBindDescriptorSetsInfo); + _post_call_vulkan_callback(NULL, "vkCmdBindDescriptorSets2KHR", (GLADapiproc) glad_vkCmdBindDescriptorSets2KHR, 2, commandBuffer, pBindDescriptorSetsInfo); + +} +PFN_vkCmdBindDescriptorSets2KHR glad_debug_vkCmdBindDescriptorSets2KHR = glad_debug_impl_vkCmdBindDescriptorSets2KHR; +PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) { + _pre_call_vulkan_callback("vkCmdBindIndexBuffer", (GLADapiproc) glad_vkCmdBindIndexBuffer, 4, commandBuffer, buffer, offset, indexType); + glad_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType); + _post_call_vulkan_callback(NULL, "vkCmdBindIndexBuffer", (GLADapiproc) glad_vkCmdBindIndexBuffer, 4, commandBuffer, buffer, offset, indexType); + +} +PFN_vkCmdBindIndexBuffer glad_debug_vkCmdBindIndexBuffer = glad_debug_impl_vkCmdBindIndexBuffer; +PFN_vkCmdBindIndexBuffer2 glad_vkCmdBindIndexBuffer2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindIndexBuffer2(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { + _pre_call_vulkan_callback("vkCmdBindIndexBuffer2", (GLADapiproc) glad_vkCmdBindIndexBuffer2, 5, commandBuffer, buffer, offset, size, indexType); + glad_vkCmdBindIndexBuffer2(commandBuffer, buffer, offset, size, indexType); + _post_call_vulkan_callback(NULL, "vkCmdBindIndexBuffer2", (GLADapiproc) glad_vkCmdBindIndexBuffer2, 5, commandBuffer, buffer, offset, size, indexType); + +} +PFN_vkCmdBindIndexBuffer2 glad_debug_vkCmdBindIndexBuffer2 = glad_debug_impl_vkCmdBindIndexBuffer2; +PFN_vkCmdBindIndexBuffer2KHR glad_vkCmdBindIndexBuffer2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) { + _pre_call_vulkan_callback("vkCmdBindIndexBuffer2KHR", (GLADapiproc) glad_vkCmdBindIndexBuffer2KHR, 5, commandBuffer, buffer, offset, size, indexType); + glad_vkCmdBindIndexBuffer2KHR(commandBuffer, buffer, offset, size, indexType); + _post_call_vulkan_callback(NULL, "vkCmdBindIndexBuffer2KHR", (GLADapiproc) glad_vkCmdBindIndexBuffer2KHR, 5, commandBuffer, buffer, offset, size, indexType); + +} +PFN_vkCmdBindIndexBuffer2KHR glad_debug_vkCmdBindIndexBuffer2KHR = glad_debug_impl_vkCmdBindIndexBuffer2KHR; +PFN_vkCmdBindPipeline glad_vkCmdBindPipeline = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) { + _pre_call_vulkan_callback("vkCmdBindPipeline", (GLADapiproc) glad_vkCmdBindPipeline, 3, commandBuffer, pipelineBindPoint, pipeline); + glad_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline); + _post_call_vulkan_callback(NULL, "vkCmdBindPipeline", (GLADapiproc) glad_vkCmdBindPipeline, 3, commandBuffer, pipelineBindPoint, pipeline); + +} +PFN_vkCmdBindPipeline glad_debug_vkCmdBindPipeline = glad_debug_impl_vkCmdBindPipeline; +PFN_vkCmdBindShadersEXT glad_vkCmdBindShadersEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindShadersEXT(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits * pStages, const VkShaderEXT * pShaders) { + _pre_call_vulkan_callback("vkCmdBindShadersEXT", (GLADapiproc) glad_vkCmdBindShadersEXT, 4, commandBuffer, stageCount, pStages, pShaders); + glad_vkCmdBindShadersEXT(commandBuffer, stageCount, pStages, pShaders); + _post_call_vulkan_callback(NULL, "vkCmdBindShadersEXT", (GLADapiproc) glad_vkCmdBindShadersEXT, 4, commandBuffer, stageCount, pStages, pShaders); + +} +PFN_vkCmdBindShadersEXT glad_debug_vkCmdBindShadersEXT = glad_debug_impl_vkCmdBindShadersEXT; +PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets) { + _pre_call_vulkan_callback("vkCmdBindVertexBuffers", (GLADapiproc) glad_vkCmdBindVertexBuffers, 5, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); + glad_vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); + _post_call_vulkan_callback(NULL, "vkCmdBindVertexBuffers", (GLADapiproc) glad_vkCmdBindVertexBuffers, 5, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); + +} +PFN_vkCmdBindVertexBuffers glad_debug_vkCmdBindVertexBuffers = glad_debug_impl_vkCmdBindVertexBuffers; +PFN_vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindVertexBuffers2(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides) { + _pre_call_vulkan_callback("vkCmdBindVertexBuffers2", (GLADapiproc) glad_vkCmdBindVertexBuffers2, 7, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + glad_vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + _post_call_vulkan_callback(NULL, "vkCmdBindVertexBuffers2", (GLADapiproc) glad_vkCmdBindVertexBuffers2, 7, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + +} +PFN_vkCmdBindVertexBuffers2 glad_debug_vkCmdBindVertexBuffers2 = glad_debug_impl_vkCmdBindVertexBuffers2; +PFN_vkCmdBindVertexBuffers2EXT glad_vkCmdBindVertexBuffers2EXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides) { + _pre_call_vulkan_callback("vkCmdBindVertexBuffers2EXT", (GLADapiproc) glad_vkCmdBindVertexBuffers2EXT, 7, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + glad_vkCmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + _post_call_vulkan_callback(NULL, "vkCmdBindVertexBuffers2EXT", (GLADapiproc) glad_vkCmdBindVertexBuffers2EXT, 7, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); + +} +PFN_vkCmdBindVertexBuffers2EXT glad_debug_vkCmdBindVertexBuffers2EXT = glad_debug_impl_vkCmdBindVertexBuffers2EXT; +PFN_vkCmdBlitImage glad_vkCmdBlitImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter) { + _pre_call_vulkan_callback("vkCmdBlitImage", (GLADapiproc) glad_vkCmdBlitImage, 8, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); + glad_vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); + _post_call_vulkan_callback(NULL, "vkCmdBlitImage", (GLADapiproc) glad_vkCmdBlitImage, 8, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); + +} +PFN_vkCmdBlitImage glad_debug_vkCmdBlitImage = glad_debug_impl_vkCmdBlitImage; +PFN_vkCmdBlitImage2 glad_vkCmdBlitImage2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBlitImage2(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo) { + _pre_call_vulkan_callback("vkCmdBlitImage2", (GLADapiproc) glad_vkCmdBlitImage2, 2, commandBuffer, pBlitImageInfo); + glad_vkCmdBlitImage2(commandBuffer, pBlitImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdBlitImage2", (GLADapiproc) glad_vkCmdBlitImage2, 2, commandBuffer, pBlitImageInfo); + +} +PFN_vkCmdBlitImage2 glad_debug_vkCmdBlitImage2 = glad_debug_impl_vkCmdBlitImage2; +PFN_vkCmdBlitImage2KHR glad_vkCmdBlitImage2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo) { + _pre_call_vulkan_callback("vkCmdBlitImage2KHR", (GLADapiproc) glad_vkCmdBlitImage2KHR, 2, commandBuffer, pBlitImageInfo); + glad_vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdBlitImage2KHR", (GLADapiproc) glad_vkCmdBlitImage2KHR, 2, commandBuffer, pBlitImageInfo); + +} +PFN_vkCmdBlitImage2KHR glad_debug_vkCmdBlitImage2KHR = glad_debug_impl_vkCmdBlitImage2KHR; +PFN_vkCmdClearAttachments glad_vkCmdClearAttachments = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects) { + _pre_call_vulkan_callback("vkCmdClearAttachments", (GLADapiproc) glad_vkCmdClearAttachments, 5, commandBuffer, attachmentCount, pAttachments, rectCount, pRects); + glad_vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects); + _post_call_vulkan_callback(NULL, "vkCmdClearAttachments", (GLADapiproc) glad_vkCmdClearAttachments, 5, commandBuffer, attachmentCount, pAttachments, rectCount, pRects); + +} +PFN_vkCmdClearAttachments glad_debug_vkCmdClearAttachments = glad_debug_impl_vkCmdClearAttachments; +PFN_vkCmdClearColorImage glad_vkCmdClearColorImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges) { + _pre_call_vulkan_callback("vkCmdClearColorImage", (GLADapiproc) glad_vkCmdClearColorImage, 6, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); + glad_vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); + _post_call_vulkan_callback(NULL, "vkCmdClearColorImage", (GLADapiproc) glad_vkCmdClearColorImage, 6, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); + +} +PFN_vkCmdClearColorImage glad_debug_vkCmdClearColorImage = glad_debug_impl_vkCmdClearColorImage; +PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges) { + _pre_call_vulkan_callback("vkCmdClearDepthStencilImage", (GLADapiproc) glad_vkCmdClearDepthStencilImage, 6, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); + glad_vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); + _post_call_vulkan_callback(NULL, "vkCmdClearDepthStencilImage", (GLADapiproc) glad_vkCmdClearDepthStencilImage, 6, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); + +} +PFN_vkCmdClearDepthStencilImage glad_debug_vkCmdClearDepthStencilImage = glad_debug_impl_vkCmdClearDepthStencilImage; +PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions) { + _pre_call_vulkan_callback("vkCmdCopyBuffer", (GLADapiproc) glad_vkCmdCopyBuffer, 5, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); + glad_vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); + _post_call_vulkan_callback(NULL, "vkCmdCopyBuffer", (GLADapiproc) glad_vkCmdCopyBuffer, 5, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); + +} +PFN_vkCmdCopyBuffer glad_debug_vkCmdCopyBuffer = glad_debug_impl_vkCmdCopyBuffer; +PFN_vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBuffer2(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo) { + _pre_call_vulkan_callback("vkCmdCopyBuffer2", (GLADapiproc) glad_vkCmdCopyBuffer2, 2, commandBuffer, pCopyBufferInfo); + glad_vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyBuffer2", (GLADapiproc) glad_vkCmdCopyBuffer2, 2, commandBuffer, pCopyBufferInfo); + +} +PFN_vkCmdCopyBuffer2 glad_debug_vkCmdCopyBuffer2 = glad_debug_impl_vkCmdCopyBuffer2; +PFN_vkCmdCopyBuffer2KHR glad_vkCmdCopyBuffer2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo) { + _pre_call_vulkan_callback("vkCmdCopyBuffer2KHR", (GLADapiproc) glad_vkCmdCopyBuffer2KHR, 2, commandBuffer, pCopyBufferInfo); + glad_vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyBuffer2KHR", (GLADapiproc) glad_vkCmdCopyBuffer2KHR, 2, commandBuffer, pCopyBufferInfo); + +} +PFN_vkCmdCopyBuffer2KHR glad_debug_vkCmdCopyBuffer2KHR = glad_debug_impl_vkCmdCopyBuffer2KHR; +PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions) { + _pre_call_vulkan_callback("vkCmdCopyBufferToImage", (GLADapiproc) glad_vkCmdCopyBufferToImage, 6, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + glad_vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + _post_call_vulkan_callback(NULL, "vkCmdCopyBufferToImage", (GLADapiproc) glad_vkCmdCopyBufferToImage, 6, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + +} +PFN_vkCmdCopyBufferToImage glad_debug_vkCmdCopyBufferToImage = glad_debug_impl_vkCmdCopyBufferToImage; +PFN_vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) { + _pre_call_vulkan_callback("vkCmdCopyBufferToImage2", (GLADapiproc) glad_vkCmdCopyBufferToImage2, 2, commandBuffer, pCopyBufferToImageInfo); + glad_vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyBufferToImage2", (GLADapiproc) glad_vkCmdCopyBufferToImage2, 2, commandBuffer, pCopyBufferToImageInfo); + +} +PFN_vkCmdCopyBufferToImage2 glad_debug_vkCmdCopyBufferToImage2 = glad_debug_impl_vkCmdCopyBufferToImage2; +PFN_vkCmdCopyBufferToImage2KHR glad_vkCmdCopyBufferToImage2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) { + _pre_call_vulkan_callback("vkCmdCopyBufferToImage2KHR", (GLADapiproc) glad_vkCmdCopyBufferToImage2KHR, 2, commandBuffer, pCopyBufferToImageInfo); + glad_vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyBufferToImage2KHR", (GLADapiproc) glad_vkCmdCopyBufferToImage2KHR, 2, commandBuffer, pCopyBufferToImageInfo); + +} +PFN_vkCmdCopyBufferToImage2KHR glad_debug_vkCmdCopyBufferToImage2KHR = glad_debug_impl_vkCmdCopyBufferToImage2KHR; +PFN_vkCmdCopyImage glad_vkCmdCopyImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions) { + _pre_call_vulkan_callback("vkCmdCopyImage", (GLADapiproc) glad_vkCmdCopyImage, 7, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + glad_vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + _post_call_vulkan_callback(NULL, "vkCmdCopyImage", (GLADapiproc) glad_vkCmdCopyImage, 7, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + +} +PFN_vkCmdCopyImage glad_debug_vkCmdCopyImage = glad_debug_impl_vkCmdCopyImage; +PFN_vkCmdCopyImage2 glad_vkCmdCopyImage2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo) { + _pre_call_vulkan_callback("vkCmdCopyImage2", (GLADapiproc) glad_vkCmdCopyImage2, 2, commandBuffer, pCopyImageInfo); + glad_vkCmdCopyImage2(commandBuffer, pCopyImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyImage2", (GLADapiproc) glad_vkCmdCopyImage2, 2, commandBuffer, pCopyImageInfo); + +} +PFN_vkCmdCopyImage2 glad_debug_vkCmdCopyImage2 = glad_debug_impl_vkCmdCopyImage2; +PFN_vkCmdCopyImage2KHR glad_vkCmdCopyImage2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo) { + _pre_call_vulkan_callback("vkCmdCopyImage2KHR", (GLADapiproc) glad_vkCmdCopyImage2KHR, 2, commandBuffer, pCopyImageInfo); + glad_vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyImage2KHR", (GLADapiproc) glad_vkCmdCopyImage2KHR, 2, commandBuffer, pCopyImageInfo); + +} +PFN_vkCmdCopyImage2KHR glad_debug_vkCmdCopyImage2KHR = glad_debug_impl_vkCmdCopyImage2KHR; +PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions) { + _pre_call_vulkan_callback("vkCmdCopyImageToBuffer", (GLADapiproc) glad_vkCmdCopyImageToBuffer, 6, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + glad_vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + _post_call_vulkan_callback(NULL, "vkCmdCopyImageToBuffer", (GLADapiproc) glad_vkCmdCopyImageToBuffer, 6, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + +} +PFN_vkCmdCopyImageToBuffer glad_debug_vkCmdCopyImageToBuffer = glad_debug_impl_vkCmdCopyImageToBuffer; +PFN_vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImageToBuffer2(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) { + _pre_call_vulkan_callback("vkCmdCopyImageToBuffer2", (GLADapiproc) glad_vkCmdCopyImageToBuffer2, 2, commandBuffer, pCopyImageToBufferInfo); + glad_vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyImageToBuffer2", (GLADapiproc) glad_vkCmdCopyImageToBuffer2, 2, commandBuffer, pCopyImageToBufferInfo); + +} +PFN_vkCmdCopyImageToBuffer2 glad_debug_vkCmdCopyImageToBuffer2 = glad_debug_impl_vkCmdCopyImageToBuffer2; +PFN_vkCmdCopyImageToBuffer2KHR glad_vkCmdCopyImageToBuffer2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) { + _pre_call_vulkan_callback("vkCmdCopyImageToBuffer2KHR", (GLADapiproc) glad_vkCmdCopyImageToBuffer2KHR, 2, commandBuffer, pCopyImageToBufferInfo); + glad_vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo); + _post_call_vulkan_callback(NULL, "vkCmdCopyImageToBuffer2KHR", (GLADapiproc) glad_vkCmdCopyImageToBuffer2KHR, 2, commandBuffer, pCopyImageToBufferInfo); + +} +PFN_vkCmdCopyImageToBuffer2KHR glad_debug_vkCmdCopyImageToBuffer2KHR = glad_debug_impl_vkCmdCopyImageToBuffer2KHR; +PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) { + _pre_call_vulkan_callback("vkCmdCopyQueryPoolResults", (GLADapiproc) glad_vkCmdCopyQueryPoolResults, 8, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); + glad_vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); + _post_call_vulkan_callback(NULL, "vkCmdCopyQueryPoolResults", (GLADapiproc) glad_vkCmdCopyQueryPoolResults, 8, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); + +} +PFN_vkCmdCopyQueryPoolResults glad_debug_vkCmdCopyQueryPoolResults = glad_debug_impl_vkCmdCopyQueryPoolResults; +PFN_vkCmdDispatch glad_vkCmdDispatch = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) { + _pre_call_vulkan_callback("vkCmdDispatch", (GLADapiproc) glad_vkCmdDispatch, 4, commandBuffer, groupCountX, groupCountY, groupCountZ); + glad_vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ); + _post_call_vulkan_callback(NULL, "vkCmdDispatch", (GLADapiproc) glad_vkCmdDispatch, 4, commandBuffer, groupCountX, groupCountY, groupCountZ); + +} +PFN_vkCmdDispatch glad_debug_vkCmdDispatch = glad_debug_impl_vkCmdDispatch; +PFN_vkCmdDispatchBase glad_vkCmdDispatchBase = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) { + _pre_call_vulkan_callback("vkCmdDispatchBase", (GLADapiproc) glad_vkCmdDispatchBase, 7, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + glad_vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + _post_call_vulkan_callback(NULL, "vkCmdDispatchBase", (GLADapiproc) glad_vkCmdDispatchBase, 7, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + +} +PFN_vkCmdDispatchBase glad_debug_vkCmdDispatchBase = glad_debug_impl_vkCmdDispatchBase; +PFN_vkCmdDispatchBaseKHR glad_vkCmdDispatchBaseKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) { + _pre_call_vulkan_callback("vkCmdDispatchBaseKHR", (GLADapiproc) glad_vkCmdDispatchBaseKHR, 7, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + glad_vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + _post_call_vulkan_callback(NULL, "vkCmdDispatchBaseKHR", (GLADapiproc) glad_vkCmdDispatchBaseKHR, 7, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + +} +PFN_vkCmdDispatchBaseKHR glad_debug_vkCmdDispatchBaseKHR = glad_debug_impl_vkCmdDispatchBaseKHR; +PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) { + _pre_call_vulkan_callback("vkCmdDispatchIndirect", (GLADapiproc) glad_vkCmdDispatchIndirect, 3, commandBuffer, buffer, offset); + glad_vkCmdDispatchIndirect(commandBuffer, buffer, offset); + _post_call_vulkan_callback(NULL, "vkCmdDispatchIndirect", (GLADapiproc) glad_vkCmdDispatchIndirect, 3, commandBuffer, buffer, offset); + +} +PFN_vkCmdDispatchIndirect glad_debug_vkCmdDispatchIndirect = glad_debug_impl_vkCmdDispatchIndirect; +PFN_vkCmdDraw glad_vkCmdDraw = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) { + _pre_call_vulkan_callback("vkCmdDraw", (GLADapiproc) glad_vkCmdDraw, 5, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); + glad_vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); + _post_call_vulkan_callback(NULL, "vkCmdDraw", (GLADapiproc) glad_vkCmdDraw, 5, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); + +} +PFN_vkCmdDraw glad_debug_vkCmdDraw = glad_debug_impl_vkCmdDraw; +PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) { + _pre_call_vulkan_callback("vkCmdDrawIndexed", (GLADapiproc) glad_vkCmdDrawIndexed, 6, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); + glad_vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndexed", (GLADapiproc) glad_vkCmdDrawIndexed, 6, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); + +} +PFN_vkCmdDrawIndexed glad_debug_vkCmdDrawIndexed = glad_debug_impl_vkCmdDrawIndexed; +PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndexedIndirect", (GLADapiproc) glad_vkCmdDrawIndexedIndirect, 5, commandBuffer, buffer, offset, drawCount, stride); + glad_vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndexedIndirect", (GLADapiproc) glad_vkCmdDrawIndexedIndirect, 5, commandBuffer, buffer, offset, drawCount, stride); + +} +PFN_vkCmdDrawIndexedIndirect glad_debug_vkCmdDrawIndexedIndirect = glad_debug_impl_vkCmdDrawIndexedIndirect; +PFN_vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndexedIndirectCount", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCount, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndexedIndirectCount", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCount, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndexedIndirectCount glad_debug_vkCmdDrawIndexedIndirectCount = glad_debug_impl_vkCmdDrawIndexedIndirectCount; +PFN_vkCmdDrawIndexedIndirectCountAMD glad_vkCmdDrawIndexedIndirectCountAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndexedIndirectCountAMD", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCountAMD, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndexedIndirectCountAMD", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCountAMD, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndexedIndirectCountAMD glad_debug_vkCmdDrawIndexedIndirectCountAMD = glad_debug_impl_vkCmdDrawIndexedIndirectCountAMD; +PFN_vkCmdDrawIndexedIndirectCountKHR glad_vkCmdDrawIndexedIndirectCountKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndexedIndirectCountKHR", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCountKHR, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndexedIndirectCountKHR", (GLADapiproc) glad_vkCmdDrawIndexedIndirectCountKHR, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndexedIndirectCountKHR glad_debug_vkCmdDrawIndexedIndirectCountKHR = glad_debug_impl_vkCmdDrawIndexedIndirectCountKHR; +PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndirect", (GLADapiproc) glad_vkCmdDrawIndirect, 5, commandBuffer, buffer, offset, drawCount, stride); + glad_vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndirect", (GLADapiproc) glad_vkCmdDrawIndirect, 5, commandBuffer, buffer, offset, drawCount, stride); + +} +PFN_vkCmdDrawIndirect glad_debug_vkCmdDrawIndirect = glad_debug_impl_vkCmdDrawIndirect; +PFN_vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndirectCount", (GLADapiproc) glad_vkCmdDrawIndirectCount, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndirectCount", (GLADapiproc) glad_vkCmdDrawIndirectCount, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndirectCount glad_debug_vkCmdDrawIndirectCount = glad_debug_impl_vkCmdDrawIndirectCount; +PFN_vkCmdDrawIndirectCountAMD glad_vkCmdDrawIndirectCountAMD = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndirectCountAMD", (GLADapiproc) glad_vkCmdDrawIndirectCountAMD, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndirectCountAMD", (GLADapiproc) glad_vkCmdDrawIndirectCountAMD, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndirectCountAMD glad_debug_vkCmdDrawIndirectCountAMD = glad_debug_impl_vkCmdDrawIndirectCountAMD; +PFN_vkCmdDrawIndirectCountKHR glad_vkCmdDrawIndirectCountKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) { + _pre_call_vulkan_callback("vkCmdDrawIndirectCountKHR", (GLADapiproc) glad_vkCmdDrawIndirectCountKHR, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + glad_vkCmdDrawIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + _post_call_vulkan_callback(NULL, "vkCmdDrawIndirectCountKHR", (GLADapiproc) glad_vkCmdDrawIndirectCountKHR, 7, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + +} +PFN_vkCmdDrawIndirectCountKHR glad_debug_vkCmdDrawIndirectCountKHR = glad_debug_impl_vkCmdDrawIndirectCountKHR; +PFN_vkCmdEndQuery glad_vkCmdEndQuery = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) { + _pre_call_vulkan_callback("vkCmdEndQuery", (GLADapiproc) glad_vkCmdEndQuery, 3, commandBuffer, queryPool, query); + glad_vkCmdEndQuery(commandBuffer, queryPool, query); + _post_call_vulkan_callback(NULL, "vkCmdEndQuery", (GLADapiproc) glad_vkCmdEndQuery, 3, commandBuffer, queryPool, query); + +} +PFN_vkCmdEndQuery glad_debug_vkCmdEndQuery = glad_debug_impl_vkCmdEndQuery; +PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndRenderPass(VkCommandBuffer commandBuffer) { + _pre_call_vulkan_callback("vkCmdEndRenderPass", (GLADapiproc) glad_vkCmdEndRenderPass, 1, commandBuffer); + glad_vkCmdEndRenderPass(commandBuffer); + _post_call_vulkan_callback(NULL, "vkCmdEndRenderPass", (GLADapiproc) glad_vkCmdEndRenderPass, 1, commandBuffer); + +} +PFN_vkCmdEndRenderPass glad_debug_vkCmdEndRenderPass = glad_debug_impl_vkCmdEndRenderPass; +PFN_vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo) { + _pre_call_vulkan_callback("vkCmdEndRenderPass2", (GLADapiproc) glad_vkCmdEndRenderPass2, 2, commandBuffer, pSubpassEndInfo); + glad_vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo); + _post_call_vulkan_callback(NULL, "vkCmdEndRenderPass2", (GLADapiproc) glad_vkCmdEndRenderPass2, 2, commandBuffer, pSubpassEndInfo); + +} +PFN_vkCmdEndRenderPass2 glad_debug_vkCmdEndRenderPass2 = glad_debug_impl_vkCmdEndRenderPass2; +PFN_vkCmdEndRenderPass2KHR glad_vkCmdEndRenderPass2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo) { + _pre_call_vulkan_callback("vkCmdEndRenderPass2KHR", (GLADapiproc) glad_vkCmdEndRenderPass2KHR, 2, commandBuffer, pSubpassEndInfo); + glad_vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo); + _post_call_vulkan_callback(NULL, "vkCmdEndRenderPass2KHR", (GLADapiproc) glad_vkCmdEndRenderPass2KHR, 2, commandBuffer, pSubpassEndInfo); + +} +PFN_vkCmdEndRenderPass2KHR glad_debug_vkCmdEndRenderPass2KHR = glad_debug_impl_vkCmdEndRenderPass2KHR; +PFN_vkCmdEndRendering glad_vkCmdEndRendering = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndRendering(VkCommandBuffer commandBuffer) { + _pre_call_vulkan_callback("vkCmdEndRendering", (GLADapiproc) glad_vkCmdEndRendering, 1, commandBuffer); + glad_vkCmdEndRendering(commandBuffer); + _post_call_vulkan_callback(NULL, "vkCmdEndRendering", (GLADapiproc) glad_vkCmdEndRendering, 1, commandBuffer); + +} +PFN_vkCmdEndRendering glad_debug_vkCmdEndRendering = glad_debug_impl_vkCmdEndRendering; +PFN_vkCmdEndRenderingKHR glad_vkCmdEndRenderingKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) { + _pre_call_vulkan_callback("vkCmdEndRenderingKHR", (GLADapiproc) glad_vkCmdEndRenderingKHR, 1, commandBuffer); + glad_vkCmdEndRenderingKHR(commandBuffer); + _post_call_vulkan_callback(NULL, "vkCmdEndRenderingKHR", (GLADapiproc) glad_vkCmdEndRenderingKHR, 1, commandBuffer); + +} +PFN_vkCmdEndRenderingKHR glad_debug_vkCmdEndRenderingKHR = glad_debug_impl_vkCmdEndRenderingKHR; +PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers) { + _pre_call_vulkan_callback("vkCmdExecuteCommands", (GLADapiproc) glad_vkCmdExecuteCommands, 3, commandBuffer, commandBufferCount, pCommandBuffers); + glad_vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers); + _post_call_vulkan_callback(NULL, "vkCmdExecuteCommands", (GLADapiproc) glad_vkCmdExecuteCommands, 3, commandBuffer, commandBufferCount, pCommandBuffers); + +} +PFN_vkCmdExecuteCommands glad_debug_vkCmdExecuteCommands = glad_debug_impl_vkCmdExecuteCommands; +PFN_vkCmdFillBuffer glad_vkCmdFillBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) { + _pre_call_vulkan_callback("vkCmdFillBuffer", (GLADapiproc) glad_vkCmdFillBuffer, 5, commandBuffer, dstBuffer, dstOffset, size, data); + glad_vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data); + _post_call_vulkan_callback(NULL, "vkCmdFillBuffer", (GLADapiproc) glad_vkCmdFillBuffer, 5, commandBuffer, dstBuffer, dstOffset, size, data); + +} +PFN_vkCmdFillBuffer glad_debug_vkCmdFillBuffer = glad_debug_impl_vkCmdFillBuffer; +PFN_vkCmdNextSubpass glad_vkCmdNextSubpass = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) { + _pre_call_vulkan_callback("vkCmdNextSubpass", (GLADapiproc) glad_vkCmdNextSubpass, 2, commandBuffer, contents); + glad_vkCmdNextSubpass(commandBuffer, contents); + _post_call_vulkan_callback(NULL, "vkCmdNextSubpass", (GLADapiproc) glad_vkCmdNextSubpass, 2, commandBuffer, contents); + +} +PFN_vkCmdNextSubpass glad_debug_vkCmdNextSubpass = glad_debug_impl_vkCmdNextSubpass; +PFN_vkCmdNextSubpass2 glad_vkCmdNextSubpass2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo) { + _pre_call_vulkan_callback("vkCmdNextSubpass2", (GLADapiproc) glad_vkCmdNextSubpass2, 3, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + glad_vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + _post_call_vulkan_callback(NULL, "vkCmdNextSubpass2", (GLADapiproc) glad_vkCmdNextSubpass2, 3, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + +} +PFN_vkCmdNextSubpass2 glad_debug_vkCmdNextSubpass2 = glad_debug_impl_vkCmdNextSubpass2; +PFN_vkCmdNextSubpass2KHR glad_vkCmdNextSubpass2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo) { + _pre_call_vulkan_callback("vkCmdNextSubpass2KHR", (GLADapiproc) glad_vkCmdNextSubpass2KHR, 3, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + glad_vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + _post_call_vulkan_callback(NULL, "vkCmdNextSubpass2KHR", (GLADapiproc) glad_vkCmdNextSubpass2KHR, 3, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + +} +PFN_vkCmdNextSubpass2KHR glad_debug_vkCmdNextSubpass2KHR = glad_debug_impl_vkCmdNextSubpass2KHR; +PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers) { + _pre_call_vulkan_callback("vkCmdPipelineBarrier", (GLADapiproc) glad_vkCmdPipelineBarrier, 10, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + glad_vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + _post_call_vulkan_callback(NULL, "vkCmdPipelineBarrier", (GLADapiproc) glad_vkCmdPipelineBarrier, 10, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + +} +PFN_vkCmdPipelineBarrier glad_debug_vkCmdPipelineBarrier = glad_debug_impl_vkCmdPipelineBarrier; +PFN_vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPipelineBarrier2(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo) { + _pre_call_vulkan_callback("vkCmdPipelineBarrier2", (GLADapiproc) glad_vkCmdPipelineBarrier2, 2, commandBuffer, pDependencyInfo); + glad_vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo); + _post_call_vulkan_callback(NULL, "vkCmdPipelineBarrier2", (GLADapiproc) glad_vkCmdPipelineBarrier2, 2, commandBuffer, pDependencyInfo); + +} +PFN_vkCmdPipelineBarrier2 glad_debug_vkCmdPipelineBarrier2 = glad_debug_impl_vkCmdPipelineBarrier2; +PFN_vkCmdPipelineBarrier2KHR glad_vkCmdPipelineBarrier2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo) { + _pre_call_vulkan_callback("vkCmdPipelineBarrier2KHR", (GLADapiproc) glad_vkCmdPipelineBarrier2KHR, 2, commandBuffer, pDependencyInfo); + glad_vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo); + _post_call_vulkan_callback(NULL, "vkCmdPipelineBarrier2KHR", (GLADapiproc) glad_vkCmdPipelineBarrier2KHR, 2, commandBuffer, pDependencyInfo); + +} +PFN_vkCmdPipelineBarrier2KHR glad_debug_vkCmdPipelineBarrier2KHR = glad_debug_impl_vkCmdPipelineBarrier2KHR; +PFN_vkCmdPushConstants glad_vkCmdPushConstants = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues) { + _pre_call_vulkan_callback("vkCmdPushConstants", (GLADapiproc) glad_vkCmdPushConstants, 6, commandBuffer, layout, stageFlags, offset, size, pValues); + glad_vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues); + _post_call_vulkan_callback(NULL, "vkCmdPushConstants", (GLADapiproc) glad_vkCmdPushConstants, 6, commandBuffer, layout, stageFlags, offset, size, pValues); + +} +PFN_vkCmdPushConstants glad_debug_vkCmdPushConstants = glad_debug_impl_vkCmdPushConstants; +PFN_vkCmdPushConstants2 glad_vkCmdPushConstants2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushConstants2(VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo) { + _pre_call_vulkan_callback("vkCmdPushConstants2", (GLADapiproc) glad_vkCmdPushConstants2, 2, commandBuffer, pPushConstantsInfo); + glad_vkCmdPushConstants2(commandBuffer, pPushConstantsInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushConstants2", (GLADapiproc) glad_vkCmdPushConstants2, 2, commandBuffer, pPushConstantsInfo); + +} +PFN_vkCmdPushConstants2 glad_debug_vkCmdPushConstants2 = glad_debug_impl_vkCmdPushConstants2; +PFN_vkCmdPushConstants2KHR glad_vkCmdPushConstants2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo) { + _pre_call_vulkan_callback("vkCmdPushConstants2KHR", (GLADapiproc) glad_vkCmdPushConstants2KHR, 2, commandBuffer, pPushConstantsInfo); + glad_vkCmdPushConstants2KHR(commandBuffer, pPushConstantsInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushConstants2KHR", (GLADapiproc) glad_vkCmdPushConstants2KHR, 2, commandBuffer, pPushConstantsInfo); + +} +PFN_vkCmdPushConstants2KHR glad_debug_vkCmdPushConstants2KHR = glad_debug_impl_vkCmdPushConstants2KHR; +PFN_vkCmdPushDescriptorSet glad_vkCmdPushDescriptorSet = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSet(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSet", (GLADapiproc) glad_vkCmdPushDescriptorSet, 6, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + glad_vkCmdPushDescriptorSet(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSet", (GLADapiproc) glad_vkCmdPushDescriptorSet, 6, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + +} +PFN_vkCmdPushDescriptorSet glad_debug_vkCmdPushDescriptorSet = glad_debug_impl_vkCmdPushDescriptorSet; +PFN_vkCmdPushDescriptorSet2 glad_vkCmdPushDescriptorSet2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSet2(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSet2", (GLADapiproc) glad_vkCmdPushDescriptorSet2, 2, commandBuffer, pPushDescriptorSetInfo); + glad_vkCmdPushDescriptorSet2(commandBuffer, pPushDescriptorSetInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSet2", (GLADapiproc) glad_vkCmdPushDescriptorSet2, 2, commandBuffer, pPushDescriptorSetInfo); + +} +PFN_vkCmdPushDescriptorSet2 glad_debug_vkCmdPushDescriptorSet2 = glad_debug_impl_vkCmdPushDescriptorSet2; +PFN_vkCmdPushDescriptorSet2KHR glad_vkCmdPushDescriptorSet2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSet2KHR", (GLADapiproc) glad_vkCmdPushDescriptorSet2KHR, 2, commandBuffer, pPushDescriptorSetInfo); + glad_vkCmdPushDescriptorSet2KHR(commandBuffer, pPushDescriptorSetInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSet2KHR", (GLADapiproc) glad_vkCmdPushDescriptorSet2KHR, 2, commandBuffer, pPushDescriptorSetInfo); + +} +PFN_vkCmdPushDescriptorSet2KHR glad_debug_vkCmdPushDescriptorSet2KHR = glad_debug_impl_vkCmdPushDescriptorSet2KHR; +PFN_vkCmdPushDescriptorSetKHR glad_vkCmdPushDescriptorSetKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSetKHR", (GLADapiproc) glad_vkCmdPushDescriptorSetKHR, 6, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + glad_vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSetKHR", (GLADapiproc) glad_vkCmdPushDescriptorSetKHR, 6, commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + +} +PFN_vkCmdPushDescriptorSetKHR glad_debug_vkCmdPushDescriptorSetKHR = glad_debug_impl_vkCmdPushDescriptorSetKHR; +PFN_vkCmdPushDescriptorSetWithTemplate glad_vkCmdPushDescriptorSetWithTemplate = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSetWithTemplate(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void * pData) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSetWithTemplate", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate, 5, commandBuffer, descriptorUpdateTemplate, layout, set, pData); + glad_vkCmdPushDescriptorSetWithTemplate(commandBuffer, descriptorUpdateTemplate, layout, set, pData); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSetWithTemplate", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate, 5, commandBuffer, descriptorUpdateTemplate, layout, set, pData); + +} +PFN_vkCmdPushDescriptorSetWithTemplate glad_debug_vkCmdPushDescriptorSetWithTemplate = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate; +PFN_vkCmdPushDescriptorSetWithTemplate2 glad_vkCmdPushDescriptorSetWithTemplate2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSetWithTemplate2", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate2, 2, commandBuffer, pPushDescriptorSetWithTemplateInfo); + glad_vkCmdPushDescriptorSetWithTemplate2(commandBuffer, pPushDescriptorSetWithTemplateInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSetWithTemplate2", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate2, 2, commandBuffer, pPushDescriptorSetWithTemplateInfo); + +} +PFN_vkCmdPushDescriptorSetWithTemplate2 glad_debug_vkCmdPushDescriptorSetWithTemplate2 = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2; +PFN_vkCmdPushDescriptorSetWithTemplate2KHR glad_vkCmdPushDescriptorSetWithTemplate2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSetWithTemplate2KHR", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate2KHR, 2, commandBuffer, pPushDescriptorSetWithTemplateInfo); + glad_vkCmdPushDescriptorSetWithTemplate2KHR(commandBuffer, pPushDescriptorSetWithTemplateInfo); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSetWithTemplate2KHR", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplate2KHR, 2, commandBuffer, pPushDescriptorSetWithTemplateInfo); + +} +PFN_vkCmdPushDescriptorSetWithTemplate2KHR glad_debug_vkCmdPushDescriptorSetWithTemplate2KHR = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2KHR; +PFN_vkCmdPushDescriptorSetWithTemplateKHR glad_vkCmdPushDescriptorSetWithTemplateKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void * pData) { + _pre_call_vulkan_callback("vkCmdPushDescriptorSetWithTemplateKHR", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplateKHR, 5, commandBuffer, descriptorUpdateTemplate, layout, set, pData); + glad_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData); + _post_call_vulkan_callback(NULL, "vkCmdPushDescriptorSetWithTemplateKHR", (GLADapiproc) glad_vkCmdPushDescriptorSetWithTemplateKHR, 5, commandBuffer, descriptorUpdateTemplate, layout, set, pData); + +} +PFN_vkCmdPushDescriptorSetWithTemplateKHR glad_debug_vkCmdPushDescriptorSetWithTemplateKHR = glad_debug_impl_vkCmdPushDescriptorSetWithTemplateKHR; +PFN_vkCmdResetEvent glad_vkCmdResetEvent = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) { + _pre_call_vulkan_callback("vkCmdResetEvent", (GLADapiproc) glad_vkCmdResetEvent, 3, commandBuffer, event, stageMask); + glad_vkCmdResetEvent(commandBuffer, event, stageMask); + _post_call_vulkan_callback(NULL, "vkCmdResetEvent", (GLADapiproc) glad_vkCmdResetEvent, 3, commandBuffer, event, stageMask); + +} +PFN_vkCmdResetEvent glad_debug_vkCmdResetEvent = glad_debug_impl_vkCmdResetEvent; +PFN_vkCmdResetEvent2 glad_vkCmdResetEvent2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResetEvent2(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) { + _pre_call_vulkan_callback("vkCmdResetEvent2", (GLADapiproc) glad_vkCmdResetEvent2, 3, commandBuffer, event, stageMask); + glad_vkCmdResetEvent2(commandBuffer, event, stageMask); + _post_call_vulkan_callback(NULL, "vkCmdResetEvent2", (GLADapiproc) glad_vkCmdResetEvent2, 3, commandBuffer, event, stageMask); + +} +PFN_vkCmdResetEvent2 glad_debug_vkCmdResetEvent2 = glad_debug_impl_vkCmdResetEvent2; +PFN_vkCmdResetEvent2KHR glad_vkCmdResetEvent2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) { + _pre_call_vulkan_callback("vkCmdResetEvent2KHR", (GLADapiproc) glad_vkCmdResetEvent2KHR, 3, commandBuffer, event, stageMask); + glad_vkCmdResetEvent2KHR(commandBuffer, event, stageMask); + _post_call_vulkan_callback(NULL, "vkCmdResetEvent2KHR", (GLADapiproc) glad_vkCmdResetEvent2KHR, 3, commandBuffer, event, stageMask); + +} +PFN_vkCmdResetEvent2KHR glad_debug_vkCmdResetEvent2KHR = glad_debug_impl_vkCmdResetEvent2KHR; +PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) { + _pre_call_vulkan_callback("vkCmdResetQueryPool", (GLADapiproc) glad_vkCmdResetQueryPool, 4, commandBuffer, queryPool, firstQuery, queryCount); + glad_vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount); + _post_call_vulkan_callback(NULL, "vkCmdResetQueryPool", (GLADapiproc) glad_vkCmdResetQueryPool, 4, commandBuffer, queryPool, firstQuery, queryCount); + +} +PFN_vkCmdResetQueryPool glad_debug_vkCmdResetQueryPool = glad_debug_impl_vkCmdResetQueryPool; +PFN_vkCmdResolveImage glad_vkCmdResolveImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions) { + _pre_call_vulkan_callback("vkCmdResolveImage", (GLADapiproc) glad_vkCmdResolveImage, 7, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + glad_vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + _post_call_vulkan_callback(NULL, "vkCmdResolveImage", (GLADapiproc) glad_vkCmdResolveImage, 7, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + +} +PFN_vkCmdResolveImage glad_debug_vkCmdResolveImage = glad_debug_impl_vkCmdResolveImage; +PFN_vkCmdResolveImage2 glad_vkCmdResolveImage2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResolveImage2(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo) { + _pre_call_vulkan_callback("vkCmdResolveImage2", (GLADapiproc) glad_vkCmdResolveImage2, 2, commandBuffer, pResolveImageInfo); + glad_vkCmdResolveImage2(commandBuffer, pResolveImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdResolveImage2", (GLADapiproc) glad_vkCmdResolveImage2, 2, commandBuffer, pResolveImageInfo); + +} +PFN_vkCmdResolveImage2 glad_debug_vkCmdResolveImage2 = glad_debug_impl_vkCmdResolveImage2; +PFN_vkCmdResolveImage2KHR glad_vkCmdResolveImage2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo) { + _pre_call_vulkan_callback("vkCmdResolveImage2KHR", (GLADapiproc) glad_vkCmdResolveImage2KHR, 2, commandBuffer, pResolveImageInfo); + glad_vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo); + _post_call_vulkan_callback(NULL, "vkCmdResolveImage2KHR", (GLADapiproc) glad_vkCmdResolveImage2KHR, 2, commandBuffer, pResolveImageInfo); + +} +PFN_vkCmdResolveImage2KHR glad_debug_vkCmdResolveImage2KHR = glad_debug_impl_vkCmdResolveImage2KHR; +PFN_vkCmdSetAlphaToCoverageEnableEXT glad_vkCmdSetAlphaToCoverageEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) { + _pre_call_vulkan_callback("vkCmdSetAlphaToCoverageEnableEXT", (GLADapiproc) glad_vkCmdSetAlphaToCoverageEnableEXT, 2, commandBuffer, alphaToCoverageEnable); + glad_vkCmdSetAlphaToCoverageEnableEXT(commandBuffer, alphaToCoverageEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetAlphaToCoverageEnableEXT", (GLADapiproc) glad_vkCmdSetAlphaToCoverageEnableEXT, 2, commandBuffer, alphaToCoverageEnable); + +} +PFN_vkCmdSetAlphaToCoverageEnableEXT glad_debug_vkCmdSetAlphaToCoverageEnableEXT = glad_debug_impl_vkCmdSetAlphaToCoverageEnableEXT; +PFN_vkCmdSetAlphaToOneEnableEXT glad_vkCmdSetAlphaToOneEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) { + _pre_call_vulkan_callback("vkCmdSetAlphaToOneEnableEXT", (GLADapiproc) glad_vkCmdSetAlphaToOneEnableEXT, 2, commandBuffer, alphaToOneEnable); + glad_vkCmdSetAlphaToOneEnableEXT(commandBuffer, alphaToOneEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetAlphaToOneEnableEXT", (GLADapiproc) glad_vkCmdSetAlphaToOneEnableEXT, 2, commandBuffer, alphaToOneEnable); + +} +PFN_vkCmdSetAlphaToOneEnableEXT glad_debug_vkCmdSetAlphaToOneEnableEXT = glad_debug_impl_vkCmdSetAlphaToOneEnableEXT; +PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants [4]) { + _pre_call_vulkan_callback("vkCmdSetBlendConstants", (GLADapiproc) glad_vkCmdSetBlendConstants, 2, commandBuffer, blendConstants); + glad_vkCmdSetBlendConstants(commandBuffer, blendConstants); + _post_call_vulkan_callback(NULL, "vkCmdSetBlendConstants", (GLADapiproc) glad_vkCmdSetBlendConstants, 2, commandBuffer, blendConstants); + +} +PFN_vkCmdSetBlendConstants glad_debug_vkCmdSetBlendConstants = glad_debug_impl_vkCmdSetBlendConstants; +PFN_vkCmdSetColorBlendAdvancedEXT glad_vkCmdSetColorBlendAdvancedEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT * pColorBlendAdvanced) { + _pre_call_vulkan_callback("vkCmdSetColorBlendAdvancedEXT", (GLADapiproc) glad_vkCmdSetColorBlendAdvancedEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced); + glad_vkCmdSetColorBlendAdvancedEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced); + _post_call_vulkan_callback(NULL, "vkCmdSetColorBlendAdvancedEXT", (GLADapiproc) glad_vkCmdSetColorBlendAdvancedEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced); + +} +PFN_vkCmdSetColorBlendAdvancedEXT glad_debug_vkCmdSetColorBlendAdvancedEXT = glad_debug_impl_vkCmdSetColorBlendAdvancedEXT; +PFN_vkCmdSetColorBlendEnableEXT glad_vkCmdSetColorBlendEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32 * pColorBlendEnables) { + _pre_call_vulkan_callback("vkCmdSetColorBlendEnableEXT", (GLADapiproc) glad_vkCmdSetColorBlendEnableEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables); + glad_vkCmdSetColorBlendEnableEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables); + _post_call_vulkan_callback(NULL, "vkCmdSetColorBlendEnableEXT", (GLADapiproc) glad_vkCmdSetColorBlendEnableEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables); + +} +PFN_vkCmdSetColorBlendEnableEXT glad_debug_vkCmdSetColorBlendEnableEXT = glad_debug_impl_vkCmdSetColorBlendEnableEXT; +PFN_vkCmdSetColorBlendEquationEXT glad_vkCmdSetColorBlendEquationEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT * pColorBlendEquations) { + _pre_call_vulkan_callback("vkCmdSetColorBlendEquationEXT", (GLADapiproc) glad_vkCmdSetColorBlendEquationEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations); + glad_vkCmdSetColorBlendEquationEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations); + _post_call_vulkan_callback(NULL, "vkCmdSetColorBlendEquationEXT", (GLADapiproc) glad_vkCmdSetColorBlendEquationEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations); + +} +PFN_vkCmdSetColorBlendEquationEXT glad_debug_vkCmdSetColorBlendEquationEXT = glad_debug_impl_vkCmdSetColorBlendEquationEXT; +PFN_vkCmdSetColorWriteMaskEXT glad_vkCmdSetColorWriteMaskEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags * pColorWriteMasks) { + _pre_call_vulkan_callback("vkCmdSetColorWriteMaskEXT", (GLADapiproc) glad_vkCmdSetColorWriteMaskEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks); + glad_vkCmdSetColorWriteMaskEXT(commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks); + _post_call_vulkan_callback(NULL, "vkCmdSetColorWriteMaskEXT", (GLADapiproc) glad_vkCmdSetColorWriteMaskEXT, 4, commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks); + +} +PFN_vkCmdSetColorWriteMaskEXT glad_debug_vkCmdSetColorWriteMaskEXT = glad_debug_impl_vkCmdSetColorWriteMaskEXT; +PFN_vkCmdSetConservativeRasterizationModeEXT glad_vkCmdSetConservativeRasterizationModeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) { + _pre_call_vulkan_callback("vkCmdSetConservativeRasterizationModeEXT", (GLADapiproc) glad_vkCmdSetConservativeRasterizationModeEXT, 2, commandBuffer, conservativeRasterizationMode); + glad_vkCmdSetConservativeRasterizationModeEXT(commandBuffer, conservativeRasterizationMode); + _post_call_vulkan_callback(NULL, "vkCmdSetConservativeRasterizationModeEXT", (GLADapiproc) glad_vkCmdSetConservativeRasterizationModeEXT, 2, commandBuffer, conservativeRasterizationMode); + +} +PFN_vkCmdSetConservativeRasterizationModeEXT glad_debug_vkCmdSetConservativeRasterizationModeEXT = glad_debug_impl_vkCmdSetConservativeRasterizationModeEXT; +PFN_vkCmdSetCoverageModulationModeNV glad_vkCmdSetCoverageModulationModeNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) { + _pre_call_vulkan_callback("vkCmdSetCoverageModulationModeNV", (GLADapiproc) glad_vkCmdSetCoverageModulationModeNV, 2, commandBuffer, coverageModulationMode); + glad_vkCmdSetCoverageModulationModeNV(commandBuffer, coverageModulationMode); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageModulationModeNV", (GLADapiproc) glad_vkCmdSetCoverageModulationModeNV, 2, commandBuffer, coverageModulationMode); + +} +PFN_vkCmdSetCoverageModulationModeNV glad_debug_vkCmdSetCoverageModulationModeNV = glad_debug_impl_vkCmdSetCoverageModulationModeNV; +PFN_vkCmdSetCoverageModulationTableEnableNV glad_vkCmdSetCoverageModulationTableEnableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) { + _pre_call_vulkan_callback("vkCmdSetCoverageModulationTableEnableNV", (GLADapiproc) glad_vkCmdSetCoverageModulationTableEnableNV, 2, commandBuffer, coverageModulationTableEnable); + glad_vkCmdSetCoverageModulationTableEnableNV(commandBuffer, coverageModulationTableEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageModulationTableEnableNV", (GLADapiproc) glad_vkCmdSetCoverageModulationTableEnableNV, 2, commandBuffer, coverageModulationTableEnable); + +} +PFN_vkCmdSetCoverageModulationTableEnableNV glad_debug_vkCmdSetCoverageModulationTableEnableNV = glad_debug_impl_vkCmdSetCoverageModulationTableEnableNV; +PFN_vkCmdSetCoverageModulationTableNV glad_vkCmdSetCoverageModulationTableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float * pCoverageModulationTable) { + _pre_call_vulkan_callback("vkCmdSetCoverageModulationTableNV", (GLADapiproc) glad_vkCmdSetCoverageModulationTableNV, 3, commandBuffer, coverageModulationTableCount, pCoverageModulationTable); + glad_vkCmdSetCoverageModulationTableNV(commandBuffer, coverageModulationTableCount, pCoverageModulationTable); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageModulationTableNV", (GLADapiproc) glad_vkCmdSetCoverageModulationTableNV, 3, commandBuffer, coverageModulationTableCount, pCoverageModulationTable); + +} +PFN_vkCmdSetCoverageModulationTableNV glad_debug_vkCmdSetCoverageModulationTableNV = glad_debug_impl_vkCmdSetCoverageModulationTableNV; +PFN_vkCmdSetCoverageReductionModeNV glad_vkCmdSetCoverageReductionModeNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) { + _pre_call_vulkan_callback("vkCmdSetCoverageReductionModeNV", (GLADapiproc) glad_vkCmdSetCoverageReductionModeNV, 2, commandBuffer, coverageReductionMode); + glad_vkCmdSetCoverageReductionModeNV(commandBuffer, coverageReductionMode); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageReductionModeNV", (GLADapiproc) glad_vkCmdSetCoverageReductionModeNV, 2, commandBuffer, coverageReductionMode); + +} +PFN_vkCmdSetCoverageReductionModeNV glad_debug_vkCmdSetCoverageReductionModeNV = glad_debug_impl_vkCmdSetCoverageReductionModeNV; +PFN_vkCmdSetCoverageToColorEnableNV glad_vkCmdSetCoverageToColorEnableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) { + _pre_call_vulkan_callback("vkCmdSetCoverageToColorEnableNV", (GLADapiproc) glad_vkCmdSetCoverageToColorEnableNV, 2, commandBuffer, coverageToColorEnable); + glad_vkCmdSetCoverageToColorEnableNV(commandBuffer, coverageToColorEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageToColorEnableNV", (GLADapiproc) glad_vkCmdSetCoverageToColorEnableNV, 2, commandBuffer, coverageToColorEnable); + +} +PFN_vkCmdSetCoverageToColorEnableNV glad_debug_vkCmdSetCoverageToColorEnableNV = glad_debug_impl_vkCmdSetCoverageToColorEnableNV; +PFN_vkCmdSetCoverageToColorLocationNV glad_vkCmdSetCoverageToColorLocationNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) { + _pre_call_vulkan_callback("vkCmdSetCoverageToColorLocationNV", (GLADapiproc) glad_vkCmdSetCoverageToColorLocationNV, 2, commandBuffer, coverageToColorLocation); + glad_vkCmdSetCoverageToColorLocationNV(commandBuffer, coverageToColorLocation); + _post_call_vulkan_callback(NULL, "vkCmdSetCoverageToColorLocationNV", (GLADapiproc) glad_vkCmdSetCoverageToColorLocationNV, 2, commandBuffer, coverageToColorLocation); + +} +PFN_vkCmdSetCoverageToColorLocationNV glad_debug_vkCmdSetCoverageToColorLocationNV = glad_debug_impl_vkCmdSetCoverageToColorLocationNV; +PFN_vkCmdSetCullMode glad_vkCmdSetCullMode = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCullMode(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) { + _pre_call_vulkan_callback("vkCmdSetCullMode", (GLADapiproc) glad_vkCmdSetCullMode, 2, commandBuffer, cullMode); + glad_vkCmdSetCullMode(commandBuffer, cullMode); + _post_call_vulkan_callback(NULL, "vkCmdSetCullMode", (GLADapiproc) glad_vkCmdSetCullMode, 2, commandBuffer, cullMode); + +} +PFN_vkCmdSetCullMode glad_debug_vkCmdSetCullMode = glad_debug_impl_vkCmdSetCullMode; +PFN_vkCmdSetCullModeEXT glad_vkCmdSetCullModeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) { + _pre_call_vulkan_callback("vkCmdSetCullModeEXT", (GLADapiproc) glad_vkCmdSetCullModeEXT, 2, commandBuffer, cullMode); + glad_vkCmdSetCullModeEXT(commandBuffer, cullMode); + _post_call_vulkan_callback(NULL, "vkCmdSetCullModeEXT", (GLADapiproc) glad_vkCmdSetCullModeEXT, 2, commandBuffer, cullMode); + +} +PFN_vkCmdSetCullModeEXT glad_debug_vkCmdSetCullModeEXT = glad_debug_impl_vkCmdSetCullModeEXT; +PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) { + _pre_call_vulkan_callback("vkCmdSetDepthBias", (GLADapiproc) glad_vkCmdSetDepthBias, 4, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); + glad_vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBias", (GLADapiproc) glad_vkCmdSetDepthBias, 4, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); + +} +PFN_vkCmdSetDepthBias glad_debug_vkCmdSetDepthBias = glad_debug_impl_vkCmdSetDepthBias; +PFN_vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBiasEnable(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthBiasEnable", (GLADapiproc) glad_vkCmdSetDepthBiasEnable, 2, commandBuffer, depthBiasEnable); + glad_vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBiasEnable", (GLADapiproc) glad_vkCmdSetDepthBiasEnable, 2, commandBuffer, depthBiasEnable); + +} +PFN_vkCmdSetDepthBiasEnable glad_debug_vkCmdSetDepthBiasEnable = glad_debug_impl_vkCmdSetDepthBiasEnable; +PFN_vkCmdSetDepthBiasEnableEXT glad_vkCmdSetDepthBiasEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthBiasEnableEXT", (GLADapiproc) glad_vkCmdSetDepthBiasEnableEXT, 2, commandBuffer, depthBiasEnable); + glad_vkCmdSetDepthBiasEnableEXT(commandBuffer, depthBiasEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBiasEnableEXT", (GLADapiproc) glad_vkCmdSetDepthBiasEnableEXT, 2, commandBuffer, depthBiasEnable); + +} +PFN_vkCmdSetDepthBiasEnableEXT glad_debug_vkCmdSetDepthBiasEnableEXT = glad_debug_impl_vkCmdSetDepthBiasEnableEXT; +PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) { + _pre_call_vulkan_callback("vkCmdSetDepthBounds", (GLADapiproc) glad_vkCmdSetDepthBounds, 3, commandBuffer, minDepthBounds, maxDepthBounds); + glad_vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBounds", (GLADapiproc) glad_vkCmdSetDepthBounds, 3, commandBuffer, minDepthBounds, maxDepthBounds); + +} +PFN_vkCmdSetDepthBounds glad_debug_vkCmdSetDepthBounds = glad_debug_impl_vkCmdSetDepthBounds; +PFN_vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthBoundsTestEnable", (GLADapiproc) glad_vkCmdSetDepthBoundsTestEnable, 2, commandBuffer, depthBoundsTestEnable); + glad_vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBoundsTestEnable", (GLADapiproc) glad_vkCmdSetDepthBoundsTestEnable, 2, commandBuffer, depthBoundsTestEnable); + +} +PFN_vkCmdSetDepthBoundsTestEnable glad_debug_vkCmdSetDepthBoundsTestEnable = glad_debug_impl_vkCmdSetDepthBoundsTestEnable; +PFN_vkCmdSetDepthBoundsTestEnableEXT glad_vkCmdSetDepthBoundsTestEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthBoundsTestEnableEXT", (GLADapiproc) glad_vkCmdSetDepthBoundsTestEnableEXT, 2, commandBuffer, depthBoundsTestEnable); + glad_vkCmdSetDepthBoundsTestEnableEXT(commandBuffer, depthBoundsTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthBoundsTestEnableEXT", (GLADapiproc) glad_vkCmdSetDepthBoundsTestEnableEXT, 2, commandBuffer, depthBoundsTestEnable); + +} +PFN_vkCmdSetDepthBoundsTestEnableEXT glad_debug_vkCmdSetDepthBoundsTestEnableEXT = glad_debug_impl_vkCmdSetDepthBoundsTestEnableEXT; +PFN_vkCmdSetDepthClampEnableEXT glad_vkCmdSetDepthClampEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthClampEnableEXT", (GLADapiproc) glad_vkCmdSetDepthClampEnableEXT, 2, commandBuffer, depthClampEnable); + glad_vkCmdSetDepthClampEnableEXT(commandBuffer, depthClampEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthClampEnableEXT", (GLADapiproc) glad_vkCmdSetDepthClampEnableEXT, 2, commandBuffer, depthClampEnable); + +} +PFN_vkCmdSetDepthClampEnableEXT glad_debug_vkCmdSetDepthClampEnableEXT = glad_debug_impl_vkCmdSetDepthClampEnableEXT; +PFN_vkCmdSetDepthClampRangeEXT glad_vkCmdSetDepthClampRangeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT * pDepthClampRange) { + _pre_call_vulkan_callback("vkCmdSetDepthClampRangeEXT", (GLADapiproc) glad_vkCmdSetDepthClampRangeEXT, 3, commandBuffer, depthClampMode, pDepthClampRange); + glad_vkCmdSetDepthClampRangeEXT(commandBuffer, depthClampMode, pDepthClampRange); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthClampRangeEXT", (GLADapiproc) glad_vkCmdSetDepthClampRangeEXT, 3, commandBuffer, depthClampMode, pDepthClampRange); + +} +PFN_vkCmdSetDepthClampRangeEXT glad_debug_vkCmdSetDepthClampRangeEXT = glad_debug_impl_vkCmdSetDepthClampRangeEXT; +PFN_vkCmdSetDepthClipEnableEXT glad_vkCmdSetDepthClipEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthClipEnableEXT", (GLADapiproc) glad_vkCmdSetDepthClipEnableEXT, 2, commandBuffer, depthClipEnable); + glad_vkCmdSetDepthClipEnableEXT(commandBuffer, depthClipEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthClipEnableEXT", (GLADapiproc) glad_vkCmdSetDepthClipEnableEXT, 2, commandBuffer, depthClipEnable); + +} +PFN_vkCmdSetDepthClipEnableEXT glad_debug_vkCmdSetDepthClipEnableEXT = glad_debug_impl_vkCmdSetDepthClipEnableEXT; +PFN_vkCmdSetDepthClipNegativeOneToOneEXT glad_vkCmdSetDepthClipNegativeOneToOneEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) { + _pre_call_vulkan_callback("vkCmdSetDepthClipNegativeOneToOneEXT", (GLADapiproc) glad_vkCmdSetDepthClipNegativeOneToOneEXT, 2, commandBuffer, negativeOneToOne); + glad_vkCmdSetDepthClipNegativeOneToOneEXT(commandBuffer, negativeOneToOne); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthClipNegativeOneToOneEXT", (GLADapiproc) glad_vkCmdSetDepthClipNegativeOneToOneEXT, 2, commandBuffer, negativeOneToOne); + +} +PFN_vkCmdSetDepthClipNegativeOneToOneEXT glad_debug_vkCmdSetDepthClipNegativeOneToOneEXT = glad_debug_impl_vkCmdSetDepthClipNegativeOneToOneEXT; +PFN_vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthCompareOp(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) { + _pre_call_vulkan_callback("vkCmdSetDepthCompareOp", (GLADapiproc) glad_vkCmdSetDepthCompareOp, 2, commandBuffer, depthCompareOp); + glad_vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthCompareOp", (GLADapiproc) glad_vkCmdSetDepthCompareOp, 2, commandBuffer, depthCompareOp); + +} +PFN_vkCmdSetDepthCompareOp glad_debug_vkCmdSetDepthCompareOp = glad_debug_impl_vkCmdSetDepthCompareOp; +PFN_vkCmdSetDepthCompareOpEXT glad_vkCmdSetDepthCompareOpEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) { + _pre_call_vulkan_callback("vkCmdSetDepthCompareOpEXT", (GLADapiproc) glad_vkCmdSetDepthCompareOpEXT, 2, commandBuffer, depthCompareOp); + glad_vkCmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthCompareOpEXT", (GLADapiproc) glad_vkCmdSetDepthCompareOpEXT, 2, commandBuffer, depthCompareOp); + +} +PFN_vkCmdSetDepthCompareOpEXT glad_debug_vkCmdSetDepthCompareOpEXT = glad_debug_impl_vkCmdSetDepthCompareOpEXT; +PFN_vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthTestEnable(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthTestEnable", (GLADapiproc) glad_vkCmdSetDepthTestEnable, 2, commandBuffer, depthTestEnable); + glad_vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthTestEnable", (GLADapiproc) glad_vkCmdSetDepthTestEnable, 2, commandBuffer, depthTestEnable); + +} +PFN_vkCmdSetDepthTestEnable glad_debug_vkCmdSetDepthTestEnable = glad_debug_impl_vkCmdSetDepthTestEnable; +PFN_vkCmdSetDepthTestEnableEXT glad_vkCmdSetDepthTestEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthTestEnableEXT", (GLADapiproc) glad_vkCmdSetDepthTestEnableEXT, 2, commandBuffer, depthTestEnable); + glad_vkCmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthTestEnableEXT", (GLADapiproc) glad_vkCmdSetDepthTestEnableEXT, 2, commandBuffer, depthTestEnable); + +} +PFN_vkCmdSetDepthTestEnableEXT glad_debug_vkCmdSetDepthTestEnableEXT = glad_debug_impl_vkCmdSetDepthTestEnableEXT; +PFN_vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthWriteEnable(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthWriteEnable", (GLADapiproc) glad_vkCmdSetDepthWriteEnable, 2, commandBuffer, depthWriteEnable); + glad_vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthWriteEnable", (GLADapiproc) glad_vkCmdSetDepthWriteEnable, 2, commandBuffer, depthWriteEnable); + +} +PFN_vkCmdSetDepthWriteEnable glad_debug_vkCmdSetDepthWriteEnable = glad_debug_impl_vkCmdSetDepthWriteEnable; +PFN_vkCmdSetDepthWriteEnableEXT glad_vkCmdSetDepthWriteEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) { + _pre_call_vulkan_callback("vkCmdSetDepthWriteEnableEXT", (GLADapiproc) glad_vkCmdSetDepthWriteEnableEXT, 2, commandBuffer, depthWriteEnable); + glad_vkCmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetDepthWriteEnableEXT", (GLADapiproc) glad_vkCmdSetDepthWriteEnableEXT, 2, commandBuffer, depthWriteEnable); + +} +PFN_vkCmdSetDepthWriteEnableEXT glad_debug_vkCmdSetDepthWriteEnableEXT = glad_debug_impl_vkCmdSetDepthWriteEnableEXT; +PFN_vkCmdSetDescriptorBufferOffsets2EXT glad_vkCmdSetDescriptorBufferOffsets2EXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) { + _pre_call_vulkan_callback("vkCmdSetDescriptorBufferOffsets2EXT", (GLADapiproc) glad_vkCmdSetDescriptorBufferOffsets2EXT, 2, commandBuffer, pSetDescriptorBufferOffsetsInfo); + glad_vkCmdSetDescriptorBufferOffsets2EXT(commandBuffer, pSetDescriptorBufferOffsetsInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetDescriptorBufferOffsets2EXT", (GLADapiproc) glad_vkCmdSetDescriptorBufferOffsets2EXT, 2, commandBuffer, pSetDescriptorBufferOffsetsInfo); + +} +PFN_vkCmdSetDescriptorBufferOffsets2EXT glad_debug_vkCmdSetDescriptorBufferOffsets2EXT = glad_debug_impl_vkCmdSetDescriptorBufferOffsets2EXT; +PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) { + _pre_call_vulkan_callback("vkCmdSetDeviceMask", (GLADapiproc) glad_vkCmdSetDeviceMask, 2, commandBuffer, deviceMask); + glad_vkCmdSetDeviceMask(commandBuffer, deviceMask); + _post_call_vulkan_callback(NULL, "vkCmdSetDeviceMask", (GLADapiproc) glad_vkCmdSetDeviceMask, 2, commandBuffer, deviceMask); + +} +PFN_vkCmdSetDeviceMask glad_debug_vkCmdSetDeviceMask = glad_debug_impl_vkCmdSetDeviceMask; +PFN_vkCmdSetDeviceMaskKHR glad_vkCmdSetDeviceMaskKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask) { + _pre_call_vulkan_callback("vkCmdSetDeviceMaskKHR", (GLADapiproc) glad_vkCmdSetDeviceMaskKHR, 2, commandBuffer, deviceMask); + glad_vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask); + _post_call_vulkan_callback(NULL, "vkCmdSetDeviceMaskKHR", (GLADapiproc) glad_vkCmdSetDeviceMaskKHR, 2, commandBuffer, deviceMask); + +} +PFN_vkCmdSetDeviceMaskKHR glad_debug_vkCmdSetDeviceMaskKHR = glad_debug_impl_vkCmdSetDeviceMaskKHR; +PFN_vkCmdSetEvent glad_vkCmdSetEvent = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) { + _pre_call_vulkan_callback("vkCmdSetEvent", (GLADapiproc) glad_vkCmdSetEvent, 3, commandBuffer, event, stageMask); + glad_vkCmdSetEvent(commandBuffer, event, stageMask); + _post_call_vulkan_callback(NULL, "vkCmdSetEvent", (GLADapiproc) glad_vkCmdSetEvent, 3, commandBuffer, event, stageMask); + +} +PFN_vkCmdSetEvent glad_debug_vkCmdSetEvent = glad_debug_impl_vkCmdSetEvent; +PFN_vkCmdSetEvent2 glad_vkCmdSetEvent2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetEvent2(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo) { + _pre_call_vulkan_callback("vkCmdSetEvent2", (GLADapiproc) glad_vkCmdSetEvent2, 3, commandBuffer, event, pDependencyInfo); + glad_vkCmdSetEvent2(commandBuffer, event, pDependencyInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetEvent2", (GLADapiproc) glad_vkCmdSetEvent2, 3, commandBuffer, event, pDependencyInfo); + +} +PFN_vkCmdSetEvent2 glad_debug_vkCmdSetEvent2 = glad_debug_impl_vkCmdSetEvent2; +PFN_vkCmdSetEvent2KHR glad_vkCmdSetEvent2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo) { + _pre_call_vulkan_callback("vkCmdSetEvent2KHR", (GLADapiproc) glad_vkCmdSetEvent2KHR, 3, commandBuffer, event, pDependencyInfo); + glad_vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetEvent2KHR", (GLADapiproc) glad_vkCmdSetEvent2KHR, 3, commandBuffer, event, pDependencyInfo); + +} +PFN_vkCmdSetEvent2KHR glad_debug_vkCmdSetEvent2KHR = glad_debug_impl_vkCmdSetEvent2KHR; +PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) { + _pre_call_vulkan_callback("vkCmdSetExtraPrimitiveOverestimationSizeEXT", (GLADapiproc) glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT, 2, commandBuffer, extraPrimitiveOverestimationSize); + glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT(commandBuffer, extraPrimitiveOverestimationSize); + _post_call_vulkan_callback(NULL, "vkCmdSetExtraPrimitiveOverestimationSizeEXT", (GLADapiproc) glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT, 2, commandBuffer, extraPrimitiveOverestimationSize); + +} +PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT glad_debug_vkCmdSetExtraPrimitiveOverestimationSizeEXT = glad_debug_impl_vkCmdSetExtraPrimitiveOverestimationSizeEXT; +PFN_vkCmdSetFrontFace glad_vkCmdSetFrontFace = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetFrontFace(VkCommandBuffer commandBuffer, VkFrontFace frontFace) { + _pre_call_vulkan_callback("vkCmdSetFrontFace", (GLADapiproc) glad_vkCmdSetFrontFace, 2, commandBuffer, frontFace); + glad_vkCmdSetFrontFace(commandBuffer, frontFace); + _post_call_vulkan_callback(NULL, "vkCmdSetFrontFace", (GLADapiproc) glad_vkCmdSetFrontFace, 2, commandBuffer, frontFace); + +} +PFN_vkCmdSetFrontFace glad_debug_vkCmdSetFrontFace = glad_debug_impl_vkCmdSetFrontFace; +PFN_vkCmdSetFrontFaceEXT glad_vkCmdSetFrontFaceEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) { + _pre_call_vulkan_callback("vkCmdSetFrontFaceEXT", (GLADapiproc) glad_vkCmdSetFrontFaceEXT, 2, commandBuffer, frontFace); + glad_vkCmdSetFrontFaceEXT(commandBuffer, frontFace); + _post_call_vulkan_callback(NULL, "vkCmdSetFrontFaceEXT", (GLADapiproc) glad_vkCmdSetFrontFaceEXT, 2, commandBuffer, frontFace); + +} +PFN_vkCmdSetFrontFaceEXT glad_debug_vkCmdSetFrontFaceEXT = glad_debug_impl_vkCmdSetFrontFaceEXT; +PFN_vkCmdSetLineRasterizationModeEXT glad_vkCmdSetLineRasterizationModeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) { + _pre_call_vulkan_callback("vkCmdSetLineRasterizationModeEXT", (GLADapiproc) glad_vkCmdSetLineRasterizationModeEXT, 2, commandBuffer, lineRasterizationMode); + glad_vkCmdSetLineRasterizationModeEXT(commandBuffer, lineRasterizationMode); + _post_call_vulkan_callback(NULL, "vkCmdSetLineRasterizationModeEXT", (GLADapiproc) glad_vkCmdSetLineRasterizationModeEXT, 2, commandBuffer, lineRasterizationMode); + +} +PFN_vkCmdSetLineRasterizationModeEXT glad_debug_vkCmdSetLineRasterizationModeEXT = glad_debug_impl_vkCmdSetLineRasterizationModeEXT; +PFN_vkCmdSetLineStipple glad_vkCmdSetLineStipple = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineStipple(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { + _pre_call_vulkan_callback("vkCmdSetLineStipple", (GLADapiproc) glad_vkCmdSetLineStipple, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + glad_vkCmdSetLineStipple(commandBuffer, lineStippleFactor, lineStipplePattern); + _post_call_vulkan_callback(NULL, "vkCmdSetLineStipple", (GLADapiproc) glad_vkCmdSetLineStipple, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + +} +PFN_vkCmdSetLineStipple glad_debug_vkCmdSetLineStipple = glad_debug_impl_vkCmdSetLineStipple; +PFN_vkCmdSetLineStippleEXT glad_vkCmdSetLineStippleEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { + _pre_call_vulkan_callback("vkCmdSetLineStippleEXT", (GLADapiproc) glad_vkCmdSetLineStippleEXT, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + glad_vkCmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern); + _post_call_vulkan_callback(NULL, "vkCmdSetLineStippleEXT", (GLADapiproc) glad_vkCmdSetLineStippleEXT, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + +} +PFN_vkCmdSetLineStippleEXT glad_debug_vkCmdSetLineStippleEXT = glad_debug_impl_vkCmdSetLineStippleEXT; +PFN_vkCmdSetLineStippleEnableEXT glad_vkCmdSetLineStippleEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) { + _pre_call_vulkan_callback("vkCmdSetLineStippleEnableEXT", (GLADapiproc) glad_vkCmdSetLineStippleEnableEXT, 2, commandBuffer, stippledLineEnable); + glad_vkCmdSetLineStippleEnableEXT(commandBuffer, stippledLineEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetLineStippleEnableEXT", (GLADapiproc) glad_vkCmdSetLineStippleEnableEXT, 2, commandBuffer, stippledLineEnable); + +} +PFN_vkCmdSetLineStippleEnableEXT glad_debug_vkCmdSetLineStippleEnableEXT = glad_debug_impl_vkCmdSetLineStippleEnableEXT; +PFN_vkCmdSetLineStippleKHR glad_vkCmdSetLineStippleKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) { + _pre_call_vulkan_callback("vkCmdSetLineStippleKHR", (GLADapiproc) glad_vkCmdSetLineStippleKHR, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + glad_vkCmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern); + _post_call_vulkan_callback(NULL, "vkCmdSetLineStippleKHR", (GLADapiproc) glad_vkCmdSetLineStippleKHR, 3, commandBuffer, lineStippleFactor, lineStipplePattern); + +} +PFN_vkCmdSetLineStippleKHR glad_debug_vkCmdSetLineStippleKHR = glad_debug_impl_vkCmdSetLineStippleKHR; +PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) { + _pre_call_vulkan_callback("vkCmdSetLineWidth", (GLADapiproc) glad_vkCmdSetLineWidth, 2, commandBuffer, lineWidth); + glad_vkCmdSetLineWidth(commandBuffer, lineWidth); + _post_call_vulkan_callback(NULL, "vkCmdSetLineWidth", (GLADapiproc) glad_vkCmdSetLineWidth, 2, commandBuffer, lineWidth); + +} +PFN_vkCmdSetLineWidth glad_debug_vkCmdSetLineWidth = glad_debug_impl_vkCmdSetLineWidth; +PFN_vkCmdSetLogicOpEXT glad_vkCmdSetLogicOpEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer, VkLogicOp logicOp) { + _pre_call_vulkan_callback("vkCmdSetLogicOpEXT", (GLADapiproc) glad_vkCmdSetLogicOpEXT, 2, commandBuffer, logicOp); + glad_vkCmdSetLogicOpEXT(commandBuffer, logicOp); + _post_call_vulkan_callback(NULL, "vkCmdSetLogicOpEXT", (GLADapiproc) glad_vkCmdSetLogicOpEXT, 2, commandBuffer, logicOp); + +} +PFN_vkCmdSetLogicOpEXT glad_debug_vkCmdSetLogicOpEXT = glad_debug_impl_vkCmdSetLogicOpEXT; +PFN_vkCmdSetLogicOpEnableEXT glad_vkCmdSetLogicOpEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) { + _pre_call_vulkan_callback("vkCmdSetLogicOpEnableEXT", (GLADapiproc) glad_vkCmdSetLogicOpEnableEXT, 2, commandBuffer, logicOpEnable); + glad_vkCmdSetLogicOpEnableEXT(commandBuffer, logicOpEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetLogicOpEnableEXT", (GLADapiproc) glad_vkCmdSetLogicOpEnableEXT, 2, commandBuffer, logicOpEnable); + +} +PFN_vkCmdSetLogicOpEnableEXT glad_debug_vkCmdSetLogicOpEnableEXT = glad_debug_impl_vkCmdSetLogicOpEnableEXT; +PFN_vkCmdSetPatchControlPointsEXT glad_vkCmdSetPatchControlPointsEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer, uint32_t patchControlPoints) { + _pre_call_vulkan_callback("vkCmdSetPatchControlPointsEXT", (GLADapiproc) glad_vkCmdSetPatchControlPointsEXT, 2, commandBuffer, patchControlPoints); + glad_vkCmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints); + _post_call_vulkan_callback(NULL, "vkCmdSetPatchControlPointsEXT", (GLADapiproc) glad_vkCmdSetPatchControlPointsEXT, 2, commandBuffer, patchControlPoints); + +} +PFN_vkCmdSetPatchControlPointsEXT glad_debug_vkCmdSetPatchControlPointsEXT = glad_debug_impl_vkCmdSetPatchControlPointsEXT; +PFN_vkCmdSetPolygonModeEXT glad_vkCmdSetPolygonModeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) { + _pre_call_vulkan_callback("vkCmdSetPolygonModeEXT", (GLADapiproc) glad_vkCmdSetPolygonModeEXT, 2, commandBuffer, polygonMode); + glad_vkCmdSetPolygonModeEXT(commandBuffer, polygonMode); + _post_call_vulkan_callback(NULL, "vkCmdSetPolygonModeEXT", (GLADapiproc) glad_vkCmdSetPolygonModeEXT, 2, commandBuffer, polygonMode); + +} +PFN_vkCmdSetPolygonModeEXT glad_debug_vkCmdSetPolygonModeEXT = glad_debug_impl_vkCmdSetPolygonModeEXT; +PFN_vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) { + _pre_call_vulkan_callback("vkCmdSetPrimitiveRestartEnable", (GLADapiproc) glad_vkCmdSetPrimitiveRestartEnable, 2, commandBuffer, primitiveRestartEnable); + glad_vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetPrimitiveRestartEnable", (GLADapiproc) glad_vkCmdSetPrimitiveRestartEnable, 2, commandBuffer, primitiveRestartEnable); + +} +PFN_vkCmdSetPrimitiveRestartEnable glad_debug_vkCmdSetPrimitiveRestartEnable = glad_debug_impl_vkCmdSetPrimitiveRestartEnable; +PFN_vkCmdSetPrimitiveRestartEnableEXT glad_vkCmdSetPrimitiveRestartEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) { + _pre_call_vulkan_callback("vkCmdSetPrimitiveRestartEnableEXT", (GLADapiproc) glad_vkCmdSetPrimitiveRestartEnableEXT, 2, commandBuffer, primitiveRestartEnable); + glad_vkCmdSetPrimitiveRestartEnableEXT(commandBuffer, primitiveRestartEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetPrimitiveRestartEnableEXT", (GLADapiproc) glad_vkCmdSetPrimitiveRestartEnableEXT, 2, commandBuffer, primitiveRestartEnable); + +} +PFN_vkCmdSetPrimitiveRestartEnableEXT glad_debug_vkCmdSetPrimitiveRestartEnableEXT = glad_debug_impl_vkCmdSetPrimitiveRestartEnableEXT; +PFN_vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPrimitiveTopology(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) { + _pre_call_vulkan_callback("vkCmdSetPrimitiveTopology", (GLADapiproc) glad_vkCmdSetPrimitiveTopology, 2, commandBuffer, primitiveTopology); + glad_vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology); + _post_call_vulkan_callback(NULL, "vkCmdSetPrimitiveTopology", (GLADapiproc) glad_vkCmdSetPrimitiveTopology, 2, commandBuffer, primitiveTopology); + +} +PFN_vkCmdSetPrimitiveTopology glad_debug_vkCmdSetPrimitiveTopology = glad_debug_impl_vkCmdSetPrimitiveTopology; +PFN_vkCmdSetPrimitiveTopologyEXT glad_vkCmdSetPrimitiveTopologyEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) { + _pre_call_vulkan_callback("vkCmdSetPrimitiveTopologyEXT", (GLADapiproc) glad_vkCmdSetPrimitiveTopologyEXT, 2, commandBuffer, primitiveTopology); + glad_vkCmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology); + _post_call_vulkan_callback(NULL, "vkCmdSetPrimitiveTopologyEXT", (GLADapiproc) glad_vkCmdSetPrimitiveTopologyEXT, 2, commandBuffer, primitiveTopology); + +} +PFN_vkCmdSetPrimitiveTopologyEXT glad_debug_vkCmdSetPrimitiveTopologyEXT = glad_debug_impl_vkCmdSetPrimitiveTopologyEXT; +PFN_vkCmdSetProvokingVertexModeEXT glad_vkCmdSetProvokingVertexModeEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) { + _pre_call_vulkan_callback("vkCmdSetProvokingVertexModeEXT", (GLADapiproc) glad_vkCmdSetProvokingVertexModeEXT, 2, commandBuffer, provokingVertexMode); + glad_vkCmdSetProvokingVertexModeEXT(commandBuffer, provokingVertexMode); + _post_call_vulkan_callback(NULL, "vkCmdSetProvokingVertexModeEXT", (GLADapiproc) glad_vkCmdSetProvokingVertexModeEXT, 2, commandBuffer, provokingVertexMode); + +} +PFN_vkCmdSetProvokingVertexModeEXT glad_debug_vkCmdSetProvokingVertexModeEXT = glad_debug_impl_vkCmdSetProvokingVertexModeEXT; +PFN_vkCmdSetRasterizationSamplesEXT glad_vkCmdSetRasterizationSamplesEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) { + _pre_call_vulkan_callback("vkCmdSetRasterizationSamplesEXT", (GLADapiproc) glad_vkCmdSetRasterizationSamplesEXT, 2, commandBuffer, rasterizationSamples); + glad_vkCmdSetRasterizationSamplesEXT(commandBuffer, rasterizationSamples); + _post_call_vulkan_callback(NULL, "vkCmdSetRasterizationSamplesEXT", (GLADapiproc) glad_vkCmdSetRasterizationSamplesEXT, 2, commandBuffer, rasterizationSamples); + +} +PFN_vkCmdSetRasterizationSamplesEXT glad_debug_vkCmdSetRasterizationSamplesEXT = glad_debug_impl_vkCmdSetRasterizationSamplesEXT; +PFN_vkCmdSetRasterizationStreamEXT glad_vkCmdSetRasterizationStreamEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer, uint32_t rasterizationStream) { + _pre_call_vulkan_callback("vkCmdSetRasterizationStreamEXT", (GLADapiproc) glad_vkCmdSetRasterizationStreamEXT, 2, commandBuffer, rasterizationStream); + glad_vkCmdSetRasterizationStreamEXT(commandBuffer, rasterizationStream); + _post_call_vulkan_callback(NULL, "vkCmdSetRasterizationStreamEXT", (GLADapiproc) glad_vkCmdSetRasterizationStreamEXT, 2, commandBuffer, rasterizationStream); + +} +PFN_vkCmdSetRasterizationStreamEXT glad_debug_vkCmdSetRasterizationStreamEXT = glad_debug_impl_vkCmdSetRasterizationStreamEXT; +PFN_vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) { + _pre_call_vulkan_callback("vkCmdSetRasterizerDiscardEnable", (GLADapiproc) glad_vkCmdSetRasterizerDiscardEnable, 2, commandBuffer, rasterizerDiscardEnable); + glad_vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetRasterizerDiscardEnable", (GLADapiproc) glad_vkCmdSetRasterizerDiscardEnable, 2, commandBuffer, rasterizerDiscardEnable); + +} +PFN_vkCmdSetRasterizerDiscardEnable glad_debug_vkCmdSetRasterizerDiscardEnable = glad_debug_impl_vkCmdSetRasterizerDiscardEnable; +PFN_vkCmdSetRasterizerDiscardEnableEXT glad_vkCmdSetRasterizerDiscardEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) { + _pre_call_vulkan_callback("vkCmdSetRasterizerDiscardEnableEXT", (GLADapiproc) glad_vkCmdSetRasterizerDiscardEnableEXT, 2, commandBuffer, rasterizerDiscardEnable); + glad_vkCmdSetRasterizerDiscardEnableEXT(commandBuffer, rasterizerDiscardEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetRasterizerDiscardEnableEXT", (GLADapiproc) glad_vkCmdSetRasterizerDiscardEnableEXT, 2, commandBuffer, rasterizerDiscardEnable); + +} +PFN_vkCmdSetRasterizerDiscardEnableEXT glad_debug_vkCmdSetRasterizerDiscardEnableEXT = glad_debug_impl_vkCmdSetRasterizerDiscardEnableEXT; +PFN_vkCmdSetRenderingAttachmentLocations glad_vkCmdSetRenderingAttachmentLocations = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRenderingAttachmentLocations(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo * pLocationInfo) { + _pre_call_vulkan_callback("vkCmdSetRenderingAttachmentLocations", (GLADapiproc) glad_vkCmdSetRenderingAttachmentLocations, 2, commandBuffer, pLocationInfo); + glad_vkCmdSetRenderingAttachmentLocations(commandBuffer, pLocationInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetRenderingAttachmentLocations", (GLADapiproc) glad_vkCmdSetRenderingAttachmentLocations, 2, commandBuffer, pLocationInfo); + +} +PFN_vkCmdSetRenderingAttachmentLocations glad_debug_vkCmdSetRenderingAttachmentLocations = glad_debug_impl_vkCmdSetRenderingAttachmentLocations; +PFN_vkCmdSetRenderingAttachmentLocationsKHR glad_vkCmdSetRenderingAttachmentLocationsKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo * pLocationInfo) { + _pre_call_vulkan_callback("vkCmdSetRenderingAttachmentLocationsKHR", (GLADapiproc) glad_vkCmdSetRenderingAttachmentLocationsKHR, 2, commandBuffer, pLocationInfo); + glad_vkCmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetRenderingAttachmentLocationsKHR", (GLADapiproc) glad_vkCmdSetRenderingAttachmentLocationsKHR, 2, commandBuffer, pLocationInfo); + +} +PFN_vkCmdSetRenderingAttachmentLocationsKHR glad_debug_vkCmdSetRenderingAttachmentLocationsKHR = glad_debug_impl_vkCmdSetRenderingAttachmentLocationsKHR; +PFN_vkCmdSetRenderingInputAttachmentIndices glad_vkCmdSetRenderingInputAttachmentIndices = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRenderingInputAttachmentIndices(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) { + _pre_call_vulkan_callback("vkCmdSetRenderingInputAttachmentIndices", (GLADapiproc) glad_vkCmdSetRenderingInputAttachmentIndices, 2, commandBuffer, pInputAttachmentIndexInfo); + glad_vkCmdSetRenderingInputAttachmentIndices(commandBuffer, pInputAttachmentIndexInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetRenderingInputAttachmentIndices", (GLADapiproc) glad_vkCmdSetRenderingInputAttachmentIndices, 2, commandBuffer, pInputAttachmentIndexInfo); + +} +PFN_vkCmdSetRenderingInputAttachmentIndices glad_debug_vkCmdSetRenderingInputAttachmentIndices = glad_debug_impl_vkCmdSetRenderingInputAttachmentIndices; +PFN_vkCmdSetRenderingInputAttachmentIndicesKHR glad_vkCmdSetRenderingInputAttachmentIndicesKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) { + _pre_call_vulkan_callback("vkCmdSetRenderingInputAttachmentIndicesKHR", (GLADapiproc) glad_vkCmdSetRenderingInputAttachmentIndicesKHR, 2, commandBuffer, pInputAttachmentIndexInfo); + glad_vkCmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pInputAttachmentIndexInfo); + _post_call_vulkan_callback(NULL, "vkCmdSetRenderingInputAttachmentIndicesKHR", (GLADapiproc) glad_vkCmdSetRenderingInputAttachmentIndicesKHR, 2, commandBuffer, pInputAttachmentIndexInfo); + +} +PFN_vkCmdSetRenderingInputAttachmentIndicesKHR glad_debug_vkCmdSetRenderingInputAttachmentIndicesKHR = glad_debug_impl_vkCmdSetRenderingInputAttachmentIndicesKHR; +PFN_vkCmdSetRepresentativeFragmentTestEnableNV glad_vkCmdSetRepresentativeFragmentTestEnableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) { + _pre_call_vulkan_callback("vkCmdSetRepresentativeFragmentTestEnableNV", (GLADapiproc) glad_vkCmdSetRepresentativeFragmentTestEnableNV, 2, commandBuffer, representativeFragmentTestEnable); + glad_vkCmdSetRepresentativeFragmentTestEnableNV(commandBuffer, representativeFragmentTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetRepresentativeFragmentTestEnableNV", (GLADapiproc) glad_vkCmdSetRepresentativeFragmentTestEnableNV, 2, commandBuffer, representativeFragmentTestEnable); + +} +PFN_vkCmdSetRepresentativeFragmentTestEnableNV glad_debug_vkCmdSetRepresentativeFragmentTestEnableNV = glad_debug_impl_vkCmdSetRepresentativeFragmentTestEnableNV; +PFN_vkCmdSetSampleLocationsEnableEXT glad_vkCmdSetSampleLocationsEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) { + _pre_call_vulkan_callback("vkCmdSetSampleLocationsEnableEXT", (GLADapiproc) glad_vkCmdSetSampleLocationsEnableEXT, 2, commandBuffer, sampleLocationsEnable); + glad_vkCmdSetSampleLocationsEnableEXT(commandBuffer, sampleLocationsEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetSampleLocationsEnableEXT", (GLADapiproc) glad_vkCmdSetSampleLocationsEnableEXT, 2, commandBuffer, sampleLocationsEnable); + +} +PFN_vkCmdSetSampleLocationsEnableEXT glad_debug_vkCmdSetSampleLocationsEnableEXT = glad_debug_impl_vkCmdSetSampleLocationsEnableEXT; +PFN_vkCmdSetSampleMaskEXT glad_vkCmdSetSampleMaskEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask) { + _pre_call_vulkan_callback("vkCmdSetSampleMaskEXT", (GLADapiproc) glad_vkCmdSetSampleMaskEXT, 3, commandBuffer, samples, pSampleMask); + glad_vkCmdSetSampleMaskEXT(commandBuffer, samples, pSampleMask); + _post_call_vulkan_callback(NULL, "vkCmdSetSampleMaskEXT", (GLADapiproc) glad_vkCmdSetSampleMaskEXT, 3, commandBuffer, samples, pSampleMask); + +} +PFN_vkCmdSetSampleMaskEXT glad_debug_vkCmdSetSampleMaskEXT = glad_debug_impl_vkCmdSetSampleMaskEXT; +PFN_vkCmdSetScissor glad_vkCmdSetScissor = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors) { + _pre_call_vulkan_callback("vkCmdSetScissor", (GLADapiproc) glad_vkCmdSetScissor, 4, commandBuffer, firstScissor, scissorCount, pScissors); + glad_vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors); + _post_call_vulkan_callback(NULL, "vkCmdSetScissor", (GLADapiproc) glad_vkCmdSetScissor, 4, commandBuffer, firstScissor, scissorCount, pScissors); + +} +PFN_vkCmdSetScissor glad_debug_vkCmdSetScissor = glad_debug_impl_vkCmdSetScissor; +PFN_vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetScissorWithCount(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors) { + _pre_call_vulkan_callback("vkCmdSetScissorWithCount", (GLADapiproc) glad_vkCmdSetScissorWithCount, 3, commandBuffer, scissorCount, pScissors); + glad_vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors); + _post_call_vulkan_callback(NULL, "vkCmdSetScissorWithCount", (GLADapiproc) glad_vkCmdSetScissorWithCount, 3, commandBuffer, scissorCount, pScissors); + +} +PFN_vkCmdSetScissorWithCount glad_debug_vkCmdSetScissorWithCount = glad_debug_impl_vkCmdSetScissorWithCount; +PFN_vkCmdSetScissorWithCountEXT glad_vkCmdSetScissorWithCountEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors) { + _pre_call_vulkan_callback("vkCmdSetScissorWithCountEXT", (GLADapiproc) glad_vkCmdSetScissorWithCountEXT, 3, commandBuffer, scissorCount, pScissors); + glad_vkCmdSetScissorWithCountEXT(commandBuffer, scissorCount, pScissors); + _post_call_vulkan_callback(NULL, "vkCmdSetScissorWithCountEXT", (GLADapiproc) glad_vkCmdSetScissorWithCountEXT, 3, commandBuffer, scissorCount, pScissors); + +} +PFN_vkCmdSetScissorWithCountEXT glad_debug_vkCmdSetScissorWithCountEXT = glad_debug_impl_vkCmdSetScissorWithCountEXT; +PFN_vkCmdSetShadingRateImageEnableNV glad_vkCmdSetShadingRateImageEnableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) { + _pre_call_vulkan_callback("vkCmdSetShadingRateImageEnableNV", (GLADapiproc) glad_vkCmdSetShadingRateImageEnableNV, 2, commandBuffer, shadingRateImageEnable); + glad_vkCmdSetShadingRateImageEnableNV(commandBuffer, shadingRateImageEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetShadingRateImageEnableNV", (GLADapiproc) glad_vkCmdSetShadingRateImageEnableNV, 2, commandBuffer, shadingRateImageEnable); + +} +PFN_vkCmdSetShadingRateImageEnableNV glad_debug_vkCmdSetShadingRateImageEnableNV = glad_debug_impl_vkCmdSetShadingRateImageEnableNV; +PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) { + _pre_call_vulkan_callback("vkCmdSetStencilCompareMask", (GLADapiproc) glad_vkCmdSetStencilCompareMask, 3, commandBuffer, faceMask, compareMask); + glad_vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilCompareMask", (GLADapiproc) glad_vkCmdSetStencilCompareMask, 3, commandBuffer, faceMask, compareMask); + +} +PFN_vkCmdSetStencilCompareMask glad_debug_vkCmdSetStencilCompareMask = glad_debug_impl_vkCmdSetStencilCompareMask; +PFN_vkCmdSetStencilOp glad_vkCmdSetStencilOp = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilOp(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) { + _pre_call_vulkan_callback("vkCmdSetStencilOp", (GLADapiproc) glad_vkCmdSetStencilOp, 6, commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + glad_vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilOp", (GLADapiproc) glad_vkCmdSetStencilOp, 6, commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + +} +PFN_vkCmdSetStencilOp glad_debug_vkCmdSetStencilOp = glad_debug_impl_vkCmdSetStencilOp; +PFN_vkCmdSetStencilOpEXT glad_vkCmdSetStencilOpEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) { + _pre_call_vulkan_callback("vkCmdSetStencilOpEXT", (GLADapiproc) glad_vkCmdSetStencilOpEXT, 6, commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + glad_vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilOpEXT", (GLADapiproc) glad_vkCmdSetStencilOpEXT, 6, commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); + +} +PFN_vkCmdSetStencilOpEXT glad_debug_vkCmdSetStencilOpEXT = glad_debug_impl_vkCmdSetStencilOpEXT; +PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) { + _pre_call_vulkan_callback("vkCmdSetStencilReference", (GLADapiproc) glad_vkCmdSetStencilReference, 3, commandBuffer, faceMask, reference); + glad_vkCmdSetStencilReference(commandBuffer, faceMask, reference); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilReference", (GLADapiproc) glad_vkCmdSetStencilReference, 3, commandBuffer, faceMask, reference); + +} +PFN_vkCmdSetStencilReference glad_debug_vkCmdSetStencilReference = glad_debug_impl_vkCmdSetStencilReference; +PFN_vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilTestEnable(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) { + _pre_call_vulkan_callback("vkCmdSetStencilTestEnable", (GLADapiproc) glad_vkCmdSetStencilTestEnable, 2, commandBuffer, stencilTestEnable); + glad_vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilTestEnable", (GLADapiproc) glad_vkCmdSetStencilTestEnable, 2, commandBuffer, stencilTestEnable); + +} +PFN_vkCmdSetStencilTestEnable glad_debug_vkCmdSetStencilTestEnable = glad_debug_impl_vkCmdSetStencilTestEnable; +PFN_vkCmdSetStencilTestEnableEXT glad_vkCmdSetStencilTestEnableEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) { + _pre_call_vulkan_callback("vkCmdSetStencilTestEnableEXT", (GLADapiproc) glad_vkCmdSetStencilTestEnableEXT, 2, commandBuffer, stencilTestEnable); + glad_vkCmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilTestEnableEXT", (GLADapiproc) glad_vkCmdSetStencilTestEnableEXT, 2, commandBuffer, stencilTestEnable); + +} +PFN_vkCmdSetStencilTestEnableEXT glad_debug_vkCmdSetStencilTestEnableEXT = glad_debug_impl_vkCmdSetStencilTestEnableEXT; +PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) { + _pre_call_vulkan_callback("vkCmdSetStencilWriteMask", (GLADapiproc) glad_vkCmdSetStencilWriteMask, 3, commandBuffer, faceMask, writeMask); + glad_vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask); + _post_call_vulkan_callback(NULL, "vkCmdSetStencilWriteMask", (GLADapiproc) glad_vkCmdSetStencilWriteMask, 3, commandBuffer, faceMask, writeMask); + +} +PFN_vkCmdSetStencilWriteMask glad_debug_vkCmdSetStencilWriteMask = glad_debug_impl_vkCmdSetStencilWriteMask; +PFN_vkCmdSetTessellationDomainOriginEXT glad_vkCmdSetTessellationDomainOriginEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) { + _pre_call_vulkan_callback("vkCmdSetTessellationDomainOriginEXT", (GLADapiproc) glad_vkCmdSetTessellationDomainOriginEXT, 2, commandBuffer, domainOrigin); + glad_vkCmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin); + _post_call_vulkan_callback(NULL, "vkCmdSetTessellationDomainOriginEXT", (GLADapiproc) glad_vkCmdSetTessellationDomainOriginEXT, 2, commandBuffer, domainOrigin); + +} +PFN_vkCmdSetTessellationDomainOriginEXT glad_debug_vkCmdSetTessellationDomainOriginEXT = glad_debug_impl_vkCmdSetTessellationDomainOriginEXT; +PFN_vkCmdSetVertexInputEXT glad_vkCmdSetVertexInputEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) { + _pre_call_vulkan_callback("vkCmdSetVertexInputEXT", (GLADapiproc) glad_vkCmdSetVertexInputEXT, 5, commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions); + glad_vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions); + _post_call_vulkan_callback(NULL, "vkCmdSetVertexInputEXT", (GLADapiproc) glad_vkCmdSetVertexInputEXT, 5, commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions); + +} +PFN_vkCmdSetVertexInputEXT glad_debug_vkCmdSetVertexInputEXT = glad_debug_impl_vkCmdSetVertexInputEXT; +PFN_vkCmdSetViewport glad_vkCmdSetViewport = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports) { + _pre_call_vulkan_callback("vkCmdSetViewport", (GLADapiproc) glad_vkCmdSetViewport, 4, commandBuffer, firstViewport, viewportCount, pViewports); + glad_vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports); + _post_call_vulkan_callback(NULL, "vkCmdSetViewport", (GLADapiproc) glad_vkCmdSetViewport, 4, commandBuffer, firstViewport, viewportCount, pViewports); + +} +PFN_vkCmdSetViewport glad_debug_vkCmdSetViewport = glad_debug_impl_vkCmdSetViewport; +PFN_vkCmdSetViewportSwizzleNV glad_vkCmdSetViewportSwizzleNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV * pViewportSwizzles) { + _pre_call_vulkan_callback("vkCmdSetViewportSwizzleNV", (GLADapiproc) glad_vkCmdSetViewportSwizzleNV, 4, commandBuffer, firstViewport, viewportCount, pViewportSwizzles); + glad_vkCmdSetViewportSwizzleNV(commandBuffer, firstViewport, viewportCount, pViewportSwizzles); + _post_call_vulkan_callback(NULL, "vkCmdSetViewportSwizzleNV", (GLADapiproc) glad_vkCmdSetViewportSwizzleNV, 4, commandBuffer, firstViewport, viewportCount, pViewportSwizzles); + +} +PFN_vkCmdSetViewportSwizzleNV glad_debug_vkCmdSetViewportSwizzleNV = glad_debug_impl_vkCmdSetViewportSwizzleNV; +PFN_vkCmdSetViewportWScalingEnableNV glad_vkCmdSetViewportWScalingEnableNV = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) { + _pre_call_vulkan_callback("vkCmdSetViewportWScalingEnableNV", (GLADapiproc) glad_vkCmdSetViewportWScalingEnableNV, 2, commandBuffer, viewportWScalingEnable); + glad_vkCmdSetViewportWScalingEnableNV(commandBuffer, viewportWScalingEnable); + _post_call_vulkan_callback(NULL, "vkCmdSetViewportWScalingEnableNV", (GLADapiproc) glad_vkCmdSetViewportWScalingEnableNV, 2, commandBuffer, viewportWScalingEnable); + +} +PFN_vkCmdSetViewportWScalingEnableNV glad_debug_vkCmdSetViewportWScalingEnableNV = glad_debug_impl_vkCmdSetViewportWScalingEnableNV; +PFN_vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports) { + _pre_call_vulkan_callback("vkCmdSetViewportWithCount", (GLADapiproc) glad_vkCmdSetViewportWithCount, 3, commandBuffer, viewportCount, pViewports); + glad_vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports); + _post_call_vulkan_callback(NULL, "vkCmdSetViewportWithCount", (GLADapiproc) glad_vkCmdSetViewportWithCount, 3, commandBuffer, viewportCount, pViewports); + +} +PFN_vkCmdSetViewportWithCount glad_debug_vkCmdSetViewportWithCount = glad_debug_impl_vkCmdSetViewportWithCount; +PFN_vkCmdSetViewportWithCountEXT glad_vkCmdSetViewportWithCountEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports) { + _pre_call_vulkan_callback("vkCmdSetViewportWithCountEXT", (GLADapiproc) glad_vkCmdSetViewportWithCountEXT, 3, commandBuffer, viewportCount, pViewports); + glad_vkCmdSetViewportWithCountEXT(commandBuffer, viewportCount, pViewports); + _post_call_vulkan_callback(NULL, "vkCmdSetViewportWithCountEXT", (GLADapiproc) glad_vkCmdSetViewportWithCountEXT, 3, commandBuffer, viewportCount, pViewports); + +} +PFN_vkCmdSetViewportWithCountEXT glad_debug_vkCmdSetViewportWithCountEXT = glad_debug_impl_vkCmdSetViewportWithCountEXT; +PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData) { + _pre_call_vulkan_callback("vkCmdUpdateBuffer", (GLADapiproc) glad_vkCmdUpdateBuffer, 5, commandBuffer, dstBuffer, dstOffset, dataSize, pData); + glad_vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData); + _post_call_vulkan_callback(NULL, "vkCmdUpdateBuffer", (GLADapiproc) glad_vkCmdUpdateBuffer, 5, commandBuffer, dstBuffer, dstOffset, dataSize, pData); + +} +PFN_vkCmdUpdateBuffer glad_debug_vkCmdUpdateBuffer = glad_debug_impl_vkCmdUpdateBuffer; +PFN_vkCmdWaitEvents glad_vkCmdWaitEvents = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers) { + _pre_call_vulkan_callback("vkCmdWaitEvents", (GLADapiproc) glad_vkCmdWaitEvents, 11, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + glad_vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + _post_call_vulkan_callback(NULL, "vkCmdWaitEvents", (GLADapiproc) glad_vkCmdWaitEvents, 11, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + +} +PFN_vkCmdWaitEvents glad_debug_vkCmdWaitEvents = glad_debug_impl_vkCmdWaitEvents; +PFN_vkCmdWaitEvents2 glad_vkCmdWaitEvents2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWaitEvents2(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos) { + _pre_call_vulkan_callback("vkCmdWaitEvents2", (GLADapiproc) glad_vkCmdWaitEvents2, 4, commandBuffer, eventCount, pEvents, pDependencyInfos); + glad_vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos); + _post_call_vulkan_callback(NULL, "vkCmdWaitEvents2", (GLADapiproc) glad_vkCmdWaitEvents2, 4, commandBuffer, eventCount, pEvents, pDependencyInfos); + +} +PFN_vkCmdWaitEvents2 glad_debug_vkCmdWaitEvents2 = glad_debug_impl_vkCmdWaitEvents2; +PFN_vkCmdWaitEvents2KHR glad_vkCmdWaitEvents2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos) { + _pre_call_vulkan_callback("vkCmdWaitEvents2KHR", (GLADapiproc) glad_vkCmdWaitEvents2KHR, 4, commandBuffer, eventCount, pEvents, pDependencyInfos); + glad_vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos); + _post_call_vulkan_callback(NULL, "vkCmdWaitEvents2KHR", (GLADapiproc) glad_vkCmdWaitEvents2KHR, 4, commandBuffer, eventCount, pEvents, pDependencyInfos); + +} +PFN_vkCmdWaitEvents2KHR glad_debug_vkCmdWaitEvents2KHR = glad_debug_impl_vkCmdWaitEvents2KHR; +PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) { + _pre_call_vulkan_callback("vkCmdWriteTimestamp", (GLADapiproc) glad_vkCmdWriteTimestamp, 4, commandBuffer, pipelineStage, queryPool, query); + glad_vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query); + _post_call_vulkan_callback(NULL, "vkCmdWriteTimestamp", (GLADapiproc) glad_vkCmdWriteTimestamp, 4, commandBuffer, pipelineStage, queryPool, query); + +} +PFN_vkCmdWriteTimestamp glad_debug_vkCmdWriteTimestamp = glad_debug_impl_vkCmdWriteTimestamp; +PFN_vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) { + _pre_call_vulkan_callback("vkCmdWriteTimestamp2", (GLADapiproc) glad_vkCmdWriteTimestamp2, 4, commandBuffer, stage, queryPool, query); + glad_vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query); + _post_call_vulkan_callback(NULL, "vkCmdWriteTimestamp2", (GLADapiproc) glad_vkCmdWriteTimestamp2, 4, commandBuffer, stage, queryPool, query); + +} +PFN_vkCmdWriteTimestamp2 glad_debug_vkCmdWriteTimestamp2 = glad_debug_impl_vkCmdWriteTimestamp2; +PFN_vkCmdWriteTimestamp2KHR glad_vkCmdWriteTimestamp2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) { + _pre_call_vulkan_callback("vkCmdWriteTimestamp2KHR", (GLADapiproc) glad_vkCmdWriteTimestamp2KHR, 4, commandBuffer, stage, queryPool, query); + glad_vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query); + _post_call_vulkan_callback(NULL, "vkCmdWriteTimestamp2KHR", (GLADapiproc) glad_vkCmdWriteTimestamp2KHR, 4, commandBuffer, stage, queryPool, query); + +} +PFN_vkCmdWriteTimestamp2KHR glad_debug_vkCmdWriteTimestamp2KHR = glad_debug_impl_vkCmdWriteTimestamp2KHR; +PFN_vkCopyImageToImage glad_vkCopyImageToImage = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyImageToImage(VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyImageToImage", (GLADapiproc) glad_vkCopyImageToImage, 2, device, pCopyImageToImageInfo); + ret = glad_vkCopyImageToImage(device, pCopyImageToImageInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyImageToImage", (GLADapiproc) glad_vkCopyImageToImage, 2, device, pCopyImageToImageInfo); + return ret; +} +PFN_vkCopyImageToImage glad_debug_vkCopyImageToImage = glad_debug_impl_vkCopyImageToImage; +PFN_vkCopyImageToImageEXT glad_vkCopyImageToImageEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyImageToImageEXT(VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyImageToImageEXT", (GLADapiproc) glad_vkCopyImageToImageEXT, 2, device, pCopyImageToImageInfo); + ret = glad_vkCopyImageToImageEXT(device, pCopyImageToImageInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyImageToImageEXT", (GLADapiproc) glad_vkCopyImageToImageEXT, 2, device, pCopyImageToImageInfo); + return ret; +} +PFN_vkCopyImageToImageEXT glad_debug_vkCopyImageToImageEXT = glad_debug_impl_vkCopyImageToImageEXT; +PFN_vkCopyImageToMemory glad_vkCopyImageToMemory = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyImageToMemory(VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyImageToMemory", (GLADapiproc) glad_vkCopyImageToMemory, 2, device, pCopyImageToMemoryInfo); + ret = glad_vkCopyImageToMemory(device, pCopyImageToMemoryInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyImageToMemory", (GLADapiproc) glad_vkCopyImageToMemory, 2, device, pCopyImageToMemoryInfo); + return ret; +} +PFN_vkCopyImageToMemory glad_debug_vkCopyImageToMemory = glad_debug_impl_vkCopyImageToMemory; +PFN_vkCopyImageToMemoryEXT glad_vkCopyImageToMemoryEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyImageToMemoryEXT(VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyImageToMemoryEXT", (GLADapiproc) glad_vkCopyImageToMemoryEXT, 2, device, pCopyImageToMemoryInfo); + ret = glad_vkCopyImageToMemoryEXT(device, pCopyImageToMemoryInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyImageToMemoryEXT", (GLADapiproc) glad_vkCopyImageToMemoryEXT, 2, device, pCopyImageToMemoryInfo); + return ret; +} +PFN_vkCopyImageToMemoryEXT glad_debug_vkCopyImageToMemoryEXT = glad_debug_impl_vkCopyImageToMemoryEXT; +PFN_vkCopyMemoryToImage glad_vkCopyMemoryToImage = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyMemoryToImage(VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyMemoryToImage", (GLADapiproc) glad_vkCopyMemoryToImage, 2, device, pCopyMemoryToImageInfo); + ret = glad_vkCopyMemoryToImage(device, pCopyMemoryToImageInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyMemoryToImage", (GLADapiproc) glad_vkCopyMemoryToImage, 2, device, pCopyMemoryToImageInfo); + return ret; +} +PFN_vkCopyMemoryToImage glad_debug_vkCopyMemoryToImage = glad_debug_impl_vkCopyMemoryToImage; +PFN_vkCopyMemoryToImageEXT glad_vkCopyMemoryToImageEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCopyMemoryToImageEXT(VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkCopyMemoryToImageEXT", (GLADapiproc) glad_vkCopyMemoryToImageEXT, 2, device, pCopyMemoryToImageInfo); + ret = glad_vkCopyMemoryToImageEXT(device, pCopyMemoryToImageInfo); + _post_call_vulkan_callback((void*) &ret, "vkCopyMemoryToImageEXT", (GLADapiproc) glad_vkCopyMemoryToImageEXT, 2, device, pCopyMemoryToImageInfo); + return ret; +} +PFN_vkCopyMemoryToImageEXT glad_debug_vkCopyMemoryToImageEXT = glad_debug_impl_vkCopyMemoryToImageEXT; +PFN_vkCreateBuffer glad_vkCreateBuffer = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateBuffer(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateBuffer", (GLADapiproc) glad_vkCreateBuffer, 4, device, pCreateInfo, pAllocator, pBuffer); + ret = glad_vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer); + _post_call_vulkan_callback((void*) &ret, "vkCreateBuffer", (GLADapiproc) glad_vkCreateBuffer, 4, device, pCreateInfo, pAllocator, pBuffer); + return ret; +} +PFN_vkCreateBuffer glad_debug_vkCreateBuffer = glad_debug_impl_vkCreateBuffer; +PFN_vkCreateBufferView glad_vkCreateBufferView = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateBufferView", (GLADapiproc) glad_vkCreateBufferView, 4, device, pCreateInfo, pAllocator, pView); + ret = glad_vkCreateBufferView(device, pCreateInfo, pAllocator, pView); + _post_call_vulkan_callback((void*) &ret, "vkCreateBufferView", (GLADapiproc) glad_vkCreateBufferView, 4, device, pCreateInfo, pAllocator, pView); + return ret; +} +PFN_vkCreateBufferView glad_debug_vkCreateBufferView = glad_debug_impl_vkCreateBufferView; +PFN_vkCreateCommandPool glad_vkCreateCommandPool = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateCommandPool", (GLADapiproc) glad_vkCreateCommandPool, 4, device, pCreateInfo, pAllocator, pCommandPool); + ret = glad_vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool); + _post_call_vulkan_callback((void*) &ret, "vkCreateCommandPool", (GLADapiproc) glad_vkCreateCommandPool, 4, device, pCreateInfo, pAllocator, pCommandPool); + return ret; +} +PFN_vkCreateCommandPool glad_debug_vkCreateCommandPool = glad_debug_impl_vkCreateCommandPool; +PFN_vkCreateComputePipelines glad_vkCreateComputePipelines = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateComputePipelines", (GLADapiproc) glad_vkCreateComputePipelines, 6, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + ret = glad_vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + _post_call_vulkan_callback((void*) &ret, "vkCreateComputePipelines", (GLADapiproc) glad_vkCreateComputePipelines, 6, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + return ret; +} +PFN_vkCreateComputePipelines glad_debug_vkCreateComputePipelines = glad_debug_impl_vkCreateComputePipelines; +PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateDescriptorPool", (GLADapiproc) glad_vkCreateDescriptorPool, 4, device, pCreateInfo, pAllocator, pDescriptorPool); + ret = glad_vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool); + _post_call_vulkan_callback((void*) &ret, "vkCreateDescriptorPool", (GLADapiproc) glad_vkCreateDescriptorPool, 4, device, pCreateInfo, pAllocator, pDescriptorPool); + return ret; +} +PFN_vkCreateDescriptorPool glad_debug_vkCreateDescriptorPool = glad_debug_impl_vkCreateDescriptorPool; +PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateDescriptorSetLayout", (GLADapiproc) glad_vkCreateDescriptorSetLayout, 4, device, pCreateInfo, pAllocator, pSetLayout); + ret = glad_vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout); + _post_call_vulkan_callback((void*) &ret, "vkCreateDescriptorSetLayout", (GLADapiproc) glad_vkCreateDescriptorSetLayout, 4, device, pCreateInfo, pAllocator, pSetLayout); + return ret; +} +PFN_vkCreateDescriptorSetLayout glad_debug_vkCreateDescriptorSetLayout = glad_debug_impl_vkCreateDescriptorSetLayout; +PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateDescriptorUpdateTemplate", (GLADapiproc) glad_vkCreateDescriptorUpdateTemplate, 4, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + ret = glad_vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + _post_call_vulkan_callback((void*) &ret, "vkCreateDescriptorUpdateTemplate", (GLADapiproc) glad_vkCreateDescriptorUpdateTemplate, 4, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + return ret; +} +PFN_vkCreateDescriptorUpdateTemplate glad_debug_vkCreateDescriptorUpdateTemplate = glad_debug_impl_vkCreateDescriptorUpdateTemplate; +PFN_vkCreateDescriptorUpdateTemplateKHR glad_vkCreateDescriptorUpdateTemplateKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateDescriptorUpdateTemplateKHR", (GLADapiproc) glad_vkCreateDescriptorUpdateTemplateKHR, 4, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + ret = glad_vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + _post_call_vulkan_callback((void*) &ret, "vkCreateDescriptorUpdateTemplateKHR", (GLADapiproc) glad_vkCreateDescriptorUpdateTemplateKHR, 4, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + return ret; +} +PFN_vkCreateDescriptorUpdateTemplateKHR glad_debug_vkCreateDescriptorUpdateTemplateKHR = glad_debug_impl_vkCreateDescriptorUpdateTemplateKHR; +PFN_vkCreateDevice glad_vkCreateDevice = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateDevice", (GLADapiproc) glad_vkCreateDevice, 4, physicalDevice, pCreateInfo, pAllocator, pDevice); + ret = glad_vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice); + _post_call_vulkan_callback((void*) &ret, "vkCreateDevice", (GLADapiproc) glad_vkCreateDevice, 4, physicalDevice, pCreateInfo, pAllocator, pDevice); + return ret; +} +PFN_vkCreateDevice glad_debug_vkCreateDevice = glad_debug_impl_vkCreateDevice; +PFN_vkCreateEvent glad_vkCreateEvent = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateEvent(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateEvent", (GLADapiproc) glad_vkCreateEvent, 4, device, pCreateInfo, pAllocator, pEvent); + ret = glad_vkCreateEvent(device, pCreateInfo, pAllocator, pEvent); + _post_call_vulkan_callback((void*) &ret, "vkCreateEvent", (GLADapiproc) glad_vkCreateEvent, 4, device, pCreateInfo, pAllocator, pEvent); + return ret; +} +PFN_vkCreateEvent glad_debug_vkCreateEvent = glad_debug_impl_vkCreateEvent; +PFN_vkCreateFence glad_vkCreateFence = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateFence(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateFence", (GLADapiproc) glad_vkCreateFence, 4, device, pCreateInfo, pAllocator, pFence); + ret = glad_vkCreateFence(device, pCreateInfo, pAllocator, pFence); + _post_call_vulkan_callback((void*) &ret, "vkCreateFence", (GLADapiproc) glad_vkCreateFence, 4, device, pCreateInfo, pAllocator, pFence); + return ret; +} +PFN_vkCreateFence glad_debug_vkCreateFence = glad_debug_impl_vkCreateFence; +PFN_vkCreateFramebuffer glad_vkCreateFramebuffer = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateFramebuffer", (GLADapiproc) glad_vkCreateFramebuffer, 4, device, pCreateInfo, pAllocator, pFramebuffer); + ret = glad_vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer); + _post_call_vulkan_callback((void*) &ret, "vkCreateFramebuffer", (GLADapiproc) glad_vkCreateFramebuffer, 4, device, pCreateInfo, pAllocator, pFramebuffer); + return ret; +} +PFN_vkCreateFramebuffer glad_debug_vkCreateFramebuffer = glad_debug_impl_vkCreateFramebuffer; +PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateGraphicsPipelines", (GLADapiproc) glad_vkCreateGraphicsPipelines, 6, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + ret = glad_vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + _post_call_vulkan_callback((void*) &ret, "vkCreateGraphicsPipelines", (GLADapiproc) glad_vkCreateGraphicsPipelines, 6, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + return ret; +} +PFN_vkCreateGraphicsPipelines glad_debug_vkCreateGraphicsPipelines = glad_debug_impl_vkCreateGraphicsPipelines; +PFN_vkCreateImage glad_vkCreateImage = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateImage(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateImage", (GLADapiproc) glad_vkCreateImage, 4, device, pCreateInfo, pAllocator, pImage); + ret = glad_vkCreateImage(device, pCreateInfo, pAllocator, pImage); + _post_call_vulkan_callback((void*) &ret, "vkCreateImage", (GLADapiproc) glad_vkCreateImage, 4, device, pCreateInfo, pAllocator, pImage); + return ret; +} +PFN_vkCreateImage glad_debug_vkCreateImage = glad_debug_impl_vkCreateImage; +PFN_vkCreateImageView glad_vkCreateImageView = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateImageView(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateImageView", (GLADapiproc) glad_vkCreateImageView, 4, device, pCreateInfo, pAllocator, pView); + ret = glad_vkCreateImageView(device, pCreateInfo, pAllocator, pView); + _post_call_vulkan_callback((void*) &ret, "vkCreateImageView", (GLADapiproc) glad_vkCreateImageView, 4, device, pCreateInfo, pAllocator, pView); + return ret; +} +PFN_vkCreateImageView glad_debug_vkCreateImageView = glad_debug_impl_vkCreateImageView; +PFN_vkCreateInstance glad_vkCreateInstance = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateInstance", (GLADapiproc) glad_vkCreateInstance, 3, pCreateInfo, pAllocator, pInstance); + ret = glad_vkCreateInstance(pCreateInfo, pAllocator, pInstance); + _post_call_vulkan_callback((void*) &ret, "vkCreateInstance", (GLADapiproc) glad_vkCreateInstance, 3, pCreateInfo, pAllocator, pInstance); + return ret; +} +PFN_vkCreateInstance glad_debug_vkCreateInstance = glad_debug_impl_vkCreateInstance; +PFN_vkCreatePipelineCache glad_vkCreatePipelineCache = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache) { + VkResult ret; + _pre_call_vulkan_callback("vkCreatePipelineCache", (GLADapiproc) glad_vkCreatePipelineCache, 4, device, pCreateInfo, pAllocator, pPipelineCache); + ret = glad_vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache); + _post_call_vulkan_callback((void*) &ret, "vkCreatePipelineCache", (GLADapiproc) glad_vkCreatePipelineCache, 4, device, pCreateInfo, pAllocator, pPipelineCache); + return ret; +} +PFN_vkCreatePipelineCache glad_debug_vkCreatePipelineCache = glad_debug_impl_vkCreatePipelineCache; +PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout) { + VkResult ret; + _pre_call_vulkan_callback("vkCreatePipelineLayout", (GLADapiproc) glad_vkCreatePipelineLayout, 4, device, pCreateInfo, pAllocator, pPipelineLayout); + ret = glad_vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout); + _post_call_vulkan_callback((void*) &ret, "vkCreatePipelineLayout", (GLADapiproc) glad_vkCreatePipelineLayout, 4, device, pCreateInfo, pAllocator, pPipelineLayout); + return ret; +} +PFN_vkCreatePipelineLayout glad_debug_vkCreatePipelineLayout = glad_debug_impl_vkCreatePipelineLayout; +PFN_vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreatePrivateDataSlot(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot) { + VkResult ret; + _pre_call_vulkan_callback("vkCreatePrivateDataSlot", (GLADapiproc) glad_vkCreatePrivateDataSlot, 4, device, pCreateInfo, pAllocator, pPrivateDataSlot); + ret = glad_vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot); + _post_call_vulkan_callback((void*) &ret, "vkCreatePrivateDataSlot", (GLADapiproc) glad_vkCreatePrivateDataSlot, 4, device, pCreateInfo, pAllocator, pPrivateDataSlot); + return ret; +} +PFN_vkCreatePrivateDataSlot glad_debug_vkCreatePrivateDataSlot = glad_debug_impl_vkCreatePrivateDataSlot; +PFN_vkCreatePrivateDataSlotEXT glad_vkCreatePrivateDataSlotEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot) { + VkResult ret; + _pre_call_vulkan_callback("vkCreatePrivateDataSlotEXT", (GLADapiproc) glad_vkCreatePrivateDataSlotEXT, 4, device, pCreateInfo, pAllocator, pPrivateDataSlot); + ret = glad_vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot); + _post_call_vulkan_callback((void*) &ret, "vkCreatePrivateDataSlotEXT", (GLADapiproc) glad_vkCreatePrivateDataSlotEXT, 4, device, pCreateInfo, pAllocator, pPrivateDataSlot); + return ret; +} +PFN_vkCreatePrivateDataSlotEXT glad_debug_vkCreatePrivateDataSlotEXT = glad_debug_impl_vkCreatePrivateDataSlotEXT; +PFN_vkCreateQueryPool glad_vkCreateQueryPool = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateQueryPool", (GLADapiproc) glad_vkCreateQueryPool, 4, device, pCreateInfo, pAllocator, pQueryPool); + ret = glad_vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool); + _post_call_vulkan_callback((void*) &ret, "vkCreateQueryPool", (GLADapiproc) glad_vkCreateQueryPool, 4, device, pCreateInfo, pAllocator, pQueryPool); + return ret; +} +PFN_vkCreateQueryPool glad_debug_vkCreateQueryPool = glad_debug_impl_vkCreateQueryPool; +PFN_vkCreateRenderPass glad_vkCreateRenderPass = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateRenderPass", (GLADapiproc) glad_vkCreateRenderPass, 4, device, pCreateInfo, pAllocator, pRenderPass); + ret = glad_vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass); + _post_call_vulkan_callback((void*) &ret, "vkCreateRenderPass", (GLADapiproc) glad_vkCreateRenderPass, 4, device, pCreateInfo, pAllocator, pRenderPass); + return ret; +} +PFN_vkCreateRenderPass glad_debug_vkCreateRenderPass = glad_debug_impl_vkCreateRenderPass; +PFN_vkCreateRenderPass2 glad_vkCreateRenderPass2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateRenderPass2", (GLADapiproc) glad_vkCreateRenderPass2, 4, device, pCreateInfo, pAllocator, pRenderPass); + ret = glad_vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass); + _post_call_vulkan_callback((void*) &ret, "vkCreateRenderPass2", (GLADapiproc) glad_vkCreateRenderPass2, 4, device, pCreateInfo, pAllocator, pRenderPass); + return ret; +} +PFN_vkCreateRenderPass2 glad_debug_vkCreateRenderPass2 = glad_debug_impl_vkCreateRenderPass2; +PFN_vkCreateRenderPass2KHR glad_vkCreateRenderPass2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateRenderPass2KHR(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateRenderPass2KHR", (GLADapiproc) glad_vkCreateRenderPass2KHR, 4, device, pCreateInfo, pAllocator, pRenderPass); + ret = glad_vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass); + _post_call_vulkan_callback((void*) &ret, "vkCreateRenderPass2KHR", (GLADapiproc) glad_vkCreateRenderPass2KHR, 4, device, pCreateInfo, pAllocator, pRenderPass); + return ret; +} +PFN_vkCreateRenderPass2KHR glad_debug_vkCreateRenderPass2KHR = glad_debug_impl_vkCreateRenderPass2KHR; +PFN_vkCreateSampler glad_vkCreateSampler = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateSampler(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateSampler", (GLADapiproc) glad_vkCreateSampler, 4, device, pCreateInfo, pAllocator, pSampler); + ret = glad_vkCreateSampler(device, pCreateInfo, pAllocator, pSampler); + _post_call_vulkan_callback((void*) &ret, "vkCreateSampler", (GLADapiproc) glad_vkCreateSampler, 4, device, pCreateInfo, pAllocator, pSampler); + return ret; +} +PFN_vkCreateSampler glad_debug_vkCreateSampler = glad_debug_impl_vkCreateSampler; +PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateSamplerYcbcrConversion", (GLADapiproc) glad_vkCreateSamplerYcbcrConversion, 4, device, pCreateInfo, pAllocator, pYcbcrConversion); + ret = glad_vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion); + _post_call_vulkan_callback((void*) &ret, "vkCreateSamplerYcbcrConversion", (GLADapiproc) glad_vkCreateSamplerYcbcrConversion, 4, device, pCreateInfo, pAllocator, pYcbcrConversion); + return ret; +} +PFN_vkCreateSamplerYcbcrConversion glad_debug_vkCreateSamplerYcbcrConversion = glad_debug_impl_vkCreateSamplerYcbcrConversion; +PFN_vkCreateSamplerYcbcrConversionKHR glad_vkCreateSamplerYcbcrConversionKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateSamplerYcbcrConversionKHR", (GLADapiproc) glad_vkCreateSamplerYcbcrConversionKHR, 4, device, pCreateInfo, pAllocator, pYcbcrConversion); + ret = glad_vkCreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator, pYcbcrConversion); + _post_call_vulkan_callback((void*) &ret, "vkCreateSamplerYcbcrConversionKHR", (GLADapiproc) glad_vkCreateSamplerYcbcrConversionKHR, 4, device, pCreateInfo, pAllocator, pYcbcrConversion); + return ret; +} +PFN_vkCreateSamplerYcbcrConversionKHR glad_debug_vkCreateSamplerYcbcrConversionKHR = glad_debug_impl_vkCreateSamplerYcbcrConversionKHR; +PFN_vkCreateSemaphore glad_vkCreateSemaphore = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateSemaphore", (GLADapiproc) glad_vkCreateSemaphore, 4, device, pCreateInfo, pAllocator, pSemaphore); + ret = glad_vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore); + _post_call_vulkan_callback((void*) &ret, "vkCreateSemaphore", (GLADapiproc) glad_vkCreateSemaphore, 4, device, pCreateInfo, pAllocator, pSemaphore); + return ret; +} +PFN_vkCreateSemaphore glad_debug_vkCreateSemaphore = glad_debug_impl_vkCreateSemaphore; +PFN_vkCreateShaderModule glad_vkCreateShaderModule = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateShaderModule", (GLADapiproc) glad_vkCreateShaderModule, 4, device, pCreateInfo, pAllocator, pShaderModule); + ret = glad_vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule); + _post_call_vulkan_callback((void*) &ret, "vkCreateShaderModule", (GLADapiproc) glad_vkCreateShaderModule, 4, device, pCreateInfo, pAllocator, pShaderModule); + return ret; +} +PFN_vkCreateShaderModule glad_debug_vkCreateShaderModule = glad_debug_impl_vkCreateShaderModule; +PFN_vkCreateShadersEXT glad_vkCreateShadersEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkCreateShadersEXT(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkShaderEXT * pShaders) { + VkResult ret; + _pre_call_vulkan_callback("vkCreateShadersEXT", (GLADapiproc) glad_vkCreateShadersEXT, 5, device, createInfoCount, pCreateInfos, pAllocator, pShaders); + ret = glad_vkCreateShadersEXT(device, createInfoCount, pCreateInfos, pAllocator, pShaders); + _post_call_vulkan_callback((void*) &ret, "vkCreateShadersEXT", (GLADapiproc) glad_vkCreateShadersEXT, 5, device, createInfoCount, pCreateInfos, pAllocator, pShaders); + return ret; +} +PFN_vkCreateShadersEXT glad_debug_vkCreateShadersEXT = glad_debug_impl_vkCreateShadersEXT; +PFN_vkDestroyBuffer glad_vkDestroyBuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyBuffer", (GLADapiproc) glad_vkDestroyBuffer, 3, device, buffer, pAllocator); + glad_vkDestroyBuffer(device, buffer, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyBuffer", (GLADapiproc) glad_vkDestroyBuffer, 3, device, buffer, pAllocator); + +} +PFN_vkDestroyBuffer glad_debug_vkDestroyBuffer = glad_debug_impl_vkDestroyBuffer; +PFN_vkDestroyBufferView glad_vkDestroyBufferView = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyBufferView", (GLADapiproc) glad_vkDestroyBufferView, 3, device, bufferView, pAllocator); + glad_vkDestroyBufferView(device, bufferView, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyBufferView", (GLADapiproc) glad_vkDestroyBufferView, 3, device, bufferView, pAllocator); + +} +PFN_vkDestroyBufferView glad_debug_vkDestroyBufferView = glad_debug_impl_vkDestroyBufferView; +PFN_vkDestroyCommandPool glad_vkDestroyCommandPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyCommandPool", (GLADapiproc) glad_vkDestroyCommandPool, 3, device, commandPool, pAllocator); + glad_vkDestroyCommandPool(device, commandPool, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyCommandPool", (GLADapiproc) glad_vkDestroyCommandPool, 3, device, commandPool, pAllocator); + +} +PFN_vkDestroyCommandPool glad_debug_vkDestroyCommandPool = glad_debug_impl_vkDestroyCommandPool; +PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyDescriptorPool", (GLADapiproc) glad_vkDestroyDescriptorPool, 3, device, descriptorPool, pAllocator); + glad_vkDestroyDescriptorPool(device, descriptorPool, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyDescriptorPool", (GLADapiproc) glad_vkDestroyDescriptorPool, 3, device, descriptorPool, pAllocator); + +} +PFN_vkDestroyDescriptorPool glad_debug_vkDestroyDescriptorPool = glad_debug_impl_vkDestroyDescriptorPool; +PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyDescriptorSetLayout", (GLADapiproc) glad_vkDestroyDescriptorSetLayout, 3, device, descriptorSetLayout, pAllocator); + glad_vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyDescriptorSetLayout", (GLADapiproc) glad_vkDestroyDescriptorSetLayout, 3, device, descriptorSetLayout, pAllocator); + +} +PFN_vkDestroyDescriptorSetLayout glad_debug_vkDestroyDescriptorSetLayout = glad_debug_impl_vkDestroyDescriptorSetLayout; +PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyDescriptorUpdateTemplate", (GLADapiproc) glad_vkDestroyDescriptorUpdateTemplate, 3, device, descriptorUpdateTemplate, pAllocator); + glad_vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyDescriptorUpdateTemplate", (GLADapiproc) glad_vkDestroyDescriptorUpdateTemplate, 3, device, descriptorUpdateTemplate, pAllocator); + +} +PFN_vkDestroyDescriptorUpdateTemplate glad_debug_vkDestroyDescriptorUpdateTemplate = glad_debug_impl_vkDestroyDescriptorUpdateTemplate; +PFN_vkDestroyDescriptorUpdateTemplateKHR glad_vkDestroyDescriptorUpdateTemplateKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyDescriptorUpdateTemplateKHR", (GLADapiproc) glad_vkDestroyDescriptorUpdateTemplateKHR, 3, device, descriptorUpdateTemplate, pAllocator); + glad_vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyDescriptorUpdateTemplateKHR", (GLADapiproc) glad_vkDestroyDescriptorUpdateTemplateKHR, 3, device, descriptorUpdateTemplate, pAllocator); + +} +PFN_vkDestroyDescriptorUpdateTemplateKHR glad_debug_vkDestroyDescriptorUpdateTemplateKHR = glad_debug_impl_vkDestroyDescriptorUpdateTemplateKHR; +PFN_vkDestroyDevice glad_vkDestroyDevice = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyDevice", (GLADapiproc) glad_vkDestroyDevice, 2, device, pAllocator); + glad_vkDestroyDevice(device, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyDevice", (GLADapiproc) glad_vkDestroyDevice, 2, device, pAllocator); + +} +PFN_vkDestroyDevice glad_debug_vkDestroyDevice = glad_debug_impl_vkDestroyDevice; +PFN_vkDestroyEvent glad_vkDestroyEvent = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyEvent", (GLADapiproc) glad_vkDestroyEvent, 3, device, event, pAllocator); + glad_vkDestroyEvent(device, event, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyEvent", (GLADapiproc) glad_vkDestroyEvent, 3, device, event, pAllocator); + +} +PFN_vkDestroyEvent glad_debug_vkDestroyEvent = glad_debug_impl_vkDestroyEvent; +PFN_vkDestroyFence glad_vkDestroyFence = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyFence", (GLADapiproc) glad_vkDestroyFence, 3, device, fence, pAllocator); + glad_vkDestroyFence(device, fence, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyFence", (GLADapiproc) glad_vkDestroyFence, 3, device, fence, pAllocator); + +} +PFN_vkDestroyFence glad_debug_vkDestroyFence = glad_debug_impl_vkDestroyFence; +PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyFramebuffer", (GLADapiproc) glad_vkDestroyFramebuffer, 3, device, framebuffer, pAllocator); + glad_vkDestroyFramebuffer(device, framebuffer, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyFramebuffer", (GLADapiproc) glad_vkDestroyFramebuffer, 3, device, framebuffer, pAllocator); + +} +PFN_vkDestroyFramebuffer glad_debug_vkDestroyFramebuffer = glad_debug_impl_vkDestroyFramebuffer; +PFN_vkDestroyImage glad_vkDestroyImage = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyImage", (GLADapiproc) glad_vkDestroyImage, 3, device, image, pAllocator); + glad_vkDestroyImage(device, image, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyImage", (GLADapiproc) glad_vkDestroyImage, 3, device, image, pAllocator); + +} +PFN_vkDestroyImage glad_debug_vkDestroyImage = glad_debug_impl_vkDestroyImage; +PFN_vkDestroyImageView glad_vkDestroyImageView = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyImageView", (GLADapiproc) glad_vkDestroyImageView, 3, device, imageView, pAllocator); + glad_vkDestroyImageView(device, imageView, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyImageView", (GLADapiproc) glad_vkDestroyImageView, 3, device, imageView, pAllocator); + +} +PFN_vkDestroyImageView glad_debug_vkDestroyImageView = glad_debug_impl_vkDestroyImageView; +PFN_vkDestroyInstance glad_vkDestroyInstance = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyInstance", (GLADapiproc) glad_vkDestroyInstance, 2, instance, pAllocator); + glad_vkDestroyInstance(instance, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyInstance", (GLADapiproc) glad_vkDestroyInstance, 2, instance, pAllocator); + +} +PFN_vkDestroyInstance glad_debug_vkDestroyInstance = glad_debug_impl_vkDestroyInstance; +PFN_vkDestroyPipeline glad_vkDestroyPipeline = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyPipeline", (GLADapiproc) glad_vkDestroyPipeline, 3, device, pipeline, pAllocator); + glad_vkDestroyPipeline(device, pipeline, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyPipeline", (GLADapiproc) glad_vkDestroyPipeline, 3, device, pipeline, pAllocator); + +} +PFN_vkDestroyPipeline glad_debug_vkDestroyPipeline = glad_debug_impl_vkDestroyPipeline; +PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyPipelineCache", (GLADapiproc) glad_vkDestroyPipelineCache, 3, device, pipelineCache, pAllocator); + glad_vkDestroyPipelineCache(device, pipelineCache, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyPipelineCache", (GLADapiproc) glad_vkDestroyPipelineCache, 3, device, pipelineCache, pAllocator); + +} +PFN_vkDestroyPipelineCache glad_debug_vkDestroyPipelineCache = glad_debug_impl_vkDestroyPipelineCache; +PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyPipelineLayout", (GLADapiproc) glad_vkDestroyPipelineLayout, 3, device, pipelineLayout, pAllocator); + glad_vkDestroyPipelineLayout(device, pipelineLayout, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyPipelineLayout", (GLADapiproc) glad_vkDestroyPipelineLayout, 3, device, pipelineLayout, pAllocator); + +} +PFN_vkDestroyPipelineLayout glad_debug_vkDestroyPipelineLayout = glad_debug_impl_vkDestroyPipelineLayout; +PFN_vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyPrivateDataSlot(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyPrivateDataSlot", (GLADapiproc) glad_vkDestroyPrivateDataSlot, 3, device, privateDataSlot, pAllocator); + glad_vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyPrivateDataSlot", (GLADapiproc) glad_vkDestroyPrivateDataSlot, 3, device, privateDataSlot, pAllocator); + +} +PFN_vkDestroyPrivateDataSlot glad_debug_vkDestroyPrivateDataSlot = glad_debug_impl_vkDestroyPrivateDataSlot; +PFN_vkDestroyPrivateDataSlotEXT glad_vkDestroyPrivateDataSlotEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyPrivateDataSlotEXT", (GLADapiproc) glad_vkDestroyPrivateDataSlotEXT, 3, device, privateDataSlot, pAllocator); + glad_vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyPrivateDataSlotEXT", (GLADapiproc) glad_vkDestroyPrivateDataSlotEXT, 3, device, privateDataSlot, pAllocator); + +} +PFN_vkDestroyPrivateDataSlotEXT glad_debug_vkDestroyPrivateDataSlotEXT = glad_debug_impl_vkDestroyPrivateDataSlotEXT; +PFN_vkDestroyQueryPool glad_vkDestroyQueryPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyQueryPool", (GLADapiproc) glad_vkDestroyQueryPool, 3, device, queryPool, pAllocator); + glad_vkDestroyQueryPool(device, queryPool, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyQueryPool", (GLADapiproc) glad_vkDestroyQueryPool, 3, device, queryPool, pAllocator); + +} +PFN_vkDestroyQueryPool glad_debug_vkDestroyQueryPool = glad_debug_impl_vkDestroyQueryPool; +PFN_vkDestroyRenderPass glad_vkDestroyRenderPass = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyRenderPass", (GLADapiproc) glad_vkDestroyRenderPass, 3, device, renderPass, pAllocator); + glad_vkDestroyRenderPass(device, renderPass, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyRenderPass", (GLADapiproc) glad_vkDestroyRenderPass, 3, device, renderPass, pAllocator); + +} +PFN_vkDestroyRenderPass glad_debug_vkDestroyRenderPass = glad_debug_impl_vkDestroyRenderPass; +PFN_vkDestroySampler glad_vkDestroySampler = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroySampler", (GLADapiproc) glad_vkDestroySampler, 3, device, sampler, pAllocator); + glad_vkDestroySampler(device, sampler, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroySampler", (GLADapiproc) glad_vkDestroySampler, 3, device, sampler, pAllocator); + +} +PFN_vkDestroySampler glad_debug_vkDestroySampler = glad_debug_impl_vkDestroySampler; +PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroySamplerYcbcrConversion", (GLADapiproc) glad_vkDestroySamplerYcbcrConversion, 3, device, ycbcrConversion, pAllocator); + glad_vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroySamplerYcbcrConversion", (GLADapiproc) glad_vkDestroySamplerYcbcrConversion, 3, device, ycbcrConversion, pAllocator); + +} +PFN_vkDestroySamplerYcbcrConversion glad_debug_vkDestroySamplerYcbcrConversion = glad_debug_impl_vkDestroySamplerYcbcrConversion; +PFN_vkDestroySamplerYcbcrConversionKHR glad_vkDestroySamplerYcbcrConversionKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroySamplerYcbcrConversionKHR", (GLADapiproc) glad_vkDestroySamplerYcbcrConversionKHR, 3, device, ycbcrConversion, pAllocator); + glad_vkDestroySamplerYcbcrConversionKHR(device, ycbcrConversion, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroySamplerYcbcrConversionKHR", (GLADapiproc) glad_vkDestroySamplerYcbcrConversionKHR, 3, device, ycbcrConversion, pAllocator); + +} +PFN_vkDestroySamplerYcbcrConversionKHR glad_debug_vkDestroySamplerYcbcrConversionKHR = glad_debug_impl_vkDestroySamplerYcbcrConversionKHR; +PFN_vkDestroySemaphore glad_vkDestroySemaphore = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroySemaphore", (GLADapiproc) glad_vkDestroySemaphore, 3, device, semaphore, pAllocator); + glad_vkDestroySemaphore(device, semaphore, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroySemaphore", (GLADapiproc) glad_vkDestroySemaphore, 3, device, semaphore, pAllocator); + +} +PFN_vkDestroySemaphore glad_debug_vkDestroySemaphore = glad_debug_impl_vkDestroySemaphore; +PFN_vkDestroyShaderEXT glad_vkDestroyShaderEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyShaderEXT(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyShaderEXT", (GLADapiproc) glad_vkDestroyShaderEXT, 3, device, shader, pAllocator); + glad_vkDestroyShaderEXT(device, shader, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyShaderEXT", (GLADapiproc) glad_vkDestroyShaderEXT, 3, device, shader, pAllocator); + +} +PFN_vkDestroyShaderEXT glad_debug_vkDestroyShaderEXT = glad_debug_impl_vkDestroyShaderEXT; +PFN_vkDestroyShaderModule glad_vkDestroyShaderModule = NULL; +static void GLAD_API_PTR glad_debug_impl_vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkDestroyShaderModule", (GLADapiproc) glad_vkDestroyShaderModule, 3, device, shaderModule, pAllocator); + glad_vkDestroyShaderModule(device, shaderModule, pAllocator); + _post_call_vulkan_callback(NULL, "vkDestroyShaderModule", (GLADapiproc) glad_vkDestroyShaderModule, 3, device, shaderModule, pAllocator); + +} +PFN_vkDestroyShaderModule glad_debug_vkDestroyShaderModule = glad_debug_impl_vkDestroyShaderModule; +PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkDeviceWaitIdle(VkDevice device) { + VkResult ret; + _pre_call_vulkan_callback("vkDeviceWaitIdle", (GLADapiproc) glad_vkDeviceWaitIdle, 1, device); + ret = glad_vkDeviceWaitIdle(device); + _post_call_vulkan_callback((void*) &ret, "vkDeviceWaitIdle", (GLADapiproc) glad_vkDeviceWaitIdle, 1, device); + return ret; +} +PFN_vkDeviceWaitIdle glad_debug_vkDeviceWaitIdle = glad_debug_impl_vkDeviceWaitIdle; +PFN_vkEndCommandBuffer glad_vkEndCommandBuffer = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEndCommandBuffer(VkCommandBuffer commandBuffer) { + VkResult ret; + _pre_call_vulkan_callback("vkEndCommandBuffer", (GLADapiproc) glad_vkEndCommandBuffer, 1, commandBuffer); + ret = glad_vkEndCommandBuffer(commandBuffer); + _post_call_vulkan_callback((void*) &ret, "vkEndCommandBuffer", (GLADapiproc) glad_vkEndCommandBuffer, 1, commandBuffer); + return ret; +} +PFN_vkEndCommandBuffer glad_debug_vkEndCommandBuffer = glad_debug_impl_vkEndCommandBuffer; +PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumerateDeviceExtensionProperties", (GLADapiproc) glad_vkEnumerateDeviceExtensionProperties, 4, physicalDevice, pLayerName, pPropertyCount, pProperties); + ret = glad_vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumerateDeviceExtensionProperties", (GLADapiproc) glad_vkEnumerateDeviceExtensionProperties, 4, physicalDevice, pLayerName, pPropertyCount, pProperties); + return ret; +} +PFN_vkEnumerateDeviceExtensionProperties glad_debug_vkEnumerateDeviceExtensionProperties = glad_debug_impl_vkEnumerateDeviceExtensionProperties; +PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumerateDeviceLayerProperties", (GLADapiproc) glad_vkEnumerateDeviceLayerProperties, 3, physicalDevice, pPropertyCount, pProperties); + ret = glad_vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumerateDeviceLayerProperties", (GLADapiproc) glad_vkEnumerateDeviceLayerProperties, 3, physicalDevice, pPropertyCount, pProperties); + return ret; +} +PFN_vkEnumerateDeviceLayerProperties glad_debug_vkEnumerateDeviceLayerProperties = glad_debug_impl_vkEnumerateDeviceLayerProperties; +PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumerateInstanceExtensionProperties(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumerateInstanceExtensionProperties", (GLADapiproc) glad_vkEnumerateInstanceExtensionProperties, 3, pLayerName, pPropertyCount, pProperties); + ret = glad_vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumerateInstanceExtensionProperties", (GLADapiproc) glad_vkEnumerateInstanceExtensionProperties, 3, pLayerName, pPropertyCount, pProperties); + return ret; +} +PFN_vkEnumerateInstanceExtensionProperties glad_debug_vkEnumerateInstanceExtensionProperties = glad_debug_impl_vkEnumerateInstanceExtensionProperties; +PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount, VkLayerProperties * pProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumerateInstanceLayerProperties", (GLADapiproc) glad_vkEnumerateInstanceLayerProperties, 2, pPropertyCount, pProperties); + ret = glad_vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumerateInstanceLayerProperties", (GLADapiproc) glad_vkEnumerateInstanceLayerProperties, 2, pPropertyCount, pProperties); + return ret; +} +PFN_vkEnumerateInstanceLayerProperties glad_debug_vkEnumerateInstanceLayerProperties = glad_debug_impl_vkEnumerateInstanceLayerProperties; +PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumerateInstanceVersion(uint32_t * pApiVersion) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumerateInstanceVersion", (GLADapiproc) glad_vkEnumerateInstanceVersion, 1, pApiVersion); + ret = glad_vkEnumerateInstanceVersion(pApiVersion); + _post_call_vulkan_callback((void*) &ret, "vkEnumerateInstanceVersion", (GLADapiproc) glad_vkEnumerateInstanceVersion, 1, pApiVersion); + return ret; +} +PFN_vkEnumerateInstanceVersion glad_debug_vkEnumerateInstanceVersion = glad_debug_impl_vkEnumerateInstanceVersion; +PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumeratePhysicalDeviceGroups", (GLADapiproc) glad_vkEnumeratePhysicalDeviceGroups, 3, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + ret = glad_vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumeratePhysicalDeviceGroups", (GLADapiproc) glad_vkEnumeratePhysicalDeviceGroups, 3, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + return ret; +} +PFN_vkEnumeratePhysicalDeviceGroups glad_debug_vkEnumeratePhysicalDeviceGroups = glad_debug_impl_vkEnumeratePhysicalDeviceGroups; +PFN_vkEnumeratePhysicalDeviceGroupsKHR glad_vkEnumeratePhysicalDeviceGroupsKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumeratePhysicalDeviceGroupsKHR", (GLADapiproc) glad_vkEnumeratePhysicalDeviceGroupsKHR, 3, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + ret = glad_vkEnumeratePhysicalDeviceGroupsKHR(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + _post_call_vulkan_callback((void*) &ret, "vkEnumeratePhysicalDeviceGroupsKHR", (GLADapiproc) glad_vkEnumeratePhysicalDeviceGroupsKHR, 3, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + return ret; +} +PFN_vkEnumeratePhysicalDeviceGroupsKHR glad_debug_vkEnumeratePhysicalDeviceGroupsKHR = glad_debug_impl_vkEnumeratePhysicalDeviceGroupsKHR; +PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices) { + VkResult ret; + _pre_call_vulkan_callback("vkEnumeratePhysicalDevices", (GLADapiproc) glad_vkEnumeratePhysicalDevices, 3, instance, pPhysicalDeviceCount, pPhysicalDevices); + ret = glad_vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices); + _post_call_vulkan_callback((void*) &ret, "vkEnumeratePhysicalDevices", (GLADapiproc) glad_vkEnumeratePhysicalDevices, 3, instance, pPhysicalDeviceCount, pPhysicalDevices); + return ret; +} +PFN_vkEnumeratePhysicalDevices glad_debug_vkEnumeratePhysicalDevices = glad_debug_impl_vkEnumeratePhysicalDevices; +PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges) { + VkResult ret; + _pre_call_vulkan_callback("vkFlushMappedMemoryRanges", (GLADapiproc) glad_vkFlushMappedMemoryRanges, 3, device, memoryRangeCount, pMemoryRanges); + ret = glad_vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges); + _post_call_vulkan_callback((void*) &ret, "vkFlushMappedMemoryRanges", (GLADapiproc) glad_vkFlushMappedMemoryRanges, 3, device, memoryRangeCount, pMemoryRanges); + return ret; +} +PFN_vkFlushMappedMemoryRanges glad_debug_vkFlushMappedMemoryRanges = glad_debug_impl_vkFlushMappedMemoryRanges; +PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers = NULL; +static void GLAD_API_PTR glad_debug_impl_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers) { + _pre_call_vulkan_callback("vkFreeCommandBuffers", (GLADapiproc) glad_vkFreeCommandBuffers, 4, device, commandPool, commandBufferCount, pCommandBuffers); + glad_vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers); + _post_call_vulkan_callback(NULL, "vkFreeCommandBuffers", (GLADapiproc) glad_vkFreeCommandBuffers, 4, device, commandPool, commandBufferCount, pCommandBuffers); + +} +PFN_vkFreeCommandBuffers glad_debug_vkFreeCommandBuffers = glad_debug_impl_vkFreeCommandBuffers; +PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets) { + VkResult ret; + _pre_call_vulkan_callback("vkFreeDescriptorSets", (GLADapiproc) glad_vkFreeDescriptorSets, 4, device, descriptorPool, descriptorSetCount, pDescriptorSets); + ret = glad_vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets); + _post_call_vulkan_callback((void*) &ret, "vkFreeDescriptorSets", (GLADapiproc) glad_vkFreeDescriptorSets, 4, device, descriptorPool, descriptorSetCount, pDescriptorSets); + return ret; +} +PFN_vkFreeDescriptorSets glad_debug_vkFreeDescriptorSets = glad_debug_impl_vkFreeDescriptorSets; +PFN_vkFreeMemory glad_vkFreeMemory = NULL; +static void GLAD_API_PTR glad_debug_impl_vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator) { + _pre_call_vulkan_callback("vkFreeMemory", (GLADapiproc) glad_vkFreeMemory, 3, device, memory, pAllocator); + glad_vkFreeMemory(device, memory, pAllocator); + _post_call_vulkan_callback(NULL, "vkFreeMemory", (GLADapiproc) glad_vkFreeMemory, 3, device, memory, pAllocator); + +} +PFN_vkFreeMemory glad_debug_vkFreeMemory = glad_debug_impl_vkFreeMemory; +PFN_vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress = NULL; +static VkDeviceAddress GLAD_API_PTR glad_debug_impl_vkGetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo * pInfo) { + VkDeviceAddress ret; + _pre_call_vulkan_callback("vkGetBufferDeviceAddress", (GLADapiproc) glad_vkGetBufferDeviceAddress, 2, device, pInfo); + ret = glad_vkGetBufferDeviceAddress(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetBufferDeviceAddress", (GLADapiproc) glad_vkGetBufferDeviceAddress, 2, device, pInfo); + return ret; +} +PFN_vkGetBufferDeviceAddress glad_debug_vkGetBufferDeviceAddress = glad_debug_impl_vkGetBufferDeviceAddress; +PFN_vkGetBufferDeviceAddressEXT glad_vkGetBufferDeviceAddressEXT = NULL; +static VkDeviceAddress GLAD_API_PTR glad_debug_impl_vkGetBufferDeviceAddressEXT(VkDevice device, const VkBufferDeviceAddressInfo * pInfo) { + VkDeviceAddress ret; + _pre_call_vulkan_callback("vkGetBufferDeviceAddressEXT", (GLADapiproc) glad_vkGetBufferDeviceAddressEXT, 2, device, pInfo); + ret = glad_vkGetBufferDeviceAddressEXT(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetBufferDeviceAddressEXT", (GLADapiproc) glad_vkGetBufferDeviceAddressEXT, 2, device, pInfo); + return ret; +} +PFN_vkGetBufferDeviceAddressEXT glad_debug_vkGetBufferDeviceAddressEXT = glad_debug_impl_vkGetBufferDeviceAddressEXT; +PFN_vkGetBufferDeviceAddressKHR glad_vkGetBufferDeviceAddressKHR = NULL; +static VkDeviceAddress GLAD_API_PTR glad_debug_impl_vkGetBufferDeviceAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo * pInfo) { + VkDeviceAddress ret; + _pre_call_vulkan_callback("vkGetBufferDeviceAddressKHR", (GLADapiproc) glad_vkGetBufferDeviceAddressKHR, 2, device, pInfo); + ret = glad_vkGetBufferDeviceAddressKHR(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetBufferDeviceAddressKHR", (GLADapiproc) glad_vkGetBufferDeviceAddressKHR, 2, device, pInfo); + return ret; +} +PFN_vkGetBufferDeviceAddressKHR glad_debug_vkGetBufferDeviceAddressKHR = glad_debug_impl_vkGetBufferDeviceAddressKHR; +PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetBufferMemoryRequirements", (GLADapiproc) glad_vkGetBufferMemoryRequirements, 3, device, buffer, pMemoryRequirements); + glad_vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetBufferMemoryRequirements", (GLADapiproc) glad_vkGetBufferMemoryRequirements, 3, device, buffer, pMemoryRequirements); + +} +PFN_vkGetBufferMemoryRequirements glad_debug_vkGetBufferMemoryRequirements = glad_debug_impl_vkGetBufferMemoryRequirements; +PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetBufferMemoryRequirements2", (GLADapiproc) glad_vkGetBufferMemoryRequirements2, 3, device, pInfo, pMemoryRequirements); + glad_vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetBufferMemoryRequirements2", (GLADapiproc) glad_vkGetBufferMemoryRequirements2, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetBufferMemoryRequirements2 glad_debug_vkGetBufferMemoryRequirements2 = glad_debug_impl_vkGetBufferMemoryRequirements2; +PFN_vkGetBufferMemoryRequirements2KHR glad_vkGetBufferMemoryRequirements2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetBufferMemoryRequirements2KHR", (GLADapiproc) glad_vkGetBufferMemoryRequirements2KHR, 3, device, pInfo, pMemoryRequirements); + glad_vkGetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetBufferMemoryRequirements2KHR", (GLADapiproc) glad_vkGetBufferMemoryRequirements2KHR, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetBufferMemoryRequirements2KHR glad_debug_vkGetBufferMemoryRequirements2KHR = glad_debug_impl_vkGetBufferMemoryRequirements2KHR; +PFN_vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress = NULL; +static uint64_t GLAD_API_PTR glad_debug_impl_vkGetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo * pInfo) { + uint64_t ret; + _pre_call_vulkan_callback("vkGetBufferOpaqueCaptureAddress", (GLADapiproc) glad_vkGetBufferOpaqueCaptureAddress, 2, device, pInfo); + ret = glad_vkGetBufferOpaqueCaptureAddress(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetBufferOpaqueCaptureAddress", (GLADapiproc) glad_vkGetBufferOpaqueCaptureAddress, 2, device, pInfo); + return ret; +} +PFN_vkGetBufferOpaqueCaptureAddress glad_debug_vkGetBufferOpaqueCaptureAddress = glad_debug_impl_vkGetBufferOpaqueCaptureAddress; +PFN_vkGetBufferOpaqueCaptureAddressKHR glad_vkGetBufferOpaqueCaptureAddressKHR = NULL; +static uint64_t GLAD_API_PTR glad_debug_impl_vkGetBufferOpaqueCaptureAddressKHR(VkDevice device, const VkBufferDeviceAddressInfo * pInfo) { + uint64_t ret; + _pre_call_vulkan_callback("vkGetBufferOpaqueCaptureAddressKHR", (GLADapiproc) glad_vkGetBufferOpaqueCaptureAddressKHR, 2, device, pInfo); + ret = glad_vkGetBufferOpaqueCaptureAddressKHR(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetBufferOpaqueCaptureAddressKHR", (GLADapiproc) glad_vkGetBufferOpaqueCaptureAddressKHR, 2, device, pInfo); + return ret; +} +PFN_vkGetBufferOpaqueCaptureAddressKHR glad_debug_vkGetBufferOpaqueCaptureAddressKHR = glad_debug_impl_vkGetBufferOpaqueCaptureAddressKHR; +PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport) { + _pre_call_vulkan_callback("vkGetDescriptorSetLayoutSupport", (GLADapiproc) glad_vkGetDescriptorSetLayoutSupport, 3, device, pCreateInfo, pSupport); + glad_vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport); + _post_call_vulkan_callback(NULL, "vkGetDescriptorSetLayoutSupport", (GLADapiproc) glad_vkGetDescriptorSetLayoutSupport, 3, device, pCreateInfo, pSupport); + +} +PFN_vkGetDescriptorSetLayoutSupport glad_debug_vkGetDescriptorSetLayoutSupport = glad_debug_impl_vkGetDescriptorSetLayoutSupport; +PFN_vkGetDescriptorSetLayoutSupportKHR glad_vkGetDescriptorSetLayoutSupportKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport) { + _pre_call_vulkan_callback("vkGetDescriptorSetLayoutSupportKHR", (GLADapiproc) glad_vkGetDescriptorSetLayoutSupportKHR, 3, device, pCreateInfo, pSupport); + glad_vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport); + _post_call_vulkan_callback(NULL, "vkGetDescriptorSetLayoutSupportKHR", (GLADapiproc) glad_vkGetDescriptorSetLayoutSupportKHR, 3, device, pCreateInfo, pSupport); + +} +PFN_vkGetDescriptorSetLayoutSupportKHR glad_debug_vkGetDescriptorSetLayoutSupportKHR = glad_debug_impl_vkGetDescriptorSetLayoutSupportKHR; +PFN_vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceBufferMemoryRequirements(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceBufferMemoryRequirements", (GLADapiproc) glad_vkGetDeviceBufferMemoryRequirements, 3, device, pInfo, pMemoryRequirements); + glad_vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceBufferMemoryRequirements", (GLADapiproc) glad_vkGetDeviceBufferMemoryRequirements, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetDeviceBufferMemoryRequirements glad_debug_vkGetDeviceBufferMemoryRequirements = glad_debug_impl_vkGetDeviceBufferMemoryRequirements; +PFN_vkGetDeviceBufferMemoryRequirementsKHR glad_vkGetDeviceBufferMemoryRequirementsKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceBufferMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceBufferMemoryRequirementsKHR, 3, device, pInfo, pMemoryRequirements); + glad_vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceBufferMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceBufferMemoryRequirementsKHR, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetDeviceBufferMemoryRequirementsKHR glad_debug_vkGetDeviceBufferMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceBufferMemoryRequirementsKHR; +PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) { + _pre_call_vulkan_callback("vkGetDeviceGroupPeerMemoryFeatures", (GLADapiproc) glad_vkGetDeviceGroupPeerMemoryFeatures, 5, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + glad_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + _post_call_vulkan_callback(NULL, "vkGetDeviceGroupPeerMemoryFeatures", (GLADapiproc) glad_vkGetDeviceGroupPeerMemoryFeatures, 5, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + +} +PFN_vkGetDeviceGroupPeerMemoryFeatures glad_debug_vkGetDeviceGroupPeerMemoryFeatures = glad_debug_impl_vkGetDeviceGroupPeerMemoryFeatures; +PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR glad_vkGetDeviceGroupPeerMemoryFeaturesKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) { + _pre_call_vulkan_callback("vkGetDeviceGroupPeerMemoryFeaturesKHR", (GLADapiproc) glad_vkGetDeviceGroupPeerMemoryFeaturesKHR, 5, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + glad_vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + _post_call_vulkan_callback(NULL, "vkGetDeviceGroupPeerMemoryFeaturesKHR", (GLADapiproc) glad_vkGetDeviceGroupPeerMemoryFeaturesKHR, 5, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + +} +PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR glad_debug_vkGetDeviceGroupPeerMemoryFeaturesKHR = glad_debug_impl_vkGetDeviceGroupPeerMemoryFeaturesKHR; +PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) { + VkResult ret; + _pre_call_vulkan_callback("vkGetDeviceGroupPresentCapabilitiesKHR", (GLADapiproc) glad_vkGetDeviceGroupPresentCapabilitiesKHR, 2, device, pDeviceGroupPresentCapabilities); + ret = glad_vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities); + _post_call_vulkan_callback((void*) &ret, "vkGetDeviceGroupPresentCapabilitiesKHR", (GLADapiproc) glad_vkGetDeviceGroupPresentCapabilitiesKHR, 2, device, pDeviceGroupPresentCapabilities); + return ret; +} +PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_debug_vkGetDeviceGroupPresentCapabilitiesKHR = glad_debug_impl_vkGetDeviceGroupPresentCapabilitiesKHR; +PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes) { + VkResult ret; + _pre_call_vulkan_callback("vkGetDeviceGroupSurfacePresentModesKHR", (GLADapiproc) glad_vkGetDeviceGroupSurfacePresentModesKHR, 3, device, surface, pModes); + ret = glad_vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes); + _post_call_vulkan_callback((void*) &ret, "vkGetDeviceGroupSurfacePresentModesKHR", (GLADapiproc) glad_vkGetDeviceGroupSurfacePresentModesKHR, 3, device, surface, pModes); + return ret; +} +PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_debug_vkGetDeviceGroupSurfacePresentModesKHR = glad_debug_impl_vkGetDeviceGroupSurfacePresentModesKHR; +PFN_vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageMemoryRequirements(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceImageMemoryRequirements", (GLADapiproc) glad_vkGetDeviceImageMemoryRequirements, 3, device, pInfo, pMemoryRequirements); + glad_vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageMemoryRequirements", (GLADapiproc) glad_vkGetDeviceImageMemoryRequirements, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetDeviceImageMemoryRequirements glad_debug_vkGetDeviceImageMemoryRequirements = glad_debug_impl_vkGetDeviceImageMemoryRequirements; +PFN_vkGetDeviceImageMemoryRequirementsKHR glad_vkGetDeviceImageMemoryRequirementsKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceImageMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceImageMemoryRequirementsKHR, 3, device, pInfo, pMemoryRequirements); + glad_vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceImageMemoryRequirementsKHR, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetDeviceImageMemoryRequirementsKHR glad_debug_vkGetDeviceImageMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceImageMemoryRequirementsKHR; +PFN_vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageSparseMemoryRequirements(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceImageSparseMemoryRequirements", (GLADapiproc) glad_vkGetDeviceImageSparseMemoryRequirements, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + glad_vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageSparseMemoryRequirements", (GLADapiproc) glad_vkGetDeviceImageSparseMemoryRequirements, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + +} +PFN_vkGetDeviceImageSparseMemoryRequirements glad_debug_vkGetDeviceImageSparseMemoryRequirements = glad_debug_impl_vkGetDeviceImageSparseMemoryRequirements; +PFN_vkGetDeviceImageSparseMemoryRequirementsKHR glad_vkGetDeviceImageSparseMemoryRequirementsKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) { + _pre_call_vulkan_callback("vkGetDeviceImageSparseMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceImageSparseMemoryRequirementsKHR, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + glad_vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageSparseMemoryRequirementsKHR", (GLADapiproc) glad_vkGetDeviceImageSparseMemoryRequirementsKHR, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + +} +PFN_vkGetDeviceImageSparseMemoryRequirementsKHR glad_debug_vkGetDeviceImageSparseMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceImageSparseMemoryRequirementsKHR; +PFN_vkGetDeviceImageSubresourceLayout glad_vkGetDeviceImageSubresourceLayout = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageSubresourceLayout(VkDevice device, const VkDeviceImageSubresourceInfo * pInfo, VkSubresourceLayout2 * pLayout) { + _pre_call_vulkan_callback("vkGetDeviceImageSubresourceLayout", (GLADapiproc) glad_vkGetDeviceImageSubresourceLayout, 3, device, pInfo, pLayout); + glad_vkGetDeviceImageSubresourceLayout(device, pInfo, pLayout); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageSubresourceLayout", (GLADapiproc) glad_vkGetDeviceImageSubresourceLayout, 3, device, pInfo, pLayout); + +} +PFN_vkGetDeviceImageSubresourceLayout glad_debug_vkGetDeviceImageSubresourceLayout = glad_debug_impl_vkGetDeviceImageSubresourceLayout; +PFN_vkGetDeviceImageSubresourceLayoutKHR glad_vkGetDeviceImageSubresourceLayoutKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceImageSubresourceLayoutKHR(VkDevice device, const VkDeviceImageSubresourceInfo * pInfo, VkSubresourceLayout2 * pLayout) { + _pre_call_vulkan_callback("vkGetDeviceImageSubresourceLayoutKHR", (GLADapiproc) glad_vkGetDeviceImageSubresourceLayoutKHR, 3, device, pInfo, pLayout); + glad_vkGetDeviceImageSubresourceLayoutKHR(device, pInfo, pLayout); + _post_call_vulkan_callback(NULL, "vkGetDeviceImageSubresourceLayoutKHR", (GLADapiproc) glad_vkGetDeviceImageSubresourceLayoutKHR, 3, device, pInfo, pLayout); + +} +PFN_vkGetDeviceImageSubresourceLayoutKHR glad_debug_vkGetDeviceImageSubresourceLayoutKHR = glad_debug_impl_vkGetDeviceImageSubresourceLayoutKHR; +PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes) { + _pre_call_vulkan_callback("vkGetDeviceMemoryCommitment", (GLADapiproc) glad_vkGetDeviceMemoryCommitment, 3, device, memory, pCommittedMemoryInBytes); + glad_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes); + _post_call_vulkan_callback(NULL, "vkGetDeviceMemoryCommitment", (GLADapiproc) glad_vkGetDeviceMemoryCommitment, 3, device, memory, pCommittedMemoryInBytes); + +} +PFN_vkGetDeviceMemoryCommitment glad_debug_vkGetDeviceMemoryCommitment = glad_debug_impl_vkGetDeviceMemoryCommitment; +PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress = NULL; +static uint64_t GLAD_API_PTR glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) { + uint64_t ret; + _pre_call_vulkan_callback("vkGetDeviceMemoryOpaqueCaptureAddress", (GLADapiproc) glad_vkGetDeviceMemoryOpaqueCaptureAddress, 2, device, pInfo); + ret = glad_vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetDeviceMemoryOpaqueCaptureAddress", (GLADapiproc) glad_vkGetDeviceMemoryOpaqueCaptureAddress, 2, device, pInfo); + return ret; +} +PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_debug_vkGetDeviceMemoryOpaqueCaptureAddress = glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddress; +PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR = NULL; +static uint64_t GLAD_API_PTR glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) { + uint64_t ret; + _pre_call_vulkan_callback("vkGetDeviceMemoryOpaqueCaptureAddressKHR", (GLADapiproc) glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR, 2, device, pInfo); + ret = glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device, pInfo); + _post_call_vulkan_callback((void*) &ret, "vkGetDeviceMemoryOpaqueCaptureAddressKHR", (GLADapiproc) glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR, 2, device, pInfo); + return ret; +} +PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR glad_debug_vkGetDeviceMemoryOpaqueCaptureAddressKHR = glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddressKHR; +PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr = NULL; +static PFN_vkVoidFunction GLAD_API_PTR glad_debug_impl_vkGetDeviceProcAddr(VkDevice device, const char * pName) { + PFN_vkVoidFunction ret; + _pre_call_vulkan_callback("vkGetDeviceProcAddr", (GLADapiproc) glad_vkGetDeviceProcAddr, 2, device, pName); + ret = glad_vkGetDeviceProcAddr(device, pName); + _post_call_vulkan_callback((void*) &ret, "vkGetDeviceProcAddr", (GLADapiproc) glad_vkGetDeviceProcAddr, 2, device, pName); + return ret; +} +PFN_vkGetDeviceProcAddr glad_debug_vkGetDeviceProcAddr = glad_debug_impl_vkGetDeviceProcAddr; +PFN_vkGetDeviceQueue glad_vkGetDeviceQueue = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue) { + _pre_call_vulkan_callback("vkGetDeviceQueue", (GLADapiproc) glad_vkGetDeviceQueue, 4, device, queueFamilyIndex, queueIndex, pQueue); + glad_vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue); + _post_call_vulkan_callback(NULL, "vkGetDeviceQueue", (GLADapiproc) glad_vkGetDeviceQueue, 4, device, queueFamilyIndex, queueIndex, pQueue); + +} +PFN_vkGetDeviceQueue glad_debug_vkGetDeviceQueue = glad_debug_impl_vkGetDeviceQueue; +PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue) { + _pre_call_vulkan_callback("vkGetDeviceQueue2", (GLADapiproc) glad_vkGetDeviceQueue2, 3, device, pQueueInfo, pQueue); + glad_vkGetDeviceQueue2(device, pQueueInfo, pQueue); + _post_call_vulkan_callback(NULL, "vkGetDeviceQueue2", (GLADapiproc) glad_vkGetDeviceQueue2, 3, device, pQueueInfo, pQueue); + +} +PFN_vkGetDeviceQueue2 glad_debug_vkGetDeviceQueue2 = glad_debug_impl_vkGetDeviceQueue2; +PFN_vkGetEventStatus glad_vkGetEventStatus = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetEventStatus(VkDevice device, VkEvent event) { + VkResult ret; + _pre_call_vulkan_callback("vkGetEventStatus", (GLADapiproc) glad_vkGetEventStatus, 2, device, event); + ret = glad_vkGetEventStatus(device, event); + _post_call_vulkan_callback((void*) &ret, "vkGetEventStatus", (GLADapiproc) glad_vkGetEventStatus, 2, device, event); + return ret; +} +PFN_vkGetEventStatus glad_debug_vkGetEventStatus = glad_debug_impl_vkGetEventStatus; +PFN_vkGetFenceStatus glad_vkGetFenceStatus = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetFenceStatus(VkDevice device, VkFence fence) { + VkResult ret; + _pre_call_vulkan_callback("vkGetFenceStatus", (GLADapiproc) glad_vkGetFenceStatus, 2, device, fence); + ret = glad_vkGetFenceStatus(device, fence); + _post_call_vulkan_callback((void*) &ret, "vkGetFenceStatus", (GLADapiproc) glad_vkGetFenceStatus, 2, device, fence); + return ret; +} +PFN_vkGetFenceStatus glad_debug_vkGetFenceStatus = glad_debug_impl_vkGetFenceStatus; +PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageMemoryRequirements", (GLADapiproc) glad_vkGetImageMemoryRequirements, 3, device, image, pMemoryRequirements); + glad_vkGetImageMemoryRequirements(device, image, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageMemoryRequirements", (GLADapiproc) glad_vkGetImageMemoryRequirements, 3, device, image, pMemoryRequirements); + +} +PFN_vkGetImageMemoryRequirements glad_debug_vkGetImageMemoryRequirements = glad_debug_impl_vkGetImageMemoryRequirements; +PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageMemoryRequirements2", (GLADapiproc) glad_vkGetImageMemoryRequirements2, 3, device, pInfo, pMemoryRequirements); + glad_vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageMemoryRequirements2", (GLADapiproc) glad_vkGetImageMemoryRequirements2, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetImageMemoryRequirements2 glad_debug_vkGetImageMemoryRequirements2 = glad_debug_impl_vkGetImageMemoryRequirements2; +PFN_vkGetImageMemoryRequirements2KHR glad_vkGetImageMemoryRequirements2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageMemoryRequirements2KHR", (GLADapiproc) glad_vkGetImageMemoryRequirements2KHR, 3, device, pInfo, pMemoryRequirements); + glad_vkGetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageMemoryRequirements2KHR", (GLADapiproc) glad_vkGetImageMemoryRequirements2KHR, 3, device, pInfo, pMemoryRequirements); + +} +PFN_vkGetImageMemoryRequirements2KHR glad_debug_vkGetImageMemoryRequirements2KHR = glad_debug_impl_vkGetImageMemoryRequirements2KHR; +PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageSparseMemoryRequirements", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements, 4, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + glad_vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageSparseMemoryRequirements", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements, 4, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + +} +PFN_vkGetImageSparseMemoryRequirements glad_debug_vkGetImageSparseMemoryRequirements = glad_debug_impl_vkGetImageSparseMemoryRequirements; +PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageSparseMemoryRequirements2", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements2, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + glad_vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageSparseMemoryRequirements2", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements2, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + +} +PFN_vkGetImageSparseMemoryRequirements2 glad_debug_vkGetImageSparseMemoryRequirements2 = glad_debug_impl_vkGetImageSparseMemoryRequirements2; +PFN_vkGetImageSparseMemoryRequirements2KHR glad_vkGetImageSparseMemoryRequirements2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) { + _pre_call_vulkan_callback("vkGetImageSparseMemoryRequirements2KHR", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements2KHR, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + glad_vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + _post_call_vulkan_callback(NULL, "vkGetImageSparseMemoryRequirements2KHR", (GLADapiproc) glad_vkGetImageSparseMemoryRequirements2KHR, 4, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + +} +PFN_vkGetImageSparseMemoryRequirements2KHR glad_debug_vkGetImageSparseMemoryRequirements2KHR = glad_debug_impl_vkGetImageSparseMemoryRequirements2KHR; +PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout) { + _pre_call_vulkan_callback("vkGetImageSubresourceLayout", (GLADapiproc) glad_vkGetImageSubresourceLayout, 4, device, image, pSubresource, pLayout); + glad_vkGetImageSubresourceLayout(device, image, pSubresource, pLayout); + _post_call_vulkan_callback(NULL, "vkGetImageSubresourceLayout", (GLADapiproc) glad_vkGetImageSubresourceLayout, 4, device, image, pSubresource, pLayout); + +} +PFN_vkGetImageSubresourceLayout glad_debug_vkGetImageSubresourceLayout = glad_debug_impl_vkGetImageSubresourceLayout; +PFN_vkGetImageSubresourceLayout2 glad_vkGetImageSubresourceLayout2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSubresourceLayout2(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout) { + _pre_call_vulkan_callback("vkGetImageSubresourceLayout2", (GLADapiproc) glad_vkGetImageSubresourceLayout2, 4, device, image, pSubresource, pLayout); + glad_vkGetImageSubresourceLayout2(device, image, pSubresource, pLayout); + _post_call_vulkan_callback(NULL, "vkGetImageSubresourceLayout2", (GLADapiproc) glad_vkGetImageSubresourceLayout2, 4, device, image, pSubresource, pLayout); + +} +PFN_vkGetImageSubresourceLayout2 glad_debug_vkGetImageSubresourceLayout2 = glad_debug_impl_vkGetImageSubresourceLayout2; +PFN_vkGetImageSubresourceLayout2EXT glad_vkGetImageSubresourceLayout2EXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSubresourceLayout2EXT(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout) { + _pre_call_vulkan_callback("vkGetImageSubresourceLayout2EXT", (GLADapiproc) glad_vkGetImageSubresourceLayout2EXT, 4, device, image, pSubresource, pLayout); + glad_vkGetImageSubresourceLayout2EXT(device, image, pSubresource, pLayout); + _post_call_vulkan_callback(NULL, "vkGetImageSubresourceLayout2EXT", (GLADapiproc) glad_vkGetImageSubresourceLayout2EXT, 4, device, image, pSubresource, pLayout); + +} +PFN_vkGetImageSubresourceLayout2EXT glad_debug_vkGetImageSubresourceLayout2EXT = glad_debug_impl_vkGetImageSubresourceLayout2EXT; +PFN_vkGetImageSubresourceLayout2KHR glad_vkGetImageSubresourceLayout2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetImageSubresourceLayout2KHR(VkDevice device, VkImage image, const VkImageSubresource2 * pSubresource, VkSubresourceLayout2 * pLayout) { + _pre_call_vulkan_callback("vkGetImageSubresourceLayout2KHR", (GLADapiproc) glad_vkGetImageSubresourceLayout2KHR, 4, device, image, pSubresource, pLayout); + glad_vkGetImageSubresourceLayout2KHR(device, image, pSubresource, pLayout); + _post_call_vulkan_callback(NULL, "vkGetImageSubresourceLayout2KHR", (GLADapiproc) glad_vkGetImageSubresourceLayout2KHR, 4, device, image, pSubresource, pLayout); + +} +PFN_vkGetImageSubresourceLayout2KHR glad_debug_vkGetImageSubresourceLayout2KHR = glad_debug_impl_vkGetImageSubresourceLayout2KHR; +PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr = NULL; +static PFN_vkVoidFunction GLAD_API_PTR glad_debug_impl_vkGetInstanceProcAddr(VkInstance instance, const char * pName) { + PFN_vkVoidFunction ret; + _pre_call_vulkan_callback("vkGetInstanceProcAddr", (GLADapiproc) glad_vkGetInstanceProcAddr, 2, instance, pName); + ret = glad_vkGetInstanceProcAddr(instance, pName); + _post_call_vulkan_callback((void*) &ret, "vkGetInstanceProcAddr", (GLADapiproc) glad_vkGetInstanceProcAddr, 2, instance, pName); + return ret; +} +PFN_vkGetInstanceProcAddr glad_debug_vkGetInstanceProcAddr = glad_debug_impl_vkGetInstanceProcAddr; +PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalBufferProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalBufferProperties, 3, physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + glad_vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalBufferProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalBufferProperties, 3, physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + +} +PFN_vkGetPhysicalDeviceExternalBufferProperties glad_debug_vkGetPhysicalDeviceExternalBufferProperties = glad_debug_impl_vkGetPhysicalDeviceExternalBufferProperties; +PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalBufferPropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR, 3, physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR(physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalBufferPropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR, 3, physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + +} +PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR glad_debug_vkGetPhysicalDeviceExternalBufferPropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalBufferPropertiesKHR; +PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalFenceProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalFenceProperties, 3, physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + glad_vkGetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalFenceProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalFenceProperties, 3, physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + +} +PFN_vkGetPhysicalDeviceExternalFenceProperties glad_debug_vkGetPhysicalDeviceExternalFenceProperties = glad_debug_impl_vkGetPhysicalDeviceExternalFenceProperties; +PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR glad_vkGetPhysicalDeviceExternalFencePropertiesKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalFencePropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalFencePropertiesKHR, 3, physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + glad_vkGetPhysicalDeviceExternalFencePropertiesKHR(physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalFencePropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalFencePropertiesKHR, 3, physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + +} +PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalFencePropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalFencePropertiesKHR; +PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalSemaphoreProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalSemaphoreProperties, 3, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + glad_vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalSemaphoreProperties", (GLADapiproc) glad_vkGetPhysicalDeviceExternalSemaphoreProperties, 3, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + +} +PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_debug_vkGetPhysicalDeviceExternalSemaphoreProperties = glad_debug_impl_vkGetPhysicalDeviceExternalSemaphoreProperties; +PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, 3, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", (GLADapiproc) glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, 3, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + +} +PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR glad_debug_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFeatures", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures, 2, physicalDevice, pFeatures); + glad_vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFeatures", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures, 2, physicalDevice, pFeatures); + +} +PFN_vkGetPhysicalDeviceFeatures glad_debug_vkGetPhysicalDeviceFeatures = glad_debug_impl_vkGetPhysicalDeviceFeatures; +PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFeatures2", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures2, 2, physicalDevice, pFeatures); + glad_vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFeatures2", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures2, 2, physicalDevice, pFeatures); + +} +PFN_vkGetPhysicalDeviceFeatures2 glad_debug_vkGetPhysicalDeviceFeatures2 = glad_debug_impl_vkGetPhysicalDeviceFeatures2; +PFN_vkGetPhysicalDeviceFeatures2KHR glad_vkGetPhysicalDeviceFeatures2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFeatures2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures2KHR, 2, physicalDevice, pFeatures); + glad_vkGetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFeatures2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceFeatures2KHR, 2, physicalDevice, pFeatures); + +} +PFN_vkGetPhysicalDeviceFeatures2KHR glad_debug_vkGetPhysicalDeviceFeatures2KHR = glad_debug_impl_vkGetPhysicalDeviceFeatures2KHR; +PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties, 3, physicalDevice, format, pFormatProperties); + glad_vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties, 3, physicalDevice, format, pFormatProperties); + +} +PFN_vkGetPhysicalDeviceFormatProperties glad_debug_vkGetPhysicalDeviceFormatProperties = glad_debug_impl_vkGetPhysicalDeviceFormatProperties; +PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties2, 3, physicalDevice, format, pFormatProperties); + glad_vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties2, 3, physicalDevice, format, pFormatProperties); + +} +PFN_vkGetPhysicalDeviceFormatProperties2 glad_debug_vkGetPhysicalDeviceFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceFormatProperties2; +PFN_vkGetPhysicalDeviceFormatProperties2KHR glad_vkGetPhysicalDeviceFormatProperties2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties2KHR, 3, physicalDevice, format, pFormatProperties); + glad_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceFormatProperties2KHR, 3, physicalDevice, format, pFormatProperties); + +} +PFN_vkGetPhysicalDeviceFormatProperties2KHR glad_debug_vkGetPhysicalDeviceFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceFormatProperties2KHR; +PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDeviceImageFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties, 7, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties); + ret = glad_vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDeviceImageFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties, 7, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties); + return ret; +} +PFN_vkGetPhysicalDeviceImageFormatProperties glad_debug_vkGetPhysicalDeviceImageFormatProperties = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties; +PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDeviceImageFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties2, 3, physicalDevice, pImageFormatInfo, pImageFormatProperties); + ret = glad_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDeviceImageFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties2, 3, physicalDevice, pImageFormatInfo, pImageFormatProperties); + return ret; +} +PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_debug_vkGetPhysicalDeviceImageFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2; +PFN_vkGetPhysicalDeviceImageFormatProperties2KHR glad_vkGetPhysicalDeviceImageFormatProperties2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDeviceImageFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties2KHR, 3, physicalDevice, pImageFormatInfo, pImageFormatProperties); + ret = glad_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice, pImageFormatInfo, pImageFormatProperties); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDeviceImageFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceImageFormatProperties2KHR, 3, physicalDevice, pImageFormatInfo, pImageFormatProperties); + return ret; +} +PFN_vkGetPhysicalDeviceImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceImageFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2KHR; +PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceMemoryProperties", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties, 2, physicalDevice, pMemoryProperties); + glad_vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceMemoryProperties", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties, 2, physicalDevice, pMemoryProperties); + +} +PFN_vkGetPhysicalDeviceMemoryProperties glad_debug_vkGetPhysicalDeviceMemoryProperties = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties; +PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceMemoryProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties2, 2, physicalDevice, pMemoryProperties); + glad_vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceMemoryProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties2, 2, physicalDevice, pMemoryProperties); + +} +PFN_vkGetPhysicalDeviceMemoryProperties2 glad_debug_vkGetPhysicalDeviceMemoryProperties2 = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2; +PFN_vkGetPhysicalDeviceMemoryProperties2KHR glad_vkGetPhysicalDeviceMemoryProperties2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceMemoryProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties2KHR, 2, physicalDevice, pMemoryProperties); + glad_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceMemoryProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceMemoryProperties2KHR, 2, physicalDevice, pMemoryProperties); + +} +PFN_vkGetPhysicalDeviceMemoryProperties2KHR glad_debug_vkGetPhysicalDeviceMemoryProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2KHR; +PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDevicePresentRectanglesKHR", (GLADapiproc) glad_vkGetPhysicalDevicePresentRectanglesKHR, 4, physicalDevice, surface, pRectCount, pRects); + ret = glad_vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDevicePresentRectanglesKHR", (GLADapiproc) glad_vkGetPhysicalDevicePresentRectanglesKHR, 4, physicalDevice, surface, pRectCount, pRects); + return ret; +} +PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_debug_vkGetPhysicalDevicePresentRectanglesKHR = glad_debug_impl_vkGetPhysicalDevicePresentRectanglesKHR; +PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceProperties", (GLADapiproc) glad_vkGetPhysicalDeviceProperties, 2, physicalDevice, pProperties); + glad_vkGetPhysicalDeviceProperties(physicalDevice, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceProperties", (GLADapiproc) glad_vkGetPhysicalDeviceProperties, 2, physicalDevice, pProperties); + +} +PFN_vkGetPhysicalDeviceProperties glad_debug_vkGetPhysicalDeviceProperties = glad_debug_impl_vkGetPhysicalDeviceProperties; +PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceProperties2, 2, physicalDevice, pProperties); + glad_vkGetPhysicalDeviceProperties2(physicalDevice, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceProperties2, 2, physicalDevice, pProperties); + +} +PFN_vkGetPhysicalDeviceProperties2 glad_debug_vkGetPhysicalDeviceProperties2 = glad_debug_impl_vkGetPhysicalDeviceProperties2; +PFN_vkGetPhysicalDeviceProperties2KHR glad_vkGetPhysicalDeviceProperties2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceProperties2KHR, 2, physicalDevice, pProperties); + glad_vkGetPhysicalDeviceProperties2KHR(physicalDevice, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceProperties2KHR, 2, physicalDevice, pProperties); + +} +PFN_vkGetPhysicalDeviceProperties2KHR glad_debug_vkGetPhysicalDeviceProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceProperties2KHR; +PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceQueueFamilyProperties", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + glad_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceQueueFamilyProperties", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + +} +PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_debug_vkGetPhysicalDeviceQueueFamilyProperties = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceQueueFamilyProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties2, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + glad_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceQueueFamilyProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties2, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + +} +PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2 = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceQueueFamilyProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceQueueFamilyProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR, 3, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + +} +PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2KHR; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceSparseImageFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties, 8, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); + glad_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceSparseImageFormatProperties", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties, 8, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); + +} +PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2 = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceSparseImageFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties2, 4, physicalDevice, pFormatInfo, pPropertyCount, pProperties); + glad_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceSparseImageFormatProperties2", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties2, 4, physicalDevice, pFormatInfo, pPropertyCount, pProperties); + +} +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties) { + _pre_call_vulkan_callback("vkGetPhysicalDeviceSparseImageFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR, 4, physicalDevice, pFormatInfo, pPropertyCount, pProperties); + glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties); + _post_call_vulkan_callback(NULL, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR", (GLADapiproc) glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR, 4, physicalDevice, pFormatInfo, pPropertyCount, pProperties); + +} +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +PFN_vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDeviceToolProperties", (GLADapiproc) glad_vkGetPhysicalDeviceToolProperties, 3, physicalDevice, pToolCount, pToolProperties); + ret = glad_vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDeviceToolProperties", (GLADapiproc) glad_vkGetPhysicalDeviceToolProperties, 3, physicalDevice, pToolCount, pToolProperties); + return ret; +} +PFN_vkGetPhysicalDeviceToolProperties glad_debug_vkGetPhysicalDeviceToolProperties = glad_debug_impl_vkGetPhysicalDeviceToolProperties; +PFN_vkGetPhysicalDeviceToolPropertiesEXT glad_vkGetPhysicalDeviceToolPropertiesEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPhysicalDeviceToolPropertiesEXT", (GLADapiproc) glad_vkGetPhysicalDeviceToolPropertiesEXT, 3, physicalDevice, pToolCount, pToolProperties); + ret = glad_vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties); + _post_call_vulkan_callback((void*) &ret, "vkGetPhysicalDeviceToolPropertiesEXT", (GLADapiproc) glad_vkGetPhysicalDeviceToolPropertiesEXT, 3, physicalDevice, pToolCount, pToolProperties); + return ret; +} +PFN_vkGetPhysicalDeviceToolPropertiesEXT glad_debug_vkGetPhysicalDeviceToolPropertiesEXT = glad_debug_impl_vkGetPhysicalDeviceToolPropertiesEXT; +PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData) { + VkResult ret; + _pre_call_vulkan_callback("vkGetPipelineCacheData", (GLADapiproc) glad_vkGetPipelineCacheData, 4, device, pipelineCache, pDataSize, pData); + ret = glad_vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData); + _post_call_vulkan_callback((void*) &ret, "vkGetPipelineCacheData", (GLADapiproc) glad_vkGetPipelineCacheData, 4, device, pipelineCache, pDataSize, pData); + return ret; +} +PFN_vkGetPipelineCacheData glad_debug_vkGetPipelineCacheData = glad_debug_impl_vkGetPipelineCacheData; +PFN_vkGetPrivateData glad_vkGetPrivateData = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPrivateData(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData) { + _pre_call_vulkan_callback("vkGetPrivateData", (GLADapiproc) glad_vkGetPrivateData, 5, device, objectType, objectHandle, privateDataSlot, pData); + glad_vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData); + _post_call_vulkan_callback(NULL, "vkGetPrivateData", (GLADapiproc) glad_vkGetPrivateData, 5, device, objectType, objectHandle, privateDataSlot, pData); + +} +PFN_vkGetPrivateData glad_debug_vkGetPrivateData = glad_debug_impl_vkGetPrivateData; +PFN_vkGetPrivateDataEXT glad_vkGetPrivateDataEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData) { + _pre_call_vulkan_callback("vkGetPrivateDataEXT", (GLADapiproc) glad_vkGetPrivateDataEXT, 5, device, objectType, objectHandle, privateDataSlot, pData); + glad_vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData); + _post_call_vulkan_callback(NULL, "vkGetPrivateDataEXT", (GLADapiproc) glad_vkGetPrivateDataEXT, 5, device, objectType, objectHandle, privateDataSlot, pData); + +} +PFN_vkGetPrivateDataEXT glad_debug_vkGetPrivateDataEXT = glad_debug_impl_vkGetPrivateDataEXT; +PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags) { + VkResult ret; + _pre_call_vulkan_callback("vkGetQueryPoolResults", (GLADapiproc) glad_vkGetQueryPoolResults, 8, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags); + ret = glad_vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags); + _post_call_vulkan_callback((void*) &ret, "vkGetQueryPoolResults", (GLADapiproc) glad_vkGetQueryPoolResults, 8, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags); + return ret; +} +PFN_vkGetQueryPoolResults glad_debug_vkGetQueryPoolResults = glad_debug_impl_vkGetQueryPoolResults; +PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity) { + _pre_call_vulkan_callback("vkGetRenderAreaGranularity", (GLADapiproc) glad_vkGetRenderAreaGranularity, 3, device, renderPass, pGranularity); + glad_vkGetRenderAreaGranularity(device, renderPass, pGranularity); + _post_call_vulkan_callback(NULL, "vkGetRenderAreaGranularity", (GLADapiproc) glad_vkGetRenderAreaGranularity, 3, device, renderPass, pGranularity); + +} +PFN_vkGetRenderAreaGranularity glad_debug_vkGetRenderAreaGranularity = glad_debug_impl_vkGetRenderAreaGranularity; +PFN_vkGetRenderingAreaGranularity glad_vkGetRenderingAreaGranularity = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetRenderingAreaGranularity(VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity) { + _pre_call_vulkan_callback("vkGetRenderingAreaGranularity", (GLADapiproc) glad_vkGetRenderingAreaGranularity, 3, device, pRenderingAreaInfo, pGranularity); + glad_vkGetRenderingAreaGranularity(device, pRenderingAreaInfo, pGranularity); + _post_call_vulkan_callback(NULL, "vkGetRenderingAreaGranularity", (GLADapiproc) glad_vkGetRenderingAreaGranularity, 3, device, pRenderingAreaInfo, pGranularity); + +} +PFN_vkGetRenderingAreaGranularity glad_debug_vkGetRenderingAreaGranularity = glad_debug_impl_vkGetRenderingAreaGranularity; +PFN_vkGetRenderingAreaGranularityKHR glad_vkGetRenderingAreaGranularityKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkGetRenderingAreaGranularityKHR(VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity) { + _pre_call_vulkan_callback("vkGetRenderingAreaGranularityKHR", (GLADapiproc) glad_vkGetRenderingAreaGranularityKHR, 3, device, pRenderingAreaInfo, pGranularity); + glad_vkGetRenderingAreaGranularityKHR(device, pRenderingAreaInfo, pGranularity); + _post_call_vulkan_callback(NULL, "vkGetRenderingAreaGranularityKHR", (GLADapiproc) glad_vkGetRenderingAreaGranularityKHR, 3, device, pRenderingAreaInfo, pGranularity); + +} +PFN_vkGetRenderingAreaGranularityKHR glad_debug_vkGetRenderingAreaGranularityKHR = glad_debug_impl_vkGetRenderingAreaGranularityKHR; +PFN_vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t * pValue) { + VkResult ret; + _pre_call_vulkan_callback("vkGetSemaphoreCounterValue", (GLADapiproc) glad_vkGetSemaphoreCounterValue, 3, device, semaphore, pValue); + ret = glad_vkGetSemaphoreCounterValue(device, semaphore, pValue); + _post_call_vulkan_callback((void*) &ret, "vkGetSemaphoreCounterValue", (GLADapiproc) glad_vkGetSemaphoreCounterValue, 3, device, semaphore, pValue); + return ret; +} +PFN_vkGetSemaphoreCounterValue glad_debug_vkGetSemaphoreCounterValue = glad_debug_impl_vkGetSemaphoreCounterValue; +PFN_vkGetSemaphoreCounterValueKHR glad_vkGetSemaphoreCounterValueKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetSemaphoreCounterValueKHR(VkDevice device, VkSemaphore semaphore, uint64_t * pValue) { + VkResult ret; + _pre_call_vulkan_callback("vkGetSemaphoreCounterValueKHR", (GLADapiproc) glad_vkGetSemaphoreCounterValueKHR, 3, device, semaphore, pValue); + ret = glad_vkGetSemaphoreCounterValueKHR(device, semaphore, pValue); + _post_call_vulkan_callback((void*) &ret, "vkGetSemaphoreCounterValueKHR", (GLADapiproc) glad_vkGetSemaphoreCounterValueKHR, 3, device, semaphore, pValue); + return ret; +} +PFN_vkGetSemaphoreCounterValueKHR glad_debug_vkGetSemaphoreCounterValueKHR = glad_debug_impl_vkGetSemaphoreCounterValueKHR; +PFN_vkGetShaderBinaryDataEXT glad_vkGetShaderBinaryDataEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkGetShaderBinaryDataEXT(VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData) { + VkResult ret; + _pre_call_vulkan_callback("vkGetShaderBinaryDataEXT", (GLADapiproc) glad_vkGetShaderBinaryDataEXT, 4, device, shader, pDataSize, pData); + ret = glad_vkGetShaderBinaryDataEXT(device, shader, pDataSize, pData); + _post_call_vulkan_callback((void*) &ret, "vkGetShaderBinaryDataEXT", (GLADapiproc) glad_vkGetShaderBinaryDataEXT, 4, device, shader, pDataSize, pData); + return ret; +} +PFN_vkGetShaderBinaryDataEXT glad_debug_vkGetShaderBinaryDataEXT = glad_debug_impl_vkGetShaderBinaryDataEXT; +PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges) { + VkResult ret; + _pre_call_vulkan_callback("vkInvalidateMappedMemoryRanges", (GLADapiproc) glad_vkInvalidateMappedMemoryRanges, 3, device, memoryRangeCount, pMemoryRanges); + ret = glad_vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges); + _post_call_vulkan_callback((void*) &ret, "vkInvalidateMappedMemoryRanges", (GLADapiproc) glad_vkInvalidateMappedMemoryRanges, 3, device, memoryRangeCount, pMemoryRanges); + return ret; +} +PFN_vkInvalidateMappedMemoryRanges glad_debug_vkInvalidateMappedMemoryRanges = glad_debug_impl_vkInvalidateMappedMemoryRanges; +PFN_vkMapMemory glad_vkMapMemory = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData) { + VkResult ret; + _pre_call_vulkan_callback("vkMapMemory", (GLADapiproc) glad_vkMapMemory, 6, device, memory, offset, size, flags, ppData); + ret = glad_vkMapMemory(device, memory, offset, size, flags, ppData); + _post_call_vulkan_callback((void*) &ret, "vkMapMemory", (GLADapiproc) glad_vkMapMemory, 6, device, memory, offset, size, flags, ppData); + return ret; +} +PFN_vkMapMemory glad_debug_vkMapMemory = glad_debug_impl_vkMapMemory; +PFN_vkMapMemory2 glad_vkMapMemory2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkMapMemory2(VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData) { + VkResult ret; + _pre_call_vulkan_callback("vkMapMemory2", (GLADapiproc) glad_vkMapMemory2, 3, device, pMemoryMapInfo, ppData); + ret = glad_vkMapMemory2(device, pMemoryMapInfo, ppData); + _post_call_vulkan_callback((void*) &ret, "vkMapMemory2", (GLADapiproc) glad_vkMapMemory2, 3, device, pMemoryMapInfo, ppData); + return ret; +} +PFN_vkMapMemory2 glad_debug_vkMapMemory2 = glad_debug_impl_vkMapMemory2; +PFN_vkMapMemory2KHR glad_vkMapMemory2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkMapMemory2KHR(VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData) { + VkResult ret; + _pre_call_vulkan_callback("vkMapMemory2KHR", (GLADapiproc) glad_vkMapMemory2KHR, 3, device, pMemoryMapInfo, ppData); + ret = glad_vkMapMemory2KHR(device, pMemoryMapInfo, ppData); + _post_call_vulkan_callback((void*) &ret, "vkMapMemory2KHR", (GLADapiproc) glad_vkMapMemory2KHR, 3, device, pMemoryMapInfo, ppData); + return ret; +} +PFN_vkMapMemory2KHR glad_debug_vkMapMemory2KHR = glad_debug_impl_vkMapMemory2KHR; +PFN_vkMergePipelineCaches glad_vkMergePipelineCaches = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches) { + VkResult ret; + _pre_call_vulkan_callback("vkMergePipelineCaches", (GLADapiproc) glad_vkMergePipelineCaches, 4, device, dstCache, srcCacheCount, pSrcCaches); + ret = glad_vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches); + _post_call_vulkan_callback((void*) &ret, "vkMergePipelineCaches", (GLADapiproc) glad_vkMergePipelineCaches, 4, device, dstCache, srcCacheCount, pSrcCaches); + return ret; +} +PFN_vkMergePipelineCaches glad_debug_vkMergePipelineCaches = glad_debug_impl_vkMergePipelineCaches; +PFN_vkQueueBindSparse glad_vkQueueBindSparse = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence) { + VkResult ret; + _pre_call_vulkan_callback("vkQueueBindSparse", (GLADapiproc) glad_vkQueueBindSparse, 4, queue, bindInfoCount, pBindInfo, fence); + ret = glad_vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence); + _post_call_vulkan_callback((void*) &ret, "vkQueueBindSparse", (GLADapiproc) glad_vkQueueBindSparse, 4, queue, bindInfoCount, pBindInfo, fence); + return ret; +} +PFN_vkQueueBindSparse glad_debug_vkQueueBindSparse = glad_debug_impl_vkQueueBindSparse; +PFN_vkQueueSubmit glad_vkQueueSubmit = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence) { + VkResult ret; + _pre_call_vulkan_callback("vkQueueSubmit", (GLADapiproc) glad_vkQueueSubmit, 4, queue, submitCount, pSubmits, fence); + ret = glad_vkQueueSubmit(queue, submitCount, pSubmits, fence); + _post_call_vulkan_callback((void*) &ret, "vkQueueSubmit", (GLADapiproc) glad_vkQueueSubmit, 4, queue, submitCount, pSubmits, fence); + return ret; +} +PFN_vkQueueSubmit glad_debug_vkQueueSubmit = glad_debug_impl_vkQueueSubmit; +PFN_vkQueueSubmit2 glad_vkQueueSubmit2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkQueueSubmit2(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence) { + VkResult ret; + _pre_call_vulkan_callback("vkQueueSubmit2", (GLADapiproc) glad_vkQueueSubmit2, 4, queue, submitCount, pSubmits, fence); + ret = glad_vkQueueSubmit2(queue, submitCount, pSubmits, fence); + _post_call_vulkan_callback((void*) &ret, "vkQueueSubmit2", (GLADapiproc) glad_vkQueueSubmit2, 4, queue, submitCount, pSubmits, fence); + return ret; +} +PFN_vkQueueSubmit2 glad_debug_vkQueueSubmit2 = glad_debug_impl_vkQueueSubmit2; +PFN_vkQueueSubmit2KHR glad_vkQueueSubmit2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkQueueSubmit2KHR(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence) { + VkResult ret; + _pre_call_vulkan_callback("vkQueueSubmit2KHR", (GLADapiproc) glad_vkQueueSubmit2KHR, 4, queue, submitCount, pSubmits, fence); + ret = glad_vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence); + _post_call_vulkan_callback((void*) &ret, "vkQueueSubmit2KHR", (GLADapiproc) glad_vkQueueSubmit2KHR, 4, queue, submitCount, pSubmits, fence); + return ret; +} +PFN_vkQueueSubmit2KHR glad_debug_vkQueueSubmit2KHR = glad_debug_impl_vkQueueSubmit2KHR; +PFN_vkQueueWaitIdle glad_vkQueueWaitIdle = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkQueueWaitIdle(VkQueue queue) { + VkResult ret; + _pre_call_vulkan_callback("vkQueueWaitIdle", (GLADapiproc) glad_vkQueueWaitIdle, 1, queue); + ret = glad_vkQueueWaitIdle(queue); + _post_call_vulkan_callback((void*) &ret, "vkQueueWaitIdle", (GLADapiproc) glad_vkQueueWaitIdle, 1, queue); + return ret; +} +PFN_vkQueueWaitIdle glad_debug_vkQueueWaitIdle = glad_debug_impl_vkQueueWaitIdle; +PFN_vkResetCommandBuffer glad_vkResetCommandBuffer = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) { + VkResult ret; + _pre_call_vulkan_callback("vkResetCommandBuffer", (GLADapiproc) glad_vkResetCommandBuffer, 2, commandBuffer, flags); + ret = glad_vkResetCommandBuffer(commandBuffer, flags); + _post_call_vulkan_callback((void*) &ret, "vkResetCommandBuffer", (GLADapiproc) glad_vkResetCommandBuffer, 2, commandBuffer, flags); + return ret; +} +PFN_vkResetCommandBuffer glad_debug_vkResetCommandBuffer = glad_debug_impl_vkResetCommandBuffer; +PFN_vkResetCommandPool glad_vkResetCommandPool = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) { + VkResult ret; + _pre_call_vulkan_callback("vkResetCommandPool", (GLADapiproc) glad_vkResetCommandPool, 3, device, commandPool, flags); + ret = glad_vkResetCommandPool(device, commandPool, flags); + _post_call_vulkan_callback((void*) &ret, "vkResetCommandPool", (GLADapiproc) glad_vkResetCommandPool, 3, device, commandPool, flags); + return ret; +} +PFN_vkResetCommandPool glad_debug_vkResetCommandPool = glad_debug_impl_vkResetCommandPool; +PFN_vkResetDescriptorPool glad_vkResetDescriptorPool = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) { + VkResult ret; + _pre_call_vulkan_callback("vkResetDescriptorPool", (GLADapiproc) glad_vkResetDescriptorPool, 3, device, descriptorPool, flags); + ret = glad_vkResetDescriptorPool(device, descriptorPool, flags); + _post_call_vulkan_callback((void*) &ret, "vkResetDescriptorPool", (GLADapiproc) glad_vkResetDescriptorPool, 3, device, descriptorPool, flags); + return ret; +} +PFN_vkResetDescriptorPool glad_debug_vkResetDescriptorPool = glad_debug_impl_vkResetDescriptorPool; +PFN_vkResetEvent glad_vkResetEvent = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkResetEvent(VkDevice device, VkEvent event) { + VkResult ret; + _pre_call_vulkan_callback("vkResetEvent", (GLADapiproc) glad_vkResetEvent, 2, device, event); + ret = glad_vkResetEvent(device, event); + _post_call_vulkan_callback((void*) &ret, "vkResetEvent", (GLADapiproc) glad_vkResetEvent, 2, device, event); + return ret; +} +PFN_vkResetEvent glad_debug_vkResetEvent = glad_debug_impl_vkResetEvent; +PFN_vkResetFences glad_vkResetFences = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence * pFences) { + VkResult ret; + _pre_call_vulkan_callback("vkResetFences", (GLADapiproc) glad_vkResetFences, 3, device, fenceCount, pFences); + ret = glad_vkResetFences(device, fenceCount, pFences); + _post_call_vulkan_callback((void*) &ret, "vkResetFences", (GLADapiproc) glad_vkResetFences, 3, device, fenceCount, pFences); + return ret; +} +PFN_vkResetFences glad_debug_vkResetFences = glad_debug_impl_vkResetFences; +PFN_vkResetQueryPool glad_vkResetQueryPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) { + _pre_call_vulkan_callback("vkResetQueryPool", (GLADapiproc) glad_vkResetQueryPool, 4, device, queryPool, firstQuery, queryCount); + glad_vkResetQueryPool(device, queryPool, firstQuery, queryCount); + _post_call_vulkan_callback(NULL, "vkResetQueryPool", (GLADapiproc) glad_vkResetQueryPool, 4, device, queryPool, firstQuery, queryCount); + +} +PFN_vkResetQueryPool glad_debug_vkResetQueryPool = glad_debug_impl_vkResetQueryPool; +PFN_vkResetQueryPoolEXT glad_vkResetQueryPoolEXT = NULL; +static void GLAD_API_PTR glad_debug_impl_vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) { + _pre_call_vulkan_callback("vkResetQueryPoolEXT", (GLADapiproc) glad_vkResetQueryPoolEXT, 4, device, queryPool, firstQuery, queryCount); + glad_vkResetQueryPoolEXT(device, queryPool, firstQuery, queryCount); + _post_call_vulkan_callback(NULL, "vkResetQueryPoolEXT", (GLADapiproc) glad_vkResetQueryPoolEXT, 4, device, queryPool, firstQuery, queryCount); + +} +PFN_vkResetQueryPoolEXT glad_debug_vkResetQueryPoolEXT = glad_debug_impl_vkResetQueryPoolEXT; +PFN_vkSetEvent glad_vkSetEvent = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkSetEvent(VkDevice device, VkEvent event) { + VkResult ret; + _pre_call_vulkan_callback("vkSetEvent", (GLADapiproc) glad_vkSetEvent, 2, device, event); + ret = glad_vkSetEvent(device, event); + _post_call_vulkan_callback((void*) &ret, "vkSetEvent", (GLADapiproc) glad_vkSetEvent, 2, device, event); + return ret; +} +PFN_vkSetEvent glad_debug_vkSetEvent = glad_debug_impl_vkSetEvent; +PFN_vkSetPrivateData glad_vkSetPrivateData = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkSetPrivateData(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) { + VkResult ret; + _pre_call_vulkan_callback("vkSetPrivateData", (GLADapiproc) glad_vkSetPrivateData, 5, device, objectType, objectHandle, privateDataSlot, data); + ret = glad_vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data); + _post_call_vulkan_callback((void*) &ret, "vkSetPrivateData", (GLADapiproc) glad_vkSetPrivateData, 5, device, objectType, objectHandle, privateDataSlot, data); + return ret; +} +PFN_vkSetPrivateData glad_debug_vkSetPrivateData = glad_debug_impl_vkSetPrivateData; +PFN_vkSetPrivateDataEXT glad_vkSetPrivateDataEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkSetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) { + VkResult ret; + _pre_call_vulkan_callback("vkSetPrivateDataEXT", (GLADapiproc) glad_vkSetPrivateDataEXT, 5, device, objectType, objectHandle, privateDataSlot, data); + ret = glad_vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data); + _post_call_vulkan_callback((void*) &ret, "vkSetPrivateDataEXT", (GLADapiproc) glad_vkSetPrivateDataEXT, 5, device, objectType, objectHandle, privateDataSlot, data); + return ret; +} +PFN_vkSetPrivateDataEXT glad_debug_vkSetPrivateDataEXT = glad_debug_impl_vkSetPrivateDataEXT; +PFN_vkSignalSemaphore glad_vkSignalSemaphore = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkSignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkSignalSemaphore", (GLADapiproc) glad_vkSignalSemaphore, 2, device, pSignalInfo); + ret = glad_vkSignalSemaphore(device, pSignalInfo); + _post_call_vulkan_callback((void*) &ret, "vkSignalSemaphore", (GLADapiproc) glad_vkSignalSemaphore, 2, device, pSignalInfo); + return ret; +} +PFN_vkSignalSemaphore glad_debug_vkSignalSemaphore = glad_debug_impl_vkSignalSemaphore; +PFN_vkSignalSemaphoreKHR glad_vkSignalSemaphoreKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkSignalSemaphoreKHR(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkSignalSemaphoreKHR", (GLADapiproc) glad_vkSignalSemaphoreKHR, 2, device, pSignalInfo); + ret = glad_vkSignalSemaphoreKHR(device, pSignalInfo); + _post_call_vulkan_callback((void*) &ret, "vkSignalSemaphoreKHR", (GLADapiproc) glad_vkSignalSemaphoreKHR, 2, device, pSignalInfo); + return ret; +} +PFN_vkSignalSemaphoreKHR glad_debug_vkSignalSemaphoreKHR = glad_debug_impl_vkSignalSemaphoreKHR; +PFN_vkTransitionImageLayout glad_vkTransitionImageLayout = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkTransitionImageLayout(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions) { + VkResult ret; + _pre_call_vulkan_callback("vkTransitionImageLayout", (GLADapiproc) glad_vkTransitionImageLayout, 3, device, transitionCount, pTransitions); + ret = glad_vkTransitionImageLayout(device, transitionCount, pTransitions); + _post_call_vulkan_callback((void*) &ret, "vkTransitionImageLayout", (GLADapiproc) glad_vkTransitionImageLayout, 3, device, transitionCount, pTransitions); + return ret; +} +PFN_vkTransitionImageLayout glad_debug_vkTransitionImageLayout = glad_debug_impl_vkTransitionImageLayout; +PFN_vkTransitionImageLayoutEXT glad_vkTransitionImageLayoutEXT = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkTransitionImageLayoutEXT(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions) { + VkResult ret; + _pre_call_vulkan_callback("vkTransitionImageLayoutEXT", (GLADapiproc) glad_vkTransitionImageLayoutEXT, 3, device, transitionCount, pTransitions); + ret = glad_vkTransitionImageLayoutEXT(device, transitionCount, pTransitions); + _post_call_vulkan_callback((void*) &ret, "vkTransitionImageLayoutEXT", (GLADapiproc) glad_vkTransitionImageLayoutEXT, 3, device, transitionCount, pTransitions); + return ret; +} +PFN_vkTransitionImageLayoutEXT glad_debug_vkTransitionImageLayoutEXT = glad_debug_impl_vkTransitionImageLayoutEXT; +PFN_vkTrimCommandPool glad_vkTrimCommandPool = NULL; +static void GLAD_API_PTR glad_debug_impl_vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) { + _pre_call_vulkan_callback("vkTrimCommandPool", (GLADapiproc) glad_vkTrimCommandPool, 3, device, commandPool, flags); + glad_vkTrimCommandPool(device, commandPool, flags); + _post_call_vulkan_callback(NULL, "vkTrimCommandPool", (GLADapiproc) glad_vkTrimCommandPool, 3, device, commandPool, flags); + +} +PFN_vkTrimCommandPool glad_debug_vkTrimCommandPool = glad_debug_impl_vkTrimCommandPool; +PFN_vkTrimCommandPoolKHR glad_vkTrimCommandPoolKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) { + _pre_call_vulkan_callback("vkTrimCommandPoolKHR", (GLADapiproc) glad_vkTrimCommandPoolKHR, 3, device, commandPool, flags); + glad_vkTrimCommandPoolKHR(device, commandPool, flags); + _post_call_vulkan_callback(NULL, "vkTrimCommandPoolKHR", (GLADapiproc) glad_vkTrimCommandPoolKHR, 3, device, commandPool, flags); + +} +PFN_vkTrimCommandPoolKHR glad_debug_vkTrimCommandPoolKHR = glad_debug_impl_vkTrimCommandPoolKHR; +PFN_vkUnmapMemory glad_vkUnmapMemory = NULL; +static void GLAD_API_PTR glad_debug_impl_vkUnmapMemory(VkDevice device, VkDeviceMemory memory) { + _pre_call_vulkan_callback("vkUnmapMemory", (GLADapiproc) glad_vkUnmapMemory, 2, device, memory); + glad_vkUnmapMemory(device, memory); + _post_call_vulkan_callback(NULL, "vkUnmapMemory", (GLADapiproc) glad_vkUnmapMemory, 2, device, memory); + +} +PFN_vkUnmapMemory glad_debug_vkUnmapMemory = glad_debug_impl_vkUnmapMemory; +PFN_vkUnmapMemory2 glad_vkUnmapMemory2 = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkUnmapMemory2(VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkUnmapMemory2", (GLADapiproc) glad_vkUnmapMemory2, 2, device, pMemoryUnmapInfo); + ret = glad_vkUnmapMemory2(device, pMemoryUnmapInfo); + _post_call_vulkan_callback((void*) &ret, "vkUnmapMemory2", (GLADapiproc) glad_vkUnmapMemory2, 2, device, pMemoryUnmapInfo); + return ret; +} +PFN_vkUnmapMemory2 glad_debug_vkUnmapMemory2 = glad_debug_impl_vkUnmapMemory2; +PFN_vkUnmapMemory2KHR glad_vkUnmapMemory2KHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkUnmapMemory2KHR(VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo) { + VkResult ret; + _pre_call_vulkan_callback("vkUnmapMemory2KHR", (GLADapiproc) glad_vkUnmapMemory2KHR, 2, device, pMemoryUnmapInfo); + ret = glad_vkUnmapMemory2KHR(device, pMemoryUnmapInfo); + _post_call_vulkan_callback((void*) &ret, "vkUnmapMemory2KHR", (GLADapiproc) glad_vkUnmapMemory2KHR, 2, device, pMemoryUnmapInfo); + return ret; +} +PFN_vkUnmapMemory2KHR glad_debug_vkUnmapMemory2KHR = glad_debug_impl_vkUnmapMemory2KHR; +PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate = NULL; +static void GLAD_API_PTR glad_debug_impl_vkUpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData) { + _pre_call_vulkan_callback("vkUpdateDescriptorSetWithTemplate", (GLADapiproc) glad_vkUpdateDescriptorSetWithTemplate, 4, device, descriptorSet, descriptorUpdateTemplate, pData); + glad_vkUpdateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData); + _post_call_vulkan_callback(NULL, "vkUpdateDescriptorSetWithTemplate", (GLADapiproc) glad_vkUpdateDescriptorSetWithTemplate, 4, device, descriptorSet, descriptorUpdateTemplate, pData); + +} +PFN_vkUpdateDescriptorSetWithTemplate glad_debug_vkUpdateDescriptorSetWithTemplate = glad_debug_impl_vkUpdateDescriptorSetWithTemplate; +PFN_vkUpdateDescriptorSetWithTemplateKHR glad_vkUpdateDescriptorSetWithTemplateKHR = NULL; +static void GLAD_API_PTR glad_debug_impl_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData) { + _pre_call_vulkan_callback("vkUpdateDescriptorSetWithTemplateKHR", (GLADapiproc) glad_vkUpdateDescriptorSetWithTemplateKHR, 4, device, descriptorSet, descriptorUpdateTemplate, pData); + glad_vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData); + _post_call_vulkan_callback(NULL, "vkUpdateDescriptorSetWithTemplateKHR", (GLADapiproc) glad_vkUpdateDescriptorSetWithTemplateKHR, 4, device, descriptorSet, descriptorUpdateTemplate, pData); + +} +PFN_vkUpdateDescriptorSetWithTemplateKHR glad_debug_vkUpdateDescriptorSetWithTemplateKHR = glad_debug_impl_vkUpdateDescriptorSetWithTemplateKHR; +PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets = NULL; +static void GLAD_API_PTR glad_debug_impl_vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies) { + _pre_call_vulkan_callback("vkUpdateDescriptorSets", (GLADapiproc) glad_vkUpdateDescriptorSets, 5, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); + glad_vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); + _post_call_vulkan_callback(NULL, "vkUpdateDescriptorSets", (GLADapiproc) glad_vkUpdateDescriptorSets, 5, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); + +} +PFN_vkUpdateDescriptorSets glad_debug_vkUpdateDescriptorSets = glad_debug_impl_vkUpdateDescriptorSets; +PFN_vkWaitForFences glad_vkWaitForFences = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout) { + VkResult ret; + _pre_call_vulkan_callback("vkWaitForFences", (GLADapiproc) glad_vkWaitForFences, 5, device, fenceCount, pFences, waitAll, timeout); + ret = glad_vkWaitForFences(device, fenceCount, pFences, waitAll, timeout); + _post_call_vulkan_callback((void*) &ret, "vkWaitForFences", (GLADapiproc) glad_vkWaitForFences, 5, device, fenceCount, pFences, waitAll, timeout); + return ret; +} +PFN_vkWaitForFences glad_debug_vkWaitForFences = glad_debug_impl_vkWaitForFences; +PFN_vkWaitSemaphores glad_vkWaitSemaphores = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkWaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout) { + VkResult ret; + _pre_call_vulkan_callback("vkWaitSemaphores", (GLADapiproc) glad_vkWaitSemaphores, 3, device, pWaitInfo, timeout); + ret = glad_vkWaitSemaphores(device, pWaitInfo, timeout); + _post_call_vulkan_callback((void*) &ret, "vkWaitSemaphores", (GLADapiproc) glad_vkWaitSemaphores, 3, device, pWaitInfo, timeout); + return ret; +} +PFN_vkWaitSemaphores glad_debug_vkWaitSemaphores = glad_debug_impl_vkWaitSemaphores; +PFN_vkWaitSemaphoresKHR glad_vkWaitSemaphoresKHR = NULL; +static VkResult GLAD_API_PTR glad_debug_impl_vkWaitSemaphoresKHR(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout) { + VkResult ret; + _pre_call_vulkan_callback("vkWaitSemaphoresKHR", (GLADapiproc) glad_vkWaitSemaphoresKHR, 3, device, pWaitInfo, timeout); + ret = glad_vkWaitSemaphoresKHR(device, pWaitInfo, timeout); + _post_call_vulkan_callback((void*) &ret, "vkWaitSemaphoresKHR", (GLADapiproc) glad_vkWaitSemaphoresKHR, 3, device, pWaitInfo, timeout); + return ret; +} +PFN_vkWaitSemaphoresKHR glad_debug_vkWaitSemaphoresKHR = glad_debug_impl_vkWaitSemaphoresKHR; + + +static void glad_vk_load_VK_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_VERSION_1_0) return; + glad_vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers) load(userptr, "vkAllocateCommandBuffers"); + glad_vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets) load(userptr, "vkAllocateDescriptorSets"); + glad_vkAllocateMemory = (PFN_vkAllocateMemory) load(userptr, "vkAllocateMemory"); + glad_vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer) load(userptr, "vkBeginCommandBuffer"); + glad_vkBindBufferMemory = (PFN_vkBindBufferMemory) load(userptr, "vkBindBufferMemory"); + glad_vkBindImageMemory = (PFN_vkBindImageMemory) load(userptr, "vkBindImageMemory"); + glad_vkCmdBeginQuery = (PFN_vkCmdBeginQuery) load(userptr, "vkCmdBeginQuery"); + glad_vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) load(userptr, "vkCmdBeginRenderPass"); + glad_vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets) load(userptr, "vkCmdBindDescriptorSets"); + glad_vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer) load(userptr, "vkCmdBindIndexBuffer"); + glad_vkCmdBindPipeline = (PFN_vkCmdBindPipeline) load(userptr, "vkCmdBindPipeline"); + glad_vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers) load(userptr, "vkCmdBindVertexBuffers"); + glad_vkCmdBlitImage = (PFN_vkCmdBlitImage) load(userptr, "vkCmdBlitImage"); + glad_vkCmdClearAttachments = (PFN_vkCmdClearAttachments) load(userptr, "vkCmdClearAttachments"); + glad_vkCmdClearColorImage = (PFN_vkCmdClearColorImage) load(userptr, "vkCmdClearColorImage"); + glad_vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage) load(userptr, "vkCmdClearDepthStencilImage"); + glad_vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer) load(userptr, "vkCmdCopyBuffer"); + glad_vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage) load(userptr, "vkCmdCopyBufferToImage"); + glad_vkCmdCopyImage = (PFN_vkCmdCopyImage) load(userptr, "vkCmdCopyImage"); + glad_vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer) load(userptr, "vkCmdCopyImageToBuffer"); + glad_vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults) load(userptr, "vkCmdCopyQueryPoolResults"); + glad_vkCmdDispatch = (PFN_vkCmdDispatch) load(userptr, "vkCmdDispatch"); + glad_vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect) load(userptr, "vkCmdDispatchIndirect"); + glad_vkCmdDraw = (PFN_vkCmdDraw) load(userptr, "vkCmdDraw"); + glad_vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed) load(userptr, "vkCmdDrawIndexed"); + glad_vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect) load(userptr, "vkCmdDrawIndexedIndirect"); + glad_vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect) load(userptr, "vkCmdDrawIndirect"); + glad_vkCmdEndQuery = (PFN_vkCmdEndQuery) load(userptr, "vkCmdEndQuery"); + glad_vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass) load(userptr, "vkCmdEndRenderPass"); + glad_vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands) load(userptr, "vkCmdExecuteCommands"); + glad_vkCmdFillBuffer = (PFN_vkCmdFillBuffer) load(userptr, "vkCmdFillBuffer"); + glad_vkCmdNextSubpass = (PFN_vkCmdNextSubpass) load(userptr, "vkCmdNextSubpass"); + glad_vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier) load(userptr, "vkCmdPipelineBarrier"); + glad_vkCmdPushConstants = (PFN_vkCmdPushConstants) load(userptr, "vkCmdPushConstants"); + glad_vkCmdResetEvent = (PFN_vkCmdResetEvent) load(userptr, "vkCmdResetEvent"); + glad_vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool) load(userptr, "vkCmdResetQueryPool"); + glad_vkCmdResolveImage = (PFN_vkCmdResolveImage) load(userptr, "vkCmdResolveImage"); + glad_vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants) load(userptr, "vkCmdSetBlendConstants"); + glad_vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias) load(userptr, "vkCmdSetDepthBias"); + glad_vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds) load(userptr, "vkCmdSetDepthBounds"); + glad_vkCmdSetEvent = (PFN_vkCmdSetEvent) load(userptr, "vkCmdSetEvent"); + glad_vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth) load(userptr, "vkCmdSetLineWidth"); + glad_vkCmdSetScissor = (PFN_vkCmdSetScissor) load(userptr, "vkCmdSetScissor"); + glad_vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask) load(userptr, "vkCmdSetStencilCompareMask"); + glad_vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference) load(userptr, "vkCmdSetStencilReference"); + glad_vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask) load(userptr, "vkCmdSetStencilWriteMask"); + glad_vkCmdSetViewport = (PFN_vkCmdSetViewport) load(userptr, "vkCmdSetViewport"); + glad_vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) load(userptr, "vkCmdUpdateBuffer"); + glad_vkCmdWaitEvents = (PFN_vkCmdWaitEvents) load(userptr, "vkCmdWaitEvents"); + glad_vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp) load(userptr, "vkCmdWriteTimestamp"); + glad_vkCreateBuffer = (PFN_vkCreateBuffer) load(userptr, "vkCreateBuffer"); + glad_vkCreateBufferView = (PFN_vkCreateBufferView) load(userptr, "vkCreateBufferView"); + glad_vkCreateCommandPool = (PFN_vkCreateCommandPool) load(userptr, "vkCreateCommandPool"); + glad_vkCreateComputePipelines = (PFN_vkCreateComputePipelines) load(userptr, "vkCreateComputePipelines"); + glad_vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool) load(userptr, "vkCreateDescriptorPool"); + glad_vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout) load(userptr, "vkCreateDescriptorSetLayout"); + glad_vkCreateDevice = (PFN_vkCreateDevice) load(userptr, "vkCreateDevice"); + glad_vkCreateEvent = (PFN_vkCreateEvent) load(userptr, "vkCreateEvent"); + glad_vkCreateFence = (PFN_vkCreateFence) load(userptr, "vkCreateFence"); + glad_vkCreateFramebuffer = (PFN_vkCreateFramebuffer) load(userptr, "vkCreateFramebuffer"); + glad_vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines) load(userptr, "vkCreateGraphicsPipelines"); + glad_vkCreateImage = (PFN_vkCreateImage) load(userptr, "vkCreateImage"); + glad_vkCreateImageView = (PFN_vkCreateImageView) load(userptr, "vkCreateImageView"); + glad_vkCreateInstance = (PFN_vkCreateInstance) load(userptr, "vkCreateInstance"); + glad_vkCreatePipelineCache = (PFN_vkCreatePipelineCache) load(userptr, "vkCreatePipelineCache"); + glad_vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout) load(userptr, "vkCreatePipelineLayout"); + glad_vkCreateQueryPool = (PFN_vkCreateQueryPool) load(userptr, "vkCreateQueryPool"); + glad_vkCreateRenderPass = (PFN_vkCreateRenderPass) load(userptr, "vkCreateRenderPass"); + glad_vkCreateSampler = (PFN_vkCreateSampler) load(userptr, "vkCreateSampler"); + glad_vkCreateSemaphore = (PFN_vkCreateSemaphore) load(userptr, "vkCreateSemaphore"); + glad_vkCreateShaderModule = (PFN_vkCreateShaderModule) load(userptr, "vkCreateShaderModule"); + glad_vkDestroyBuffer = (PFN_vkDestroyBuffer) load(userptr, "vkDestroyBuffer"); + glad_vkDestroyBufferView = (PFN_vkDestroyBufferView) load(userptr, "vkDestroyBufferView"); + glad_vkDestroyCommandPool = (PFN_vkDestroyCommandPool) load(userptr, "vkDestroyCommandPool"); + glad_vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool) load(userptr, "vkDestroyDescriptorPool"); + glad_vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout) load(userptr, "vkDestroyDescriptorSetLayout"); + glad_vkDestroyDevice = (PFN_vkDestroyDevice) load(userptr, "vkDestroyDevice"); + glad_vkDestroyEvent = (PFN_vkDestroyEvent) load(userptr, "vkDestroyEvent"); + glad_vkDestroyFence = (PFN_vkDestroyFence) load(userptr, "vkDestroyFence"); + glad_vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer) load(userptr, "vkDestroyFramebuffer"); + glad_vkDestroyImage = (PFN_vkDestroyImage) load(userptr, "vkDestroyImage"); + glad_vkDestroyImageView = (PFN_vkDestroyImageView) load(userptr, "vkDestroyImageView"); + glad_vkDestroyInstance = (PFN_vkDestroyInstance) load(userptr, "vkDestroyInstance"); + glad_vkDestroyPipeline = (PFN_vkDestroyPipeline) load(userptr, "vkDestroyPipeline"); + glad_vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache) load(userptr, "vkDestroyPipelineCache"); + glad_vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout) load(userptr, "vkDestroyPipelineLayout"); + glad_vkDestroyQueryPool = (PFN_vkDestroyQueryPool) load(userptr, "vkDestroyQueryPool"); + glad_vkDestroyRenderPass = (PFN_vkDestroyRenderPass) load(userptr, "vkDestroyRenderPass"); + glad_vkDestroySampler = (PFN_vkDestroySampler) load(userptr, "vkDestroySampler"); + glad_vkDestroySemaphore = (PFN_vkDestroySemaphore) load(userptr, "vkDestroySemaphore"); + glad_vkDestroyShaderModule = (PFN_vkDestroyShaderModule) load(userptr, "vkDestroyShaderModule"); + glad_vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle) load(userptr, "vkDeviceWaitIdle"); + glad_vkEndCommandBuffer = (PFN_vkEndCommandBuffer) load(userptr, "vkEndCommandBuffer"); + glad_vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties) load(userptr, "vkEnumerateDeviceExtensionProperties"); + glad_vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties) load(userptr, "vkEnumerateDeviceLayerProperties"); + glad_vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties) load(userptr, "vkEnumerateInstanceExtensionProperties"); + glad_vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties) load(userptr, "vkEnumerateInstanceLayerProperties"); + glad_vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices) load(userptr, "vkEnumeratePhysicalDevices"); + glad_vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges) load(userptr, "vkFlushMappedMemoryRanges"); + glad_vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers) load(userptr, "vkFreeCommandBuffers"); + glad_vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets) load(userptr, "vkFreeDescriptorSets"); + glad_vkFreeMemory = (PFN_vkFreeMemory) load(userptr, "vkFreeMemory"); + glad_vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements) load(userptr, "vkGetBufferMemoryRequirements"); + glad_vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment) load(userptr, "vkGetDeviceMemoryCommitment"); + glad_vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr) load(userptr, "vkGetDeviceProcAddr"); + glad_vkGetDeviceQueue = (PFN_vkGetDeviceQueue) load(userptr, "vkGetDeviceQueue"); + glad_vkGetEventStatus = (PFN_vkGetEventStatus) load(userptr, "vkGetEventStatus"); + glad_vkGetFenceStatus = (PFN_vkGetFenceStatus) load(userptr, "vkGetFenceStatus"); + glad_vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements) load(userptr, "vkGetImageMemoryRequirements"); + glad_vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements) load(userptr, "vkGetImageSparseMemoryRequirements"); + glad_vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout) load(userptr, "vkGetImageSubresourceLayout"); + glad_vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr) load(userptr, "vkGetInstanceProcAddr"); + glad_vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures) load(userptr, "vkGetPhysicalDeviceFeatures"); + glad_vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties) load(userptr, "vkGetPhysicalDeviceFormatProperties"); + glad_vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties) load(userptr, "vkGetPhysicalDeviceImageFormatProperties"); + glad_vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties) load(userptr, "vkGetPhysicalDeviceMemoryProperties"); + glad_vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties) load(userptr, "vkGetPhysicalDeviceProperties"); + glad_vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties) load(userptr, "vkGetPhysicalDeviceQueueFamilyProperties"); + glad_vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties) load(userptr, "vkGetPhysicalDeviceSparseImageFormatProperties"); + glad_vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData) load(userptr, "vkGetPipelineCacheData"); + glad_vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults) load(userptr, "vkGetQueryPoolResults"); + glad_vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity) load(userptr, "vkGetRenderAreaGranularity"); + glad_vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges) load(userptr, "vkInvalidateMappedMemoryRanges"); + glad_vkMapMemory = (PFN_vkMapMemory) load(userptr, "vkMapMemory"); + glad_vkMergePipelineCaches = (PFN_vkMergePipelineCaches) load(userptr, "vkMergePipelineCaches"); + glad_vkQueueBindSparse = (PFN_vkQueueBindSparse) load(userptr, "vkQueueBindSparse"); + glad_vkQueueSubmit = (PFN_vkQueueSubmit) load(userptr, "vkQueueSubmit"); + glad_vkQueueWaitIdle = (PFN_vkQueueWaitIdle) load(userptr, "vkQueueWaitIdle"); + glad_vkResetCommandBuffer = (PFN_vkResetCommandBuffer) load(userptr, "vkResetCommandBuffer"); + glad_vkResetCommandPool = (PFN_vkResetCommandPool) load(userptr, "vkResetCommandPool"); + glad_vkResetDescriptorPool = (PFN_vkResetDescriptorPool) load(userptr, "vkResetDescriptorPool"); + glad_vkResetEvent = (PFN_vkResetEvent) load(userptr, "vkResetEvent"); + glad_vkResetFences = (PFN_vkResetFences) load(userptr, "vkResetFences"); + glad_vkSetEvent = (PFN_vkSetEvent) load(userptr, "vkSetEvent"); + glad_vkUnmapMemory = (PFN_vkUnmapMemory) load(userptr, "vkUnmapMemory"); + glad_vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets) load(userptr, "vkUpdateDescriptorSets"); + glad_vkWaitForFences = (PFN_vkWaitForFences) load(userptr, "vkWaitForFences"); +} +static void glad_vk_load_VK_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_VERSION_1_1) return; + glad_vkBindBufferMemory2 = (PFN_vkBindBufferMemory2) load(userptr, "vkBindBufferMemory2"); + glad_vkBindImageMemory2 = (PFN_vkBindImageMemory2) load(userptr, "vkBindImageMemory2"); + glad_vkCmdDispatchBase = (PFN_vkCmdDispatchBase) load(userptr, "vkCmdDispatchBase"); + glad_vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask) load(userptr, "vkCmdSetDeviceMask"); + glad_vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate) load(userptr, "vkCreateDescriptorUpdateTemplate"); + glad_vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion) load(userptr, "vkCreateSamplerYcbcrConversion"); + glad_vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate) load(userptr, "vkDestroyDescriptorUpdateTemplate"); + glad_vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion) load(userptr, "vkDestroySamplerYcbcrConversion"); + glad_vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion) load(userptr, "vkEnumerateInstanceVersion"); + glad_vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups) load(userptr, "vkEnumeratePhysicalDeviceGroups"); + glad_vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2) load(userptr, "vkGetBufferMemoryRequirements2"); + glad_vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport) load(userptr, "vkGetDescriptorSetLayoutSupport"); + glad_vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures) load(userptr, "vkGetDeviceGroupPeerMemoryFeatures"); + glad_vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2) load(userptr, "vkGetDeviceQueue2"); + glad_vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2) load(userptr, "vkGetImageMemoryRequirements2"); + glad_vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2) load(userptr, "vkGetImageSparseMemoryRequirements2"); + glad_vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties) load(userptr, "vkGetPhysicalDeviceExternalBufferProperties"); + glad_vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties) load(userptr, "vkGetPhysicalDeviceExternalFenceProperties"); + glad_vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties) load(userptr, "vkGetPhysicalDeviceExternalSemaphoreProperties"); + glad_vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2) load(userptr, "vkGetPhysicalDeviceFeatures2"); + glad_vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2) load(userptr, "vkGetPhysicalDeviceFormatProperties2"); + glad_vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2) load(userptr, "vkGetPhysicalDeviceImageFormatProperties2"); + glad_vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2) load(userptr, "vkGetPhysicalDeviceMemoryProperties2"); + glad_vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2) load(userptr, "vkGetPhysicalDeviceProperties2"); + glad_vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2) load(userptr, "vkGetPhysicalDeviceQueueFamilyProperties2"); + glad_vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2) load(userptr, "vkGetPhysicalDeviceSparseImageFormatProperties2"); + glad_vkTrimCommandPool = (PFN_vkTrimCommandPool) load(userptr, "vkTrimCommandPool"); + glad_vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate) load(userptr, "vkUpdateDescriptorSetWithTemplate"); +} +static void glad_vk_load_VK_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_VERSION_1_2) return; + glad_vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2) load(userptr, "vkCmdBeginRenderPass2"); + glad_vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount) load(userptr, "vkCmdDrawIndexedIndirectCount"); + glad_vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount) load(userptr, "vkCmdDrawIndirectCount"); + glad_vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2) load(userptr, "vkCmdEndRenderPass2"); + glad_vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2) load(userptr, "vkCmdNextSubpass2"); + glad_vkCreateRenderPass2 = (PFN_vkCreateRenderPass2) load(userptr, "vkCreateRenderPass2"); + glad_vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress) load(userptr, "vkGetBufferDeviceAddress"); + glad_vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress) load(userptr, "vkGetBufferOpaqueCaptureAddress"); + glad_vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress) load(userptr, "vkGetDeviceMemoryOpaqueCaptureAddress"); + glad_vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue) load(userptr, "vkGetSemaphoreCounterValue"); + glad_vkResetQueryPool = (PFN_vkResetQueryPool) load(userptr, "vkResetQueryPool"); + glad_vkSignalSemaphore = (PFN_vkSignalSemaphore) load(userptr, "vkSignalSemaphore"); + glad_vkWaitSemaphores = (PFN_vkWaitSemaphores) load(userptr, "vkWaitSemaphores"); +} +static void glad_vk_load_VK_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_VERSION_1_3) return; + glad_vkCmdBeginRendering = (PFN_vkCmdBeginRendering) load(userptr, "vkCmdBeginRendering"); + glad_vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2) load(userptr, "vkCmdBindVertexBuffers2"); + glad_vkCmdBlitImage2 = (PFN_vkCmdBlitImage2) load(userptr, "vkCmdBlitImage2"); + glad_vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2) load(userptr, "vkCmdCopyBuffer2"); + glad_vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2) load(userptr, "vkCmdCopyBufferToImage2"); + glad_vkCmdCopyImage2 = (PFN_vkCmdCopyImage2) load(userptr, "vkCmdCopyImage2"); + glad_vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2) load(userptr, "vkCmdCopyImageToBuffer2"); + glad_vkCmdEndRendering = (PFN_vkCmdEndRendering) load(userptr, "vkCmdEndRendering"); + glad_vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2) load(userptr, "vkCmdPipelineBarrier2"); + glad_vkCmdResetEvent2 = (PFN_vkCmdResetEvent2) load(userptr, "vkCmdResetEvent2"); + glad_vkCmdResolveImage2 = (PFN_vkCmdResolveImage2) load(userptr, "vkCmdResolveImage2"); + glad_vkCmdSetCullMode = (PFN_vkCmdSetCullMode) load(userptr, "vkCmdSetCullMode"); + glad_vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable) load(userptr, "vkCmdSetDepthBiasEnable"); + glad_vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable) load(userptr, "vkCmdSetDepthBoundsTestEnable"); + glad_vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp) load(userptr, "vkCmdSetDepthCompareOp"); + glad_vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable) load(userptr, "vkCmdSetDepthTestEnable"); + glad_vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable) load(userptr, "vkCmdSetDepthWriteEnable"); + glad_vkCmdSetEvent2 = (PFN_vkCmdSetEvent2) load(userptr, "vkCmdSetEvent2"); + glad_vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace) load(userptr, "vkCmdSetFrontFace"); + glad_vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable) load(userptr, "vkCmdSetPrimitiveRestartEnable"); + glad_vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology) load(userptr, "vkCmdSetPrimitiveTopology"); + glad_vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable) load(userptr, "vkCmdSetRasterizerDiscardEnable"); + glad_vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount) load(userptr, "vkCmdSetScissorWithCount"); + glad_vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp) load(userptr, "vkCmdSetStencilOp"); + glad_vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable) load(userptr, "vkCmdSetStencilTestEnable"); + glad_vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount) load(userptr, "vkCmdSetViewportWithCount"); + glad_vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2) load(userptr, "vkCmdWaitEvents2"); + glad_vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2) load(userptr, "vkCmdWriteTimestamp2"); + glad_vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot) load(userptr, "vkCreatePrivateDataSlot"); + glad_vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot) load(userptr, "vkDestroyPrivateDataSlot"); + glad_vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements) load(userptr, "vkGetDeviceBufferMemoryRequirements"); + glad_vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements) load(userptr, "vkGetDeviceImageMemoryRequirements"); + glad_vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements) load(userptr, "vkGetDeviceImageSparseMemoryRequirements"); + glad_vkGetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties) load(userptr, "vkGetPhysicalDeviceToolProperties"); + glad_vkGetPrivateData = (PFN_vkGetPrivateData) load(userptr, "vkGetPrivateData"); + glad_vkQueueSubmit2 = (PFN_vkQueueSubmit2) load(userptr, "vkQueueSubmit2"); + glad_vkSetPrivateData = (PFN_vkSetPrivateData) load(userptr, "vkSetPrivateData"); +} +static void glad_vk_load_VK_VERSION_1_4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_VERSION_1_4) return; + glad_vkCmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2) load(userptr, "vkCmdBindDescriptorSets2"); + glad_vkCmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2) load(userptr, "vkCmdBindIndexBuffer2"); + glad_vkCmdPushConstants2 = (PFN_vkCmdPushConstants2) load(userptr, "vkCmdPushConstants2"); + glad_vkCmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet) load(userptr, "vkCmdPushDescriptorSet"); + glad_vkCmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2) load(userptr, "vkCmdPushDescriptorSet2"); + glad_vkCmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate) load(userptr, "vkCmdPushDescriptorSetWithTemplate"); + glad_vkCmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2) load(userptr, "vkCmdPushDescriptorSetWithTemplate2"); + glad_vkCmdSetLineStipple = (PFN_vkCmdSetLineStipple) load(userptr, "vkCmdSetLineStipple"); + glad_vkCmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations) load(userptr, "vkCmdSetRenderingAttachmentLocations"); + glad_vkCmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices) load(userptr, "vkCmdSetRenderingInputAttachmentIndices"); + glad_vkCopyImageToImage = (PFN_vkCopyImageToImage) load(userptr, "vkCopyImageToImage"); + glad_vkCopyImageToMemory = (PFN_vkCopyImageToMemory) load(userptr, "vkCopyImageToMemory"); + glad_vkCopyMemoryToImage = (PFN_vkCopyMemoryToImage) load(userptr, "vkCopyMemoryToImage"); + glad_vkGetDeviceImageSubresourceLayout = (PFN_vkGetDeviceImageSubresourceLayout) load(userptr, "vkGetDeviceImageSubresourceLayout"); + glad_vkGetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2) load(userptr, "vkGetImageSubresourceLayout2"); + glad_vkGetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity) load(userptr, "vkGetRenderingAreaGranularity"); + glad_vkMapMemory2 = (PFN_vkMapMemory2) load(userptr, "vkMapMemory2"); + glad_vkTransitionImageLayout = (PFN_vkTransitionImageLayout) load(userptr, "vkTransitionImageLayout"); + glad_vkUnmapMemory2 = (PFN_vkUnmapMemory2) load(userptr, "vkUnmapMemory2"); +} +static void glad_vk_load_VK_AMD_draw_indirect_count( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_AMD_draw_indirect_count) return; + glad_vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD) load(userptr, "vkCmdDrawIndexedIndirectCountAMD"); + glad_vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD) load(userptr, "vkCmdDrawIndirectCountAMD"); +} +static void glad_vk_load_VK_EXT_buffer_device_address( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_buffer_device_address) return; + glad_vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT) load(userptr, "vkGetBufferDeviceAddressEXT"); +} +static void glad_vk_load_VK_EXT_extended_dynamic_state( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_extended_dynamic_state) return; + glad_vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT) load(userptr, "vkCmdBindVertexBuffers2EXT"); + glad_vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT) load(userptr, "vkCmdSetCullModeEXT"); + glad_vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT) load(userptr, "vkCmdSetDepthBoundsTestEnableEXT"); + glad_vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT) load(userptr, "vkCmdSetDepthCompareOpEXT"); + glad_vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT) load(userptr, "vkCmdSetDepthTestEnableEXT"); + glad_vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT) load(userptr, "vkCmdSetDepthWriteEnableEXT"); + glad_vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT) load(userptr, "vkCmdSetFrontFaceEXT"); + glad_vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT) load(userptr, "vkCmdSetPrimitiveTopologyEXT"); + glad_vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT) load(userptr, "vkCmdSetScissorWithCountEXT"); + glad_vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT) load(userptr, "vkCmdSetStencilOpEXT"); + glad_vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT) load(userptr, "vkCmdSetStencilTestEnableEXT"); + glad_vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT) load(userptr, "vkCmdSetViewportWithCountEXT"); +} +static void glad_vk_load_VK_EXT_extended_dynamic_state2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_extended_dynamic_state2) return; + glad_vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT) load(userptr, "vkCmdSetDepthBiasEnableEXT"); + glad_vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT) load(userptr, "vkCmdSetLogicOpEXT"); + glad_vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT) load(userptr, "vkCmdSetPatchControlPointsEXT"); + glad_vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT) load(userptr, "vkCmdSetPrimitiveRestartEnableEXT"); + glad_vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT) load(userptr, "vkCmdSetRasterizerDiscardEnableEXT"); +} +static void glad_vk_load_VK_EXT_host_image_copy( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_host_image_copy) return; + glad_vkCopyImageToImageEXT = (PFN_vkCopyImageToImageEXT) load(userptr, "vkCopyImageToImageEXT"); + glad_vkCopyImageToMemoryEXT = (PFN_vkCopyImageToMemoryEXT) load(userptr, "vkCopyImageToMemoryEXT"); + glad_vkCopyMemoryToImageEXT = (PFN_vkCopyMemoryToImageEXT) load(userptr, "vkCopyMemoryToImageEXT"); + glad_vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT) load(userptr, "vkGetImageSubresourceLayout2EXT"); + glad_vkTransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT) load(userptr, "vkTransitionImageLayoutEXT"); +} +static void glad_vk_load_VK_EXT_host_query_reset( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_host_query_reset) return; + glad_vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT) load(userptr, "vkResetQueryPoolEXT"); +} +static void glad_vk_load_VK_EXT_image_compression_control( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_image_compression_control) return; + glad_vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT) load(userptr, "vkGetImageSubresourceLayout2EXT"); +} +static void glad_vk_load_VK_EXT_line_rasterization( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_line_rasterization) return; + glad_vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT) load(userptr, "vkCmdSetLineStippleEXT"); +} +static void glad_vk_load_VK_EXT_private_data( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_private_data) return; + glad_vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT) load(userptr, "vkCreatePrivateDataSlotEXT"); + glad_vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT) load(userptr, "vkDestroyPrivateDataSlotEXT"); + glad_vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT) load(userptr, "vkGetPrivateDataEXT"); + glad_vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT) load(userptr, "vkSetPrivateDataEXT"); +} +static void glad_vk_load_VK_EXT_shader_object( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_shader_object) return; + glad_vkCmdBindShadersEXT = (PFN_vkCmdBindShadersEXT) load(userptr, "vkCmdBindShadersEXT"); + glad_vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT) load(userptr, "vkCmdBindVertexBuffers2EXT"); + glad_vkCmdSetAlphaToCoverageEnableEXT = (PFN_vkCmdSetAlphaToCoverageEnableEXT) load(userptr, "vkCmdSetAlphaToCoverageEnableEXT"); + glad_vkCmdSetAlphaToOneEnableEXT = (PFN_vkCmdSetAlphaToOneEnableEXT) load(userptr, "vkCmdSetAlphaToOneEnableEXT"); + glad_vkCmdSetColorBlendAdvancedEXT = (PFN_vkCmdSetColorBlendAdvancedEXT) load(userptr, "vkCmdSetColorBlendAdvancedEXT"); + glad_vkCmdSetColorBlendEnableEXT = (PFN_vkCmdSetColorBlendEnableEXT) load(userptr, "vkCmdSetColorBlendEnableEXT"); + glad_vkCmdSetColorBlendEquationEXT = (PFN_vkCmdSetColorBlendEquationEXT) load(userptr, "vkCmdSetColorBlendEquationEXT"); + glad_vkCmdSetColorWriteMaskEXT = (PFN_vkCmdSetColorWriteMaskEXT) load(userptr, "vkCmdSetColorWriteMaskEXT"); + glad_vkCmdSetConservativeRasterizationModeEXT = (PFN_vkCmdSetConservativeRasterizationModeEXT) load(userptr, "vkCmdSetConservativeRasterizationModeEXT"); + glad_vkCmdSetCoverageModulationModeNV = (PFN_vkCmdSetCoverageModulationModeNV) load(userptr, "vkCmdSetCoverageModulationModeNV"); + glad_vkCmdSetCoverageModulationTableEnableNV = (PFN_vkCmdSetCoverageModulationTableEnableNV) load(userptr, "vkCmdSetCoverageModulationTableEnableNV"); + glad_vkCmdSetCoverageModulationTableNV = (PFN_vkCmdSetCoverageModulationTableNV) load(userptr, "vkCmdSetCoverageModulationTableNV"); + glad_vkCmdSetCoverageReductionModeNV = (PFN_vkCmdSetCoverageReductionModeNV) load(userptr, "vkCmdSetCoverageReductionModeNV"); + glad_vkCmdSetCoverageToColorEnableNV = (PFN_vkCmdSetCoverageToColorEnableNV) load(userptr, "vkCmdSetCoverageToColorEnableNV"); + glad_vkCmdSetCoverageToColorLocationNV = (PFN_vkCmdSetCoverageToColorLocationNV) load(userptr, "vkCmdSetCoverageToColorLocationNV"); + glad_vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT) load(userptr, "vkCmdSetCullModeEXT"); + glad_vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT) load(userptr, "vkCmdSetDepthBiasEnableEXT"); + glad_vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT) load(userptr, "vkCmdSetDepthBoundsTestEnableEXT"); + glad_vkCmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT) load(userptr, "vkCmdSetDepthClampEnableEXT"); + glad_vkCmdSetDepthClampRangeEXT = (PFN_vkCmdSetDepthClampRangeEXT) load(userptr, "vkCmdSetDepthClampRangeEXT"); + glad_vkCmdSetDepthClipEnableEXT = (PFN_vkCmdSetDepthClipEnableEXT) load(userptr, "vkCmdSetDepthClipEnableEXT"); + glad_vkCmdSetDepthClipNegativeOneToOneEXT = (PFN_vkCmdSetDepthClipNegativeOneToOneEXT) load(userptr, "vkCmdSetDepthClipNegativeOneToOneEXT"); + glad_vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT) load(userptr, "vkCmdSetDepthCompareOpEXT"); + glad_vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT) load(userptr, "vkCmdSetDepthTestEnableEXT"); + glad_vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT) load(userptr, "vkCmdSetDepthWriteEnableEXT"); + glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT = (PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT) load(userptr, "vkCmdSetExtraPrimitiveOverestimationSizeEXT"); + glad_vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT) load(userptr, "vkCmdSetFrontFaceEXT"); + glad_vkCmdSetLineRasterizationModeEXT = (PFN_vkCmdSetLineRasterizationModeEXT) load(userptr, "vkCmdSetLineRasterizationModeEXT"); + glad_vkCmdSetLineStippleEnableEXT = (PFN_vkCmdSetLineStippleEnableEXT) load(userptr, "vkCmdSetLineStippleEnableEXT"); + glad_vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT) load(userptr, "vkCmdSetLogicOpEXT"); + glad_vkCmdSetLogicOpEnableEXT = (PFN_vkCmdSetLogicOpEnableEXT) load(userptr, "vkCmdSetLogicOpEnableEXT"); + glad_vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT) load(userptr, "vkCmdSetPatchControlPointsEXT"); + glad_vkCmdSetPolygonModeEXT = (PFN_vkCmdSetPolygonModeEXT) load(userptr, "vkCmdSetPolygonModeEXT"); + glad_vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT) load(userptr, "vkCmdSetPrimitiveRestartEnableEXT"); + glad_vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT) load(userptr, "vkCmdSetPrimitiveTopologyEXT"); + glad_vkCmdSetProvokingVertexModeEXT = (PFN_vkCmdSetProvokingVertexModeEXT) load(userptr, "vkCmdSetProvokingVertexModeEXT"); + glad_vkCmdSetRasterizationSamplesEXT = (PFN_vkCmdSetRasterizationSamplesEXT) load(userptr, "vkCmdSetRasterizationSamplesEXT"); + glad_vkCmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT) load(userptr, "vkCmdSetRasterizationStreamEXT"); + glad_vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT) load(userptr, "vkCmdSetRasterizerDiscardEnableEXT"); + glad_vkCmdSetRepresentativeFragmentTestEnableNV = (PFN_vkCmdSetRepresentativeFragmentTestEnableNV) load(userptr, "vkCmdSetRepresentativeFragmentTestEnableNV"); + glad_vkCmdSetSampleLocationsEnableEXT = (PFN_vkCmdSetSampleLocationsEnableEXT) load(userptr, "vkCmdSetSampleLocationsEnableEXT"); + glad_vkCmdSetSampleMaskEXT = (PFN_vkCmdSetSampleMaskEXT) load(userptr, "vkCmdSetSampleMaskEXT"); + glad_vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT) load(userptr, "vkCmdSetScissorWithCountEXT"); + glad_vkCmdSetShadingRateImageEnableNV = (PFN_vkCmdSetShadingRateImageEnableNV) load(userptr, "vkCmdSetShadingRateImageEnableNV"); + glad_vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT) load(userptr, "vkCmdSetStencilOpEXT"); + glad_vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT) load(userptr, "vkCmdSetStencilTestEnableEXT"); + glad_vkCmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT) load(userptr, "vkCmdSetTessellationDomainOriginEXT"); + glad_vkCmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT) load(userptr, "vkCmdSetVertexInputEXT"); + glad_vkCmdSetViewportSwizzleNV = (PFN_vkCmdSetViewportSwizzleNV) load(userptr, "vkCmdSetViewportSwizzleNV"); + glad_vkCmdSetViewportWScalingEnableNV = (PFN_vkCmdSetViewportWScalingEnableNV) load(userptr, "vkCmdSetViewportWScalingEnableNV"); + glad_vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT) load(userptr, "vkCmdSetViewportWithCountEXT"); + glad_vkCreateShadersEXT = (PFN_vkCreateShadersEXT) load(userptr, "vkCreateShadersEXT"); + glad_vkDestroyShaderEXT = (PFN_vkDestroyShaderEXT) load(userptr, "vkDestroyShaderEXT"); + glad_vkGetShaderBinaryDataEXT = (PFN_vkGetShaderBinaryDataEXT) load(userptr, "vkGetShaderBinaryDataEXT"); +} +static void glad_vk_load_VK_EXT_tooling_info( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_EXT_tooling_info) return; + glad_vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT) load(userptr, "vkGetPhysicalDeviceToolPropertiesEXT"); +} +static void glad_vk_load_VK_KHR_bind_memory2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_bind_memory2) return; + glad_vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR) load(userptr, "vkBindBufferMemory2KHR"); + glad_vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR) load(userptr, "vkBindImageMemory2KHR"); +} +static void glad_vk_load_VK_KHR_buffer_device_address( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_buffer_device_address) return; + glad_vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR) load(userptr, "vkGetBufferDeviceAddressKHR"); + glad_vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR) load(userptr, "vkGetBufferOpaqueCaptureAddressKHR"); + glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR) load(userptr, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"); +} +static void glad_vk_load_VK_KHR_copy_commands2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_copy_commands2) return; + glad_vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR) load(userptr, "vkCmdBlitImage2KHR"); + glad_vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR) load(userptr, "vkCmdCopyBuffer2KHR"); + glad_vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR) load(userptr, "vkCmdCopyBufferToImage2KHR"); + glad_vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR) load(userptr, "vkCmdCopyImage2KHR"); + glad_vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR) load(userptr, "vkCmdCopyImageToBuffer2KHR"); + glad_vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR) load(userptr, "vkCmdResolveImage2KHR"); +} +static void glad_vk_load_VK_KHR_create_renderpass2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_create_renderpass2) return; + glad_vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR) load(userptr, "vkCmdBeginRenderPass2KHR"); + glad_vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR) load(userptr, "vkCmdEndRenderPass2KHR"); + glad_vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR) load(userptr, "vkCmdNextSubpass2KHR"); + glad_vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR) load(userptr, "vkCreateRenderPass2KHR"); +} +static void glad_vk_load_VK_KHR_descriptor_update_template( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_descriptor_update_template) return; + glad_vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR) load(userptr, "vkCmdPushDescriptorSetWithTemplateKHR"); + glad_vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR) load(userptr, "vkCreateDescriptorUpdateTemplateKHR"); + glad_vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR) load(userptr, "vkDestroyDescriptorUpdateTemplateKHR"); + glad_vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR) load(userptr, "vkUpdateDescriptorSetWithTemplateKHR"); +} +static void glad_vk_load_VK_KHR_device_group( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_device_group) return; + glad_vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR) load(userptr, "vkAcquireNextImage2KHR"); + glad_vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR) load(userptr, "vkCmdDispatchBaseKHR"); + glad_vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR) load(userptr, "vkCmdSetDeviceMaskKHR"); + glad_vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR) load(userptr, "vkGetDeviceGroupPeerMemoryFeaturesKHR"); + glad_vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR) load(userptr, "vkGetDeviceGroupPresentCapabilitiesKHR"); + glad_vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR) load(userptr, "vkGetDeviceGroupSurfacePresentModesKHR"); + glad_vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR) load(userptr, "vkGetPhysicalDevicePresentRectanglesKHR"); +} +static void glad_vk_load_VK_KHR_device_group_creation( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_device_group_creation) return; + glad_vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR) load(userptr, "vkEnumeratePhysicalDeviceGroupsKHR"); +} +static void glad_vk_load_VK_KHR_draw_indirect_count( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_draw_indirect_count) return; + glad_vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR) load(userptr, "vkCmdDrawIndexedIndirectCountKHR"); + glad_vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR) load(userptr, "vkCmdDrawIndirectCountKHR"); +} +static void glad_vk_load_VK_KHR_dynamic_rendering( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_dynamic_rendering) return; + glad_vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR) load(userptr, "vkCmdBeginRenderingKHR"); + glad_vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR) load(userptr, "vkCmdEndRenderingKHR"); +} +static void glad_vk_load_VK_KHR_dynamic_rendering_local_read( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_dynamic_rendering_local_read) return; + glad_vkCmdSetRenderingAttachmentLocationsKHR = (PFN_vkCmdSetRenderingAttachmentLocationsKHR) load(userptr, "vkCmdSetRenderingAttachmentLocationsKHR"); + glad_vkCmdSetRenderingInputAttachmentIndicesKHR = (PFN_vkCmdSetRenderingInputAttachmentIndicesKHR) load(userptr, "vkCmdSetRenderingInputAttachmentIndicesKHR"); +} +static void glad_vk_load_VK_KHR_external_fence_capabilities( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_external_fence_capabilities) return; + glad_vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR) load(userptr, "vkGetPhysicalDeviceExternalFencePropertiesKHR"); +} +static void glad_vk_load_VK_KHR_external_memory_capabilities( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_external_memory_capabilities) return; + glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR) load(userptr, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"); +} +static void glad_vk_load_VK_KHR_external_semaphore_capabilities( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_external_semaphore_capabilities) return; + glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR) load(userptr, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"); +} +static void glad_vk_load_VK_KHR_get_memory_requirements2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_get_memory_requirements2) return; + glad_vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR) load(userptr, "vkGetBufferMemoryRequirements2KHR"); + glad_vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR) load(userptr, "vkGetImageMemoryRequirements2KHR"); + glad_vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR) load(userptr, "vkGetImageSparseMemoryRequirements2KHR"); +} +static void glad_vk_load_VK_KHR_get_physical_device_properties2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_get_physical_device_properties2) return; + glad_vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR) load(userptr, "vkGetPhysicalDeviceFeatures2KHR"); + glad_vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR) load(userptr, "vkGetPhysicalDeviceFormatProperties2KHR"); + glad_vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR) load(userptr, "vkGetPhysicalDeviceImageFormatProperties2KHR"); + glad_vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR) load(userptr, "vkGetPhysicalDeviceMemoryProperties2KHR"); + glad_vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR) load(userptr, "vkGetPhysicalDeviceProperties2KHR"); + glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR) load(userptr, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"); + glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR) load(userptr, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"); +} +static void glad_vk_load_VK_KHR_line_rasterization( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_line_rasterization) return; + glad_vkCmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR) load(userptr, "vkCmdSetLineStippleKHR"); +} +static void glad_vk_load_VK_KHR_maintenance1( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_maintenance1) return; + glad_vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR) load(userptr, "vkTrimCommandPoolKHR"); +} +static void glad_vk_load_VK_KHR_maintenance3( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_maintenance3) return; + glad_vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR) load(userptr, "vkGetDescriptorSetLayoutSupportKHR"); +} +static void glad_vk_load_VK_KHR_maintenance4( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_maintenance4) return; + glad_vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR) load(userptr, "vkGetDeviceBufferMemoryRequirementsKHR"); + glad_vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR) load(userptr, "vkGetDeviceImageMemoryRequirementsKHR"); + glad_vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR) load(userptr, "vkGetDeviceImageSparseMemoryRequirementsKHR"); +} +static void glad_vk_load_VK_KHR_maintenance5( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_maintenance5) return; + glad_vkCmdBindIndexBuffer2KHR = (PFN_vkCmdBindIndexBuffer2KHR) load(userptr, "vkCmdBindIndexBuffer2KHR"); + glad_vkGetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR) load(userptr, "vkGetDeviceImageSubresourceLayoutKHR"); + glad_vkGetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR) load(userptr, "vkGetImageSubresourceLayout2KHR"); + glad_vkGetRenderingAreaGranularityKHR = (PFN_vkGetRenderingAreaGranularityKHR) load(userptr, "vkGetRenderingAreaGranularityKHR"); +} +static void glad_vk_load_VK_KHR_maintenance6( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_maintenance6) return; + glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT) load(userptr, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT"); + glad_vkCmdBindDescriptorSets2KHR = (PFN_vkCmdBindDescriptorSets2KHR) load(userptr, "vkCmdBindDescriptorSets2KHR"); + glad_vkCmdPushConstants2KHR = (PFN_vkCmdPushConstants2KHR) load(userptr, "vkCmdPushConstants2KHR"); + glad_vkCmdPushDescriptorSet2KHR = (PFN_vkCmdPushDescriptorSet2KHR) load(userptr, "vkCmdPushDescriptorSet2KHR"); + glad_vkCmdPushDescriptorSetWithTemplate2KHR = (PFN_vkCmdPushDescriptorSetWithTemplate2KHR) load(userptr, "vkCmdPushDescriptorSetWithTemplate2KHR"); + glad_vkCmdSetDescriptorBufferOffsets2EXT = (PFN_vkCmdSetDescriptorBufferOffsets2EXT) load(userptr, "vkCmdSetDescriptorBufferOffsets2EXT"); +} +static void glad_vk_load_VK_KHR_map_memory2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_map_memory2) return; + glad_vkMapMemory2KHR = (PFN_vkMapMemory2KHR) load(userptr, "vkMapMemory2KHR"); + glad_vkUnmapMemory2KHR = (PFN_vkUnmapMemory2KHR) load(userptr, "vkUnmapMemory2KHR"); +} +static void glad_vk_load_VK_KHR_push_descriptor( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_push_descriptor) return; + glad_vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR) load(userptr, "vkCmdPushDescriptorSetKHR"); + glad_vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR) load(userptr, "vkCmdPushDescriptorSetWithTemplateKHR"); +} +static void glad_vk_load_VK_KHR_sampler_ycbcr_conversion( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_sampler_ycbcr_conversion) return; + glad_vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR) load(userptr, "vkCreateSamplerYcbcrConversionKHR"); + glad_vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR) load(userptr, "vkDestroySamplerYcbcrConversionKHR"); +} +static void glad_vk_load_VK_KHR_synchronization2( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_synchronization2) return; + glad_vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR) load(userptr, "vkCmdPipelineBarrier2KHR"); + glad_vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR) load(userptr, "vkCmdResetEvent2KHR"); + glad_vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR) load(userptr, "vkCmdSetEvent2KHR"); + glad_vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR) load(userptr, "vkCmdWaitEvents2KHR"); + glad_vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR) load(userptr, "vkCmdWriteTimestamp2KHR"); + glad_vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR) load(userptr, "vkQueueSubmit2KHR"); +} +static void glad_vk_load_VK_KHR_timeline_semaphore( GLADuserptrloadfunc load, void* userptr) { + if(!GLAD_VK_KHR_timeline_semaphore) return; + glad_vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR) load(userptr, "vkGetSemaphoreCounterValueKHR"); + glad_vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR) load(userptr, "vkSignalSemaphoreKHR"); + glad_vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR) load(userptr, "vkWaitSemaphoresKHR"); +} + + +static void glad_vk_resolve_aliases(void) { + if (glad_vkBindBufferMemory2 == NULL && glad_vkBindBufferMemory2KHR != NULL) glad_vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)glad_vkBindBufferMemory2KHR; + if (glad_vkBindBufferMemory2KHR == NULL && glad_vkBindBufferMemory2 != NULL) glad_vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)glad_vkBindBufferMemory2; + if (glad_vkBindImageMemory2 == NULL && glad_vkBindImageMemory2KHR != NULL) glad_vkBindImageMemory2 = (PFN_vkBindImageMemory2)glad_vkBindImageMemory2KHR; + if (glad_vkBindImageMemory2KHR == NULL && glad_vkBindImageMemory2 != NULL) glad_vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)glad_vkBindImageMemory2; + if (glad_vkCmdBeginRendering == NULL && glad_vkCmdBeginRenderingKHR != NULL) glad_vkCmdBeginRendering = (PFN_vkCmdBeginRendering)glad_vkCmdBeginRenderingKHR; + if (glad_vkCmdBeginRenderingKHR == NULL && glad_vkCmdBeginRendering != NULL) glad_vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)glad_vkCmdBeginRendering; + if (glad_vkCmdBeginRenderPass2 == NULL && glad_vkCmdBeginRenderPass2KHR != NULL) glad_vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)glad_vkCmdBeginRenderPass2KHR; + if (glad_vkCmdBeginRenderPass2KHR == NULL && glad_vkCmdBeginRenderPass2 != NULL) glad_vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)glad_vkCmdBeginRenderPass2; + if (glad_vkCmdBindDescriptorSets2 == NULL && glad_vkCmdBindDescriptorSets2KHR != NULL) glad_vkCmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2)glad_vkCmdBindDescriptorSets2KHR; + if (glad_vkCmdBindDescriptorSets2KHR == NULL && glad_vkCmdBindDescriptorSets2 != NULL) glad_vkCmdBindDescriptorSets2KHR = (PFN_vkCmdBindDescriptorSets2KHR)glad_vkCmdBindDescriptorSets2; + if (glad_vkCmdBindIndexBuffer2 == NULL && glad_vkCmdBindIndexBuffer2KHR != NULL) glad_vkCmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2)glad_vkCmdBindIndexBuffer2KHR; + if (glad_vkCmdBindIndexBuffer2KHR == NULL && glad_vkCmdBindIndexBuffer2 != NULL) glad_vkCmdBindIndexBuffer2KHR = (PFN_vkCmdBindIndexBuffer2KHR)glad_vkCmdBindIndexBuffer2; + if (glad_vkCmdBindVertexBuffers2 == NULL && glad_vkCmdBindVertexBuffers2EXT != NULL) glad_vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)glad_vkCmdBindVertexBuffers2EXT; + if (glad_vkCmdBindVertexBuffers2EXT == NULL && glad_vkCmdBindVertexBuffers2 != NULL) glad_vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)glad_vkCmdBindVertexBuffers2; + if (glad_vkCmdBlitImage2 == NULL && glad_vkCmdBlitImage2KHR != NULL) glad_vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)glad_vkCmdBlitImage2KHR; + if (glad_vkCmdBlitImage2KHR == NULL && glad_vkCmdBlitImage2 != NULL) glad_vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)glad_vkCmdBlitImage2; + if (glad_vkCmdCopyBuffer2 == NULL && glad_vkCmdCopyBuffer2KHR != NULL) glad_vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)glad_vkCmdCopyBuffer2KHR; + if (glad_vkCmdCopyBuffer2KHR == NULL && glad_vkCmdCopyBuffer2 != NULL) glad_vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)glad_vkCmdCopyBuffer2; + if (glad_vkCmdCopyBufferToImage2 == NULL && glad_vkCmdCopyBufferToImage2KHR != NULL) glad_vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)glad_vkCmdCopyBufferToImage2KHR; + if (glad_vkCmdCopyBufferToImage2KHR == NULL && glad_vkCmdCopyBufferToImage2 != NULL) glad_vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)glad_vkCmdCopyBufferToImage2; + if (glad_vkCmdCopyImage2 == NULL && glad_vkCmdCopyImage2KHR != NULL) glad_vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)glad_vkCmdCopyImage2KHR; + if (glad_vkCmdCopyImage2KHR == NULL && glad_vkCmdCopyImage2 != NULL) glad_vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)glad_vkCmdCopyImage2; + if (glad_vkCmdCopyImageToBuffer2 == NULL && glad_vkCmdCopyImageToBuffer2KHR != NULL) glad_vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)glad_vkCmdCopyImageToBuffer2KHR; + if (glad_vkCmdCopyImageToBuffer2KHR == NULL && glad_vkCmdCopyImageToBuffer2 != NULL) glad_vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)glad_vkCmdCopyImageToBuffer2; + if (glad_vkCmdDispatchBase == NULL && glad_vkCmdDispatchBaseKHR != NULL) glad_vkCmdDispatchBase = (PFN_vkCmdDispatchBase)glad_vkCmdDispatchBaseKHR; + if (glad_vkCmdDispatchBaseKHR == NULL && glad_vkCmdDispatchBase != NULL) glad_vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)glad_vkCmdDispatchBase; + if (glad_vkCmdDrawIndexedIndirectCount == NULL && glad_vkCmdDrawIndexedIndirectCountAMD != NULL) glad_vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)glad_vkCmdDrawIndexedIndirectCountAMD; + if (glad_vkCmdDrawIndexedIndirectCount == NULL && glad_vkCmdDrawIndexedIndirectCountKHR != NULL) glad_vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)glad_vkCmdDrawIndexedIndirectCountKHR; + if (glad_vkCmdDrawIndexedIndirectCountAMD == NULL && glad_vkCmdDrawIndexedIndirectCount != NULL) glad_vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)glad_vkCmdDrawIndexedIndirectCount; + if (glad_vkCmdDrawIndexedIndirectCountAMD == NULL && glad_vkCmdDrawIndexedIndirectCountKHR != NULL) glad_vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)glad_vkCmdDrawIndexedIndirectCountKHR; + if (glad_vkCmdDrawIndexedIndirectCountKHR == NULL && glad_vkCmdDrawIndexedIndirectCount != NULL) glad_vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)glad_vkCmdDrawIndexedIndirectCount; + if (glad_vkCmdDrawIndexedIndirectCountKHR == NULL && glad_vkCmdDrawIndexedIndirectCountAMD != NULL) glad_vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)glad_vkCmdDrawIndexedIndirectCountAMD; + if (glad_vkCmdDrawIndirectCount == NULL && glad_vkCmdDrawIndirectCountAMD != NULL) glad_vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)glad_vkCmdDrawIndirectCountAMD; + if (glad_vkCmdDrawIndirectCount == NULL && glad_vkCmdDrawIndirectCountKHR != NULL) glad_vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)glad_vkCmdDrawIndirectCountKHR; + if (glad_vkCmdDrawIndirectCountAMD == NULL && glad_vkCmdDrawIndirectCount != NULL) glad_vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)glad_vkCmdDrawIndirectCount; + if (glad_vkCmdDrawIndirectCountAMD == NULL && glad_vkCmdDrawIndirectCountKHR != NULL) glad_vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)glad_vkCmdDrawIndirectCountKHR; + if (glad_vkCmdDrawIndirectCountKHR == NULL && glad_vkCmdDrawIndirectCount != NULL) glad_vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)glad_vkCmdDrawIndirectCount; + if (glad_vkCmdDrawIndirectCountKHR == NULL && glad_vkCmdDrawIndirectCountAMD != NULL) glad_vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)glad_vkCmdDrawIndirectCountAMD; + if (glad_vkCmdEndRendering == NULL && glad_vkCmdEndRenderingKHR != NULL) glad_vkCmdEndRendering = (PFN_vkCmdEndRendering)glad_vkCmdEndRenderingKHR; + if (glad_vkCmdEndRenderingKHR == NULL && glad_vkCmdEndRendering != NULL) glad_vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)glad_vkCmdEndRendering; + if (glad_vkCmdEndRenderPass2 == NULL && glad_vkCmdEndRenderPass2KHR != NULL) glad_vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)glad_vkCmdEndRenderPass2KHR; + if (glad_vkCmdEndRenderPass2KHR == NULL && glad_vkCmdEndRenderPass2 != NULL) glad_vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)glad_vkCmdEndRenderPass2; + if (glad_vkCmdNextSubpass2 == NULL && glad_vkCmdNextSubpass2KHR != NULL) glad_vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)glad_vkCmdNextSubpass2KHR; + if (glad_vkCmdNextSubpass2KHR == NULL && glad_vkCmdNextSubpass2 != NULL) glad_vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)glad_vkCmdNextSubpass2; + if (glad_vkCmdPipelineBarrier2 == NULL && glad_vkCmdPipelineBarrier2KHR != NULL) glad_vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)glad_vkCmdPipelineBarrier2KHR; + if (glad_vkCmdPipelineBarrier2KHR == NULL && glad_vkCmdPipelineBarrier2 != NULL) glad_vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)glad_vkCmdPipelineBarrier2; + if (glad_vkCmdPushConstants2 == NULL && glad_vkCmdPushConstants2KHR != NULL) glad_vkCmdPushConstants2 = (PFN_vkCmdPushConstants2)glad_vkCmdPushConstants2KHR; + if (glad_vkCmdPushConstants2KHR == NULL && glad_vkCmdPushConstants2 != NULL) glad_vkCmdPushConstants2KHR = (PFN_vkCmdPushConstants2KHR)glad_vkCmdPushConstants2; + if (glad_vkCmdPushDescriptorSet == NULL && glad_vkCmdPushDescriptorSetKHR != NULL) glad_vkCmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet)glad_vkCmdPushDescriptorSetKHR; + if (glad_vkCmdPushDescriptorSet2 == NULL && glad_vkCmdPushDescriptorSet2KHR != NULL) glad_vkCmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2)glad_vkCmdPushDescriptorSet2KHR; + if (glad_vkCmdPushDescriptorSet2KHR == NULL && glad_vkCmdPushDescriptorSet2 != NULL) glad_vkCmdPushDescriptorSet2KHR = (PFN_vkCmdPushDescriptorSet2KHR)glad_vkCmdPushDescriptorSet2; + if (glad_vkCmdPushDescriptorSetKHR == NULL && glad_vkCmdPushDescriptorSet != NULL) glad_vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)glad_vkCmdPushDescriptorSet; + if (glad_vkCmdPushDescriptorSetWithTemplate == NULL && glad_vkCmdPushDescriptorSetWithTemplateKHR != NULL) glad_vkCmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate)glad_vkCmdPushDescriptorSetWithTemplateKHR; + if (glad_vkCmdPushDescriptorSetWithTemplate2 == NULL && glad_vkCmdPushDescriptorSetWithTemplate2KHR != NULL) glad_vkCmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2)glad_vkCmdPushDescriptorSetWithTemplate2KHR; + if (glad_vkCmdPushDescriptorSetWithTemplate2KHR == NULL && glad_vkCmdPushDescriptorSetWithTemplate2 != NULL) glad_vkCmdPushDescriptorSetWithTemplate2KHR = (PFN_vkCmdPushDescriptorSetWithTemplate2KHR)glad_vkCmdPushDescriptorSetWithTemplate2; + if (glad_vkCmdPushDescriptorSetWithTemplateKHR == NULL && glad_vkCmdPushDescriptorSetWithTemplate != NULL) glad_vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)glad_vkCmdPushDescriptorSetWithTemplate; + if (glad_vkCmdResetEvent2 == NULL && glad_vkCmdResetEvent2KHR != NULL) glad_vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)glad_vkCmdResetEvent2KHR; + if (glad_vkCmdResetEvent2KHR == NULL && glad_vkCmdResetEvent2 != NULL) glad_vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)glad_vkCmdResetEvent2; + if (glad_vkCmdResolveImage2 == NULL && glad_vkCmdResolveImage2KHR != NULL) glad_vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)glad_vkCmdResolveImage2KHR; + if (glad_vkCmdResolveImage2KHR == NULL && glad_vkCmdResolveImage2 != NULL) glad_vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)glad_vkCmdResolveImage2; + if (glad_vkCmdSetCullMode == NULL && glad_vkCmdSetCullModeEXT != NULL) glad_vkCmdSetCullMode = (PFN_vkCmdSetCullMode)glad_vkCmdSetCullModeEXT; + if (glad_vkCmdSetCullModeEXT == NULL && glad_vkCmdSetCullMode != NULL) glad_vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)glad_vkCmdSetCullMode; + if (glad_vkCmdSetDepthBiasEnable == NULL && glad_vkCmdSetDepthBiasEnableEXT != NULL) glad_vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)glad_vkCmdSetDepthBiasEnableEXT; + if (glad_vkCmdSetDepthBiasEnableEXT == NULL && glad_vkCmdSetDepthBiasEnable != NULL) glad_vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)glad_vkCmdSetDepthBiasEnable; + if (glad_vkCmdSetDepthBoundsTestEnable == NULL && glad_vkCmdSetDepthBoundsTestEnableEXT != NULL) glad_vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)glad_vkCmdSetDepthBoundsTestEnableEXT; + if (glad_vkCmdSetDepthBoundsTestEnableEXT == NULL && glad_vkCmdSetDepthBoundsTestEnable != NULL) glad_vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)glad_vkCmdSetDepthBoundsTestEnable; + if (glad_vkCmdSetDepthCompareOp == NULL && glad_vkCmdSetDepthCompareOpEXT != NULL) glad_vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)glad_vkCmdSetDepthCompareOpEXT; + if (glad_vkCmdSetDepthCompareOpEXT == NULL && glad_vkCmdSetDepthCompareOp != NULL) glad_vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)glad_vkCmdSetDepthCompareOp; + if (glad_vkCmdSetDepthTestEnable == NULL && glad_vkCmdSetDepthTestEnableEXT != NULL) glad_vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)glad_vkCmdSetDepthTestEnableEXT; + if (glad_vkCmdSetDepthTestEnableEXT == NULL && glad_vkCmdSetDepthTestEnable != NULL) glad_vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)glad_vkCmdSetDepthTestEnable; + if (glad_vkCmdSetDepthWriteEnable == NULL && glad_vkCmdSetDepthWriteEnableEXT != NULL) glad_vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)glad_vkCmdSetDepthWriteEnableEXT; + if (glad_vkCmdSetDepthWriteEnableEXT == NULL && glad_vkCmdSetDepthWriteEnable != NULL) glad_vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)glad_vkCmdSetDepthWriteEnable; + if (glad_vkCmdSetDeviceMask == NULL && glad_vkCmdSetDeviceMaskKHR != NULL) glad_vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)glad_vkCmdSetDeviceMaskKHR; + if (glad_vkCmdSetDeviceMaskKHR == NULL && glad_vkCmdSetDeviceMask != NULL) glad_vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)glad_vkCmdSetDeviceMask; + if (glad_vkCmdSetEvent2 == NULL && glad_vkCmdSetEvent2KHR != NULL) glad_vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)glad_vkCmdSetEvent2KHR; + if (glad_vkCmdSetEvent2KHR == NULL && glad_vkCmdSetEvent2 != NULL) glad_vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)glad_vkCmdSetEvent2; + if (glad_vkCmdSetFrontFace == NULL && glad_vkCmdSetFrontFaceEXT != NULL) glad_vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)glad_vkCmdSetFrontFaceEXT; + if (glad_vkCmdSetFrontFaceEXT == NULL && glad_vkCmdSetFrontFace != NULL) glad_vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)glad_vkCmdSetFrontFace; + if (glad_vkCmdSetLineStipple == NULL && glad_vkCmdSetLineStippleEXT != NULL) glad_vkCmdSetLineStipple = (PFN_vkCmdSetLineStipple)glad_vkCmdSetLineStippleEXT; + if (glad_vkCmdSetLineStipple == NULL && glad_vkCmdSetLineStippleKHR != NULL) glad_vkCmdSetLineStipple = (PFN_vkCmdSetLineStipple)glad_vkCmdSetLineStippleKHR; + if (glad_vkCmdSetLineStippleEXT == NULL && glad_vkCmdSetLineStipple != NULL) glad_vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)glad_vkCmdSetLineStipple; + if (glad_vkCmdSetLineStippleEXT == NULL && glad_vkCmdSetLineStippleKHR != NULL) glad_vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)glad_vkCmdSetLineStippleKHR; + if (glad_vkCmdSetLineStippleKHR == NULL && glad_vkCmdSetLineStipple != NULL) glad_vkCmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)glad_vkCmdSetLineStipple; + if (glad_vkCmdSetLineStippleKHR == NULL && glad_vkCmdSetLineStippleEXT != NULL) glad_vkCmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)glad_vkCmdSetLineStippleEXT; + if (glad_vkCmdSetPrimitiveRestartEnable == NULL && glad_vkCmdSetPrimitiveRestartEnableEXT != NULL) glad_vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)glad_vkCmdSetPrimitiveRestartEnableEXT; + if (glad_vkCmdSetPrimitiveRestartEnableEXT == NULL && glad_vkCmdSetPrimitiveRestartEnable != NULL) glad_vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)glad_vkCmdSetPrimitiveRestartEnable; + if (glad_vkCmdSetPrimitiveTopology == NULL && glad_vkCmdSetPrimitiveTopologyEXT != NULL) glad_vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)glad_vkCmdSetPrimitiveTopologyEXT; + if (glad_vkCmdSetPrimitiveTopologyEXT == NULL && glad_vkCmdSetPrimitiveTopology != NULL) glad_vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)glad_vkCmdSetPrimitiveTopology; + if (glad_vkCmdSetRasterizerDiscardEnable == NULL && glad_vkCmdSetRasterizerDiscardEnableEXT != NULL) glad_vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)glad_vkCmdSetRasterizerDiscardEnableEXT; + if (glad_vkCmdSetRasterizerDiscardEnableEXT == NULL && glad_vkCmdSetRasterizerDiscardEnable != NULL) glad_vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)glad_vkCmdSetRasterizerDiscardEnable; + if (glad_vkCmdSetRenderingAttachmentLocations == NULL && glad_vkCmdSetRenderingAttachmentLocationsKHR != NULL) glad_vkCmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations)glad_vkCmdSetRenderingAttachmentLocationsKHR; + if (glad_vkCmdSetRenderingAttachmentLocationsKHR == NULL && glad_vkCmdSetRenderingAttachmentLocations != NULL) glad_vkCmdSetRenderingAttachmentLocationsKHR = (PFN_vkCmdSetRenderingAttachmentLocationsKHR)glad_vkCmdSetRenderingAttachmentLocations; + if (glad_vkCmdSetRenderingInputAttachmentIndices == NULL && glad_vkCmdSetRenderingInputAttachmentIndicesKHR != NULL) glad_vkCmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices)glad_vkCmdSetRenderingInputAttachmentIndicesKHR; + if (glad_vkCmdSetRenderingInputAttachmentIndicesKHR == NULL && glad_vkCmdSetRenderingInputAttachmentIndices != NULL) glad_vkCmdSetRenderingInputAttachmentIndicesKHR = (PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)glad_vkCmdSetRenderingInputAttachmentIndices; + if (glad_vkCmdSetScissorWithCount == NULL && glad_vkCmdSetScissorWithCountEXT != NULL) glad_vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)glad_vkCmdSetScissorWithCountEXT; + if (glad_vkCmdSetScissorWithCountEXT == NULL && glad_vkCmdSetScissorWithCount != NULL) glad_vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)glad_vkCmdSetScissorWithCount; + if (glad_vkCmdSetStencilOp == NULL && glad_vkCmdSetStencilOpEXT != NULL) glad_vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)glad_vkCmdSetStencilOpEXT; + if (glad_vkCmdSetStencilOpEXT == NULL && glad_vkCmdSetStencilOp != NULL) glad_vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)glad_vkCmdSetStencilOp; + if (glad_vkCmdSetStencilTestEnable == NULL && glad_vkCmdSetStencilTestEnableEXT != NULL) glad_vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)glad_vkCmdSetStencilTestEnableEXT; + if (glad_vkCmdSetStencilTestEnableEXT == NULL && glad_vkCmdSetStencilTestEnable != NULL) glad_vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)glad_vkCmdSetStencilTestEnable; + if (glad_vkCmdSetViewportWithCount == NULL && glad_vkCmdSetViewportWithCountEXT != NULL) glad_vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)glad_vkCmdSetViewportWithCountEXT; + if (glad_vkCmdSetViewportWithCountEXT == NULL && glad_vkCmdSetViewportWithCount != NULL) glad_vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)glad_vkCmdSetViewportWithCount; + if (glad_vkCmdWaitEvents2 == NULL && glad_vkCmdWaitEvents2KHR != NULL) glad_vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)glad_vkCmdWaitEvents2KHR; + if (glad_vkCmdWaitEvents2KHR == NULL && glad_vkCmdWaitEvents2 != NULL) glad_vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)glad_vkCmdWaitEvents2; + if (glad_vkCmdWriteTimestamp2 == NULL && glad_vkCmdWriteTimestamp2KHR != NULL) glad_vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)glad_vkCmdWriteTimestamp2KHR; + if (glad_vkCmdWriteTimestamp2KHR == NULL && glad_vkCmdWriteTimestamp2 != NULL) glad_vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)glad_vkCmdWriteTimestamp2; + if (glad_vkCopyImageToImage == NULL && glad_vkCopyImageToImageEXT != NULL) glad_vkCopyImageToImage = (PFN_vkCopyImageToImage)glad_vkCopyImageToImageEXT; + if (glad_vkCopyImageToImageEXT == NULL && glad_vkCopyImageToImage != NULL) glad_vkCopyImageToImageEXT = (PFN_vkCopyImageToImageEXT)glad_vkCopyImageToImage; + if (glad_vkCopyImageToMemory == NULL && glad_vkCopyImageToMemoryEXT != NULL) glad_vkCopyImageToMemory = (PFN_vkCopyImageToMemory)glad_vkCopyImageToMemoryEXT; + if (glad_vkCopyImageToMemoryEXT == NULL && glad_vkCopyImageToMemory != NULL) glad_vkCopyImageToMemoryEXT = (PFN_vkCopyImageToMemoryEXT)glad_vkCopyImageToMemory; + if (glad_vkCopyMemoryToImage == NULL && glad_vkCopyMemoryToImageEXT != NULL) glad_vkCopyMemoryToImage = (PFN_vkCopyMemoryToImage)glad_vkCopyMemoryToImageEXT; + if (glad_vkCopyMemoryToImageEXT == NULL && glad_vkCopyMemoryToImage != NULL) glad_vkCopyMemoryToImageEXT = (PFN_vkCopyMemoryToImageEXT)glad_vkCopyMemoryToImage; + if (glad_vkCreateDescriptorUpdateTemplate == NULL && glad_vkCreateDescriptorUpdateTemplateKHR != NULL) glad_vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)glad_vkCreateDescriptorUpdateTemplateKHR; + if (glad_vkCreateDescriptorUpdateTemplateKHR == NULL && glad_vkCreateDescriptorUpdateTemplate != NULL) glad_vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)glad_vkCreateDescriptorUpdateTemplate; + if (glad_vkCreatePrivateDataSlot == NULL && glad_vkCreatePrivateDataSlotEXT != NULL) glad_vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)glad_vkCreatePrivateDataSlotEXT; + if (glad_vkCreatePrivateDataSlotEXT == NULL && glad_vkCreatePrivateDataSlot != NULL) glad_vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)glad_vkCreatePrivateDataSlot; + if (glad_vkCreateRenderPass2 == NULL && glad_vkCreateRenderPass2KHR != NULL) glad_vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)glad_vkCreateRenderPass2KHR; + if (glad_vkCreateRenderPass2KHR == NULL && glad_vkCreateRenderPass2 != NULL) glad_vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)glad_vkCreateRenderPass2; + if (glad_vkCreateSamplerYcbcrConversion == NULL && glad_vkCreateSamplerYcbcrConversionKHR != NULL) glad_vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)glad_vkCreateSamplerYcbcrConversionKHR; + if (glad_vkCreateSamplerYcbcrConversionKHR == NULL && glad_vkCreateSamplerYcbcrConversion != NULL) glad_vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)glad_vkCreateSamplerYcbcrConversion; + if (glad_vkDestroyDescriptorUpdateTemplate == NULL && glad_vkDestroyDescriptorUpdateTemplateKHR != NULL) glad_vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)glad_vkDestroyDescriptorUpdateTemplateKHR; + if (glad_vkDestroyDescriptorUpdateTemplateKHR == NULL && glad_vkDestroyDescriptorUpdateTemplate != NULL) glad_vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)glad_vkDestroyDescriptorUpdateTemplate; + if (glad_vkDestroyPrivateDataSlot == NULL && glad_vkDestroyPrivateDataSlotEXT != NULL) glad_vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)glad_vkDestroyPrivateDataSlotEXT; + if (glad_vkDestroyPrivateDataSlotEXT == NULL && glad_vkDestroyPrivateDataSlot != NULL) glad_vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)glad_vkDestroyPrivateDataSlot; + if (glad_vkDestroySamplerYcbcrConversion == NULL && glad_vkDestroySamplerYcbcrConversionKHR != NULL) glad_vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)glad_vkDestroySamplerYcbcrConversionKHR; + if (glad_vkDestroySamplerYcbcrConversionKHR == NULL && glad_vkDestroySamplerYcbcrConversion != NULL) glad_vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)glad_vkDestroySamplerYcbcrConversion; + if (glad_vkEnumeratePhysicalDeviceGroups == NULL && glad_vkEnumeratePhysicalDeviceGroupsKHR != NULL) glad_vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)glad_vkEnumeratePhysicalDeviceGroupsKHR; + if (glad_vkEnumeratePhysicalDeviceGroupsKHR == NULL && glad_vkEnumeratePhysicalDeviceGroups != NULL) glad_vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)glad_vkEnumeratePhysicalDeviceGroups; + if (glad_vkGetBufferDeviceAddress == NULL && glad_vkGetBufferDeviceAddressEXT != NULL) glad_vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)glad_vkGetBufferDeviceAddressEXT; + if (glad_vkGetBufferDeviceAddress == NULL && glad_vkGetBufferDeviceAddressKHR != NULL) glad_vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)glad_vkGetBufferDeviceAddressKHR; + if (glad_vkGetBufferDeviceAddressEXT == NULL && glad_vkGetBufferDeviceAddress != NULL) glad_vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)glad_vkGetBufferDeviceAddress; + if (glad_vkGetBufferDeviceAddressEXT == NULL && glad_vkGetBufferDeviceAddressKHR != NULL) glad_vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)glad_vkGetBufferDeviceAddressKHR; + if (glad_vkGetBufferDeviceAddressKHR == NULL && glad_vkGetBufferDeviceAddress != NULL) glad_vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)glad_vkGetBufferDeviceAddress; + if (glad_vkGetBufferDeviceAddressKHR == NULL && glad_vkGetBufferDeviceAddressEXT != NULL) glad_vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)glad_vkGetBufferDeviceAddressEXT; + if (glad_vkGetBufferMemoryRequirements2 == NULL && glad_vkGetBufferMemoryRequirements2KHR != NULL) glad_vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)glad_vkGetBufferMemoryRequirements2KHR; + if (glad_vkGetBufferMemoryRequirements2KHR == NULL && glad_vkGetBufferMemoryRequirements2 != NULL) glad_vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)glad_vkGetBufferMemoryRequirements2; + if (glad_vkGetBufferOpaqueCaptureAddress == NULL && glad_vkGetBufferOpaqueCaptureAddressKHR != NULL) glad_vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)glad_vkGetBufferOpaqueCaptureAddressKHR; + if (glad_vkGetBufferOpaqueCaptureAddressKHR == NULL && glad_vkGetBufferOpaqueCaptureAddress != NULL) glad_vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)glad_vkGetBufferOpaqueCaptureAddress; + if (glad_vkGetDescriptorSetLayoutSupport == NULL && glad_vkGetDescriptorSetLayoutSupportKHR != NULL) glad_vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)glad_vkGetDescriptorSetLayoutSupportKHR; + if (glad_vkGetDescriptorSetLayoutSupportKHR == NULL && glad_vkGetDescriptorSetLayoutSupport != NULL) glad_vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)glad_vkGetDescriptorSetLayoutSupport; + if (glad_vkGetDeviceBufferMemoryRequirements == NULL && glad_vkGetDeviceBufferMemoryRequirementsKHR != NULL) glad_vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)glad_vkGetDeviceBufferMemoryRequirementsKHR; + if (glad_vkGetDeviceBufferMemoryRequirementsKHR == NULL && glad_vkGetDeviceBufferMemoryRequirements != NULL) glad_vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)glad_vkGetDeviceBufferMemoryRequirements; + if (glad_vkGetDeviceGroupPeerMemoryFeatures == NULL && glad_vkGetDeviceGroupPeerMemoryFeaturesKHR != NULL) glad_vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)glad_vkGetDeviceGroupPeerMemoryFeaturesKHR; + if (glad_vkGetDeviceGroupPeerMemoryFeaturesKHR == NULL && glad_vkGetDeviceGroupPeerMemoryFeatures != NULL) glad_vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)glad_vkGetDeviceGroupPeerMemoryFeatures; + if (glad_vkGetDeviceImageMemoryRequirements == NULL && glad_vkGetDeviceImageMemoryRequirementsKHR != NULL) glad_vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)glad_vkGetDeviceImageMemoryRequirementsKHR; + if (glad_vkGetDeviceImageMemoryRequirementsKHR == NULL && glad_vkGetDeviceImageMemoryRequirements != NULL) glad_vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)glad_vkGetDeviceImageMemoryRequirements; + if (glad_vkGetDeviceImageSparseMemoryRequirements == NULL && glad_vkGetDeviceImageSparseMemoryRequirementsKHR != NULL) glad_vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)glad_vkGetDeviceImageSparseMemoryRequirementsKHR; + if (glad_vkGetDeviceImageSparseMemoryRequirementsKHR == NULL && glad_vkGetDeviceImageSparseMemoryRequirements != NULL) glad_vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)glad_vkGetDeviceImageSparseMemoryRequirements; + if (glad_vkGetDeviceImageSubresourceLayout == NULL && glad_vkGetDeviceImageSubresourceLayoutKHR != NULL) glad_vkGetDeviceImageSubresourceLayout = (PFN_vkGetDeviceImageSubresourceLayout)glad_vkGetDeviceImageSubresourceLayoutKHR; + if (glad_vkGetDeviceImageSubresourceLayoutKHR == NULL && glad_vkGetDeviceImageSubresourceLayout != NULL) glad_vkGetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR)glad_vkGetDeviceImageSubresourceLayout; + if (glad_vkGetDeviceMemoryOpaqueCaptureAddress == NULL && glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR != NULL) glad_vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR; + if (glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR == NULL && glad_vkGetDeviceMemoryOpaqueCaptureAddress != NULL) glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)glad_vkGetDeviceMemoryOpaqueCaptureAddress; + if (glad_vkGetImageMemoryRequirements2 == NULL && glad_vkGetImageMemoryRequirements2KHR != NULL) glad_vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)glad_vkGetImageMemoryRequirements2KHR; + if (glad_vkGetImageMemoryRequirements2KHR == NULL && glad_vkGetImageMemoryRequirements2 != NULL) glad_vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)glad_vkGetImageMemoryRequirements2; + if (glad_vkGetImageSparseMemoryRequirements2 == NULL && glad_vkGetImageSparseMemoryRequirements2KHR != NULL) glad_vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)glad_vkGetImageSparseMemoryRequirements2KHR; + if (glad_vkGetImageSparseMemoryRequirements2KHR == NULL && glad_vkGetImageSparseMemoryRequirements2 != NULL) glad_vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)glad_vkGetImageSparseMemoryRequirements2; + if (glad_vkGetImageSubresourceLayout2 == NULL && glad_vkGetImageSubresourceLayout2EXT != NULL) glad_vkGetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2)glad_vkGetImageSubresourceLayout2EXT; + if (glad_vkGetImageSubresourceLayout2 == NULL && glad_vkGetImageSubresourceLayout2KHR != NULL) glad_vkGetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2)glad_vkGetImageSubresourceLayout2KHR; + if (glad_vkGetImageSubresourceLayout2EXT == NULL && glad_vkGetImageSubresourceLayout2 != NULL) glad_vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)glad_vkGetImageSubresourceLayout2; + if (glad_vkGetImageSubresourceLayout2EXT == NULL && glad_vkGetImageSubresourceLayout2KHR != NULL) glad_vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)glad_vkGetImageSubresourceLayout2KHR; + if (glad_vkGetImageSubresourceLayout2KHR == NULL && glad_vkGetImageSubresourceLayout2 != NULL) glad_vkGetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)glad_vkGetImageSubresourceLayout2; + if (glad_vkGetImageSubresourceLayout2KHR == NULL && glad_vkGetImageSubresourceLayout2EXT != NULL) glad_vkGetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)glad_vkGetImageSubresourceLayout2EXT; + if (glad_vkGetPhysicalDeviceExternalBufferProperties == NULL && glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR != NULL) glad_vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR; + if (glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR == NULL && glad_vkGetPhysicalDeviceExternalBufferProperties != NULL) glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)glad_vkGetPhysicalDeviceExternalBufferProperties; + if (glad_vkGetPhysicalDeviceExternalFenceProperties == NULL && glad_vkGetPhysicalDeviceExternalFencePropertiesKHR != NULL) glad_vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)glad_vkGetPhysicalDeviceExternalFencePropertiesKHR; + if (glad_vkGetPhysicalDeviceExternalFencePropertiesKHR == NULL && glad_vkGetPhysicalDeviceExternalFenceProperties != NULL) glad_vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)glad_vkGetPhysicalDeviceExternalFenceProperties; + if (glad_vkGetPhysicalDeviceExternalSemaphoreProperties == NULL && glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR != NULL) glad_vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; + if (glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR == NULL && glad_vkGetPhysicalDeviceExternalSemaphoreProperties != NULL) glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)glad_vkGetPhysicalDeviceExternalSemaphoreProperties; + if (glad_vkGetPhysicalDeviceFeatures2 == NULL && glad_vkGetPhysicalDeviceFeatures2KHR != NULL) glad_vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)glad_vkGetPhysicalDeviceFeatures2KHR; + if (glad_vkGetPhysicalDeviceFeatures2KHR == NULL && glad_vkGetPhysicalDeviceFeatures2 != NULL) glad_vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)glad_vkGetPhysicalDeviceFeatures2; + if (glad_vkGetPhysicalDeviceFormatProperties2 == NULL && glad_vkGetPhysicalDeviceFormatProperties2KHR != NULL) glad_vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)glad_vkGetPhysicalDeviceFormatProperties2KHR; + if (glad_vkGetPhysicalDeviceFormatProperties2KHR == NULL && glad_vkGetPhysicalDeviceFormatProperties2 != NULL) glad_vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)glad_vkGetPhysicalDeviceFormatProperties2; + if (glad_vkGetPhysicalDeviceImageFormatProperties2 == NULL && glad_vkGetPhysicalDeviceImageFormatProperties2KHR != NULL) glad_vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)glad_vkGetPhysicalDeviceImageFormatProperties2KHR; + if (glad_vkGetPhysicalDeviceImageFormatProperties2KHR == NULL && glad_vkGetPhysicalDeviceImageFormatProperties2 != NULL) glad_vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)glad_vkGetPhysicalDeviceImageFormatProperties2; + if (glad_vkGetPhysicalDeviceMemoryProperties2 == NULL && glad_vkGetPhysicalDeviceMemoryProperties2KHR != NULL) glad_vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)glad_vkGetPhysicalDeviceMemoryProperties2KHR; + if (glad_vkGetPhysicalDeviceMemoryProperties2KHR == NULL && glad_vkGetPhysicalDeviceMemoryProperties2 != NULL) glad_vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)glad_vkGetPhysicalDeviceMemoryProperties2; + if (glad_vkGetPhysicalDeviceProperties2 == NULL && glad_vkGetPhysicalDeviceProperties2KHR != NULL) glad_vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)glad_vkGetPhysicalDeviceProperties2KHR; + if (glad_vkGetPhysicalDeviceProperties2KHR == NULL && glad_vkGetPhysicalDeviceProperties2 != NULL) glad_vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)glad_vkGetPhysicalDeviceProperties2; + if (glad_vkGetPhysicalDeviceQueueFamilyProperties2 == NULL && glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR != NULL) glad_vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR; + if (glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR == NULL && glad_vkGetPhysicalDeviceQueueFamilyProperties2 != NULL) glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)glad_vkGetPhysicalDeviceQueueFamilyProperties2; + if (glad_vkGetPhysicalDeviceSparseImageFormatProperties2 == NULL && glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR != NULL) glad_vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; + if (glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR == NULL && glad_vkGetPhysicalDeviceSparseImageFormatProperties2 != NULL) glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)glad_vkGetPhysicalDeviceSparseImageFormatProperties2; + if (glad_vkGetPhysicalDeviceToolProperties == NULL && glad_vkGetPhysicalDeviceToolPropertiesEXT != NULL) glad_vkGetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties)glad_vkGetPhysicalDeviceToolPropertiesEXT; + if (glad_vkGetPhysicalDeviceToolPropertiesEXT == NULL && glad_vkGetPhysicalDeviceToolProperties != NULL) glad_vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)glad_vkGetPhysicalDeviceToolProperties; + if (glad_vkGetPrivateData == NULL && glad_vkGetPrivateDataEXT != NULL) glad_vkGetPrivateData = (PFN_vkGetPrivateData)glad_vkGetPrivateDataEXT; + if (glad_vkGetPrivateDataEXT == NULL && glad_vkGetPrivateData != NULL) glad_vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)glad_vkGetPrivateData; + if (glad_vkGetRenderingAreaGranularity == NULL && glad_vkGetRenderingAreaGranularityKHR != NULL) glad_vkGetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity)glad_vkGetRenderingAreaGranularityKHR; + if (glad_vkGetRenderingAreaGranularityKHR == NULL && glad_vkGetRenderingAreaGranularity != NULL) glad_vkGetRenderingAreaGranularityKHR = (PFN_vkGetRenderingAreaGranularityKHR)glad_vkGetRenderingAreaGranularity; + if (glad_vkGetSemaphoreCounterValue == NULL && glad_vkGetSemaphoreCounterValueKHR != NULL) glad_vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)glad_vkGetSemaphoreCounterValueKHR; + if (glad_vkGetSemaphoreCounterValueKHR == NULL && glad_vkGetSemaphoreCounterValue != NULL) glad_vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)glad_vkGetSemaphoreCounterValue; + if (glad_vkMapMemory2 == NULL && glad_vkMapMemory2KHR != NULL) glad_vkMapMemory2 = (PFN_vkMapMemory2)glad_vkMapMemory2KHR; + if (glad_vkMapMemory2KHR == NULL && glad_vkMapMemory2 != NULL) glad_vkMapMemory2KHR = (PFN_vkMapMemory2KHR)glad_vkMapMemory2; + if (glad_vkQueueSubmit2 == NULL && glad_vkQueueSubmit2KHR != NULL) glad_vkQueueSubmit2 = (PFN_vkQueueSubmit2)glad_vkQueueSubmit2KHR; + if (glad_vkQueueSubmit2KHR == NULL && glad_vkQueueSubmit2 != NULL) glad_vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)glad_vkQueueSubmit2; + if (glad_vkResetQueryPool == NULL && glad_vkResetQueryPoolEXT != NULL) glad_vkResetQueryPool = (PFN_vkResetQueryPool)glad_vkResetQueryPoolEXT; + if (glad_vkResetQueryPoolEXT == NULL && glad_vkResetQueryPool != NULL) glad_vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)glad_vkResetQueryPool; + if (glad_vkSetPrivateData == NULL && glad_vkSetPrivateDataEXT != NULL) glad_vkSetPrivateData = (PFN_vkSetPrivateData)glad_vkSetPrivateDataEXT; + if (glad_vkSetPrivateDataEXT == NULL && glad_vkSetPrivateData != NULL) glad_vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)glad_vkSetPrivateData; + if (glad_vkSignalSemaphore == NULL && glad_vkSignalSemaphoreKHR != NULL) glad_vkSignalSemaphore = (PFN_vkSignalSemaphore)glad_vkSignalSemaphoreKHR; + if (glad_vkSignalSemaphoreKHR == NULL && glad_vkSignalSemaphore != NULL) glad_vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)glad_vkSignalSemaphore; + if (glad_vkTransitionImageLayout == NULL && glad_vkTransitionImageLayoutEXT != NULL) glad_vkTransitionImageLayout = (PFN_vkTransitionImageLayout)glad_vkTransitionImageLayoutEXT; + if (glad_vkTransitionImageLayoutEXT == NULL && glad_vkTransitionImageLayout != NULL) glad_vkTransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT)glad_vkTransitionImageLayout; + if (glad_vkTrimCommandPool == NULL && glad_vkTrimCommandPoolKHR != NULL) glad_vkTrimCommandPool = (PFN_vkTrimCommandPool)glad_vkTrimCommandPoolKHR; + if (glad_vkTrimCommandPoolKHR == NULL && glad_vkTrimCommandPool != NULL) glad_vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)glad_vkTrimCommandPool; + if (glad_vkUnmapMemory2 == NULL && glad_vkUnmapMemory2KHR != NULL) glad_vkUnmapMemory2 = (PFN_vkUnmapMemory2)glad_vkUnmapMemory2KHR; + if (glad_vkUnmapMemory2KHR == NULL && glad_vkUnmapMemory2 != NULL) glad_vkUnmapMemory2KHR = (PFN_vkUnmapMemory2KHR)glad_vkUnmapMemory2; + if (glad_vkUpdateDescriptorSetWithTemplate == NULL && glad_vkUpdateDescriptorSetWithTemplateKHR != NULL) glad_vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)glad_vkUpdateDescriptorSetWithTemplateKHR; + if (glad_vkUpdateDescriptorSetWithTemplateKHR == NULL && glad_vkUpdateDescriptorSetWithTemplate != NULL) glad_vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)glad_vkUpdateDescriptorSetWithTemplate; + if (glad_vkWaitSemaphores == NULL && glad_vkWaitSemaphoresKHR != NULL) glad_vkWaitSemaphores = (PFN_vkWaitSemaphores)glad_vkWaitSemaphoresKHR; + if (glad_vkWaitSemaphoresKHR == NULL && glad_vkWaitSemaphores != NULL) glad_vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)glad_vkWaitSemaphores; +} + +static int glad_vk_get_extensions( VkPhysicalDevice physical_device, uint32_t *out_extension_count, char ***out_extensions) { + uint32_t i; + uint32_t instance_extension_count = 0; + uint32_t device_extension_count = 0; + uint32_t max_extension_count = 0; + uint32_t total_extension_count = 0; + char **extensions = NULL; + VkExtensionProperties *ext_properties = NULL; + VkResult result; + + if (glad_vkEnumerateInstanceExtensionProperties == NULL || (physical_device != NULL && glad_vkEnumerateDeviceExtensionProperties == NULL)) { + return 0; + } + + result = glad_vkEnumerateInstanceExtensionProperties(NULL, &instance_extension_count, NULL); + if (result != VK_SUCCESS) { + return 0; + } + + if (physical_device != NULL) { + result = glad_vkEnumerateDeviceExtensionProperties(physical_device, NULL, &device_extension_count, NULL); + if (result != VK_SUCCESS) { + return 0; + } + } + + total_extension_count = instance_extension_count + device_extension_count; + if (total_extension_count <= 0) { + return 0; + } + + max_extension_count = instance_extension_count > device_extension_count + ? instance_extension_count : device_extension_count; + + ext_properties = (VkExtensionProperties*) malloc(max_extension_count * sizeof(VkExtensionProperties)); + if (ext_properties == NULL) { + goto glad_vk_get_extensions_error; + } + + result = glad_vkEnumerateInstanceExtensionProperties(NULL, &instance_extension_count, ext_properties); + if (result != VK_SUCCESS) { + goto glad_vk_get_extensions_error; + } + + extensions = (char**) calloc(total_extension_count, sizeof(char*)); + if (extensions == NULL) { + goto glad_vk_get_extensions_error; + } + + for (i = 0; i < instance_extension_count; ++i) { + VkExtensionProperties ext = ext_properties[i]; + + size_t extension_name_length = strlen(ext.extensionName) + 1; + extensions[i] = (char*) malloc(extension_name_length * sizeof(char)); + if (extensions[i] == NULL) { + goto glad_vk_get_extensions_error; + } + memcpy(extensions[i], ext.extensionName, extension_name_length * sizeof(char)); + } + + if (physical_device != NULL) { + result = glad_vkEnumerateDeviceExtensionProperties(physical_device, NULL, &device_extension_count, ext_properties); + if (result != VK_SUCCESS) { + goto glad_vk_get_extensions_error; + } + + for (i = 0; i < device_extension_count; ++i) { + VkExtensionProperties ext = ext_properties[i]; + + size_t extension_name_length = strlen(ext.extensionName) + 1; + extensions[instance_extension_count + i] = (char*) malloc(extension_name_length * sizeof(char)); + if (extensions[instance_extension_count + i] == NULL) { + goto glad_vk_get_extensions_error; + } + memcpy(extensions[instance_extension_count + i], ext.extensionName, extension_name_length * sizeof(char)); + } + } + + free((void*) ext_properties); + + *out_extension_count = total_extension_count; + *out_extensions = extensions; + + return 1; + +glad_vk_get_extensions_error: + free((void*) ext_properties); + if (extensions != NULL) { + for (i = 0; i < total_extension_count; ++i) { + free((void*) extensions[i]); + } + free(extensions); + } + return 0; +} + +static void glad_vk_free_extensions(uint32_t extension_count, char **extensions) { + uint32_t i; + + for(i = 0; i < extension_count ; ++i) { + free((void*) (extensions[i])); + } + + free((void*) extensions); +} + +static int glad_vk_has_extension(const char *name, uint32_t extension_count, char **extensions) { + uint32_t i; + + for (i = 0; i < extension_count; ++i) { + if(extensions[i] != NULL && strcmp(name, extensions[i]) == 0) { + return 1; + } + } + + return 0; +} + +static GLADapiproc glad_vk_get_proc_from_userptr(void *userptr, const char* name) { + return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name); +} + +static int glad_vk_find_extensions_vulkan( VkPhysicalDevice physical_device) { + uint32_t extension_count = 0; + char **extensions = NULL; + if (!glad_vk_get_extensions(physical_device, &extension_count, &extensions)) return 0; + + GLAD_VK_AMD_draw_indirect_count = glad_vk_has_extension("VK_AMD_draw_indirect_count", extension_count, extensions); + GLAD_VK_EXT_buffer_device_address = glad_vk_has_extension("VK_EXT_buffer_device_address", extension_count, extensions); + GLAD_VK_EXT_extended_dynamic_state = glad_vk_has_extension("VK_EXT_extended_dynamic_state", extension_count, extensions); + GLAD_VK_EXT_extended_dynamic_state2 = glad_vk_has_extension("VK_EXT_extended_dynamic_state2", extension_count, extensions); + GLAD_VK_EXT_host_image_copy = glad_vk_has_extension("VK_EXT_host_image_copy", extension_count, extensions); + GLAD_VK_EXT_host_query_reset = glad_vk_has_extension("VK_EXT_host_query_reset", extension_count, extensions); + GLAD_VK_EXT_image_compression_control = glad_vk_has_extension("VK_EXT_image_compression_control", extension_count, extensions); + GLAD_VK_EXT_line_rasterization = glad_vk_has_extension("VK_EXT_line_rasterization", extension_count, extensions); + GLAD_VK_EXT_private_data = glad_vk_has_extension("VK_EXT_private_data", extension_count, extensions); + GLAD_VK_EXT_shader_object = glad_vk_has_extension("VK_EXT_shader_object", extension_count, extensions); + GLAD_VK_EXT_tooling_info = glad_vk_has_extension("VK_EXT_tooling_info", extension_count, extensions); + GLAD_VK_KHR_bind_memory2 = glad_vk_has_extension("VK_KHR_bind_memory2", extension_count, extensions); + GLAD_VK_KHR_buffer_device_address = glad_vk_has_extension("VK_KHR_buffer_device_address", extension_count, extensions); + GLAD_VK_KHR_copy_commands2 = glad_vk_has_extension("VK_KHR_copy_commands2", extension_count, extensions); + GLAD_VK_KHR_create_renderpass2 = glad_vk_has_extension("VK_KHR_create_renderpass2", extension_count, extensions); + GLAD_VK_KHR_descriptor_update_template = glad_vk_has_extension("VK_KHR_descriptor_update_template", extension_count, extensions); + GLAD_VK_KHR_device_group = glad_vk_has_extension("VK_KHR_device_group", extension_count, extensions); + GLAD_VK_KHR_device_group_creation = glad_vk_has_extension("VK_KHR_device_group_creation", extension_count, extensions); + GLAD_VK_KHR_draw_indirect_count = glad_vk_has_extension("VK_KHR_draw_indirect_count", extension_count, extensions); + GLAD_VK_KHR_dynamic_rendering = glad_vk_has_extension("VK_KHR_dynamic_rendering", extension_count, extensions); + GLAD_VK_KHR_dynamic_rendering_local_read = glad_vk_has_extension("VK_KHR_dynamic_rendering_local_read", extension_count, extensions); + GLAD_VK_KHR_external_fence_capabilities = glad_vk_has_extension("VK_KHR_external_fence_capabilities", extension_count, extensions); + GLAD_VK_KHR_external_memory_capabilities = glad_vk_has_extension("VK_KHR_external_memory_capabilities", extension_count, extensions); + GLAD_VK_KHR_external_semaphore_capabilities = glad_vk_has_extension("VK_KHR_external_semaphore_capabilities", extension_count, extensions); + GLAD_VK_KHR_get_memory_requirements2 = glad_vk_has_extension("VK_KHR_get_memory_requirements2", extension_count, extensions); + GLAD_VK_KHR_get_physical_device_properties2 = glad_vk_has_extension("VK_KHR_get_physical_device_properties2", extension_count, extensions); + GLAD_VK_KHR_line_rasterization = glad_vk_has_extension("VK_KHR_line_rasterization", extension_count, extensions); + GLAD_VK_KHR_maintenance1 = glad_vk_has_extension("VK_KHR_maintenance1", extension_count, extensions); + GLAD_VK_KHR_maintenance3 = glad_vk_has_extension("VK_KHR_maintenance3", extension_count, extensions); + GLAD_VK_KHR_maintenance4 = glad_vk_has_extension("VK_KHR_maintenance4", extension_count, extensions); + GLAD_VK_KHR_maintenance5 = glad_vk_has_extension("VK_KHR_maintenance5", extension_count, extensions); + GLAD_VK_KHR_maintenance6 = glad_vk_has_extension("VK_KHR_maintenance6", extension_count, extensions); + GLAD_VK_KHR_map_memory2 = glad_vk_has_extension("VK_KHR_map_memory2", extension_count, extensions); + GLAD_VK_KHR_push_descriptor = glad_vk_has_extension("VK_KHR_push_descriptor", extension_count, extensions); + GLAD_VK_KHR_sampler_ycbcr_conversion = glad_vk_has_extension("VK_KHR_sampler_ycbcr_conversion", extension_count, extensions); + GLAD_VK_KHR_synchronization2 = glad_vk_has_extension("VK_KHR_synchronization2", extension_count, extensions); + GLAD_VK_KHR_timeline_semaphore = glad_vk_has_extension("VK_KHR_timeline_semaphore", extension_count, extensions); + + GLAD_UNUSED(&glad_vk_has_extension); + + glad_vk_free_extensions(extension_count, extensions); + + return 1; +} + +static int glad_vk_find_core_vulkan( VkPhysicalDevice physical_device) { + int major = 1; + int minor = 0; + +#ifdef VK_VERSION_1_1 + if (glad_vkEnumerateInstanceVersion != NULL) { + uint32_t version; + VkResult result; + + result = glad_vkEnumerateInstanceVersion(&version); + if (result == VK_SUCCESS) { + major = (int) VK_VERSION_MAJOR(version); + minor = (int) VK_VERSION_MINOR(version); + } + } +#endif + + if (physical_device != NULL && glad_vkGetPhysicalDeviceProperties != NULL) { + VkPhysicalDeviceProperties properties; + glad_vkGetPhysicalDeviceProperties(physical_device, &properties); + + major = (int) VK_VERSION_MAJOR(properties.apiVersion); + minor = (int) VK_VERSION_MINOR(properties.apiVersion); + } + + GLAD_VK_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_VK_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_VK_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_VK_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_VK_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + + return GLAD_MAKE_VERSION(major, minor); +} + +int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr) { + int version; + +#ifdef VK_VERSION_1_1 + glad_vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion) load(userptr, "vkEnumerateInstanceVersion"); +#endif + version = glad_vk_find_core_vulkan( physical_device); + if (!version) { + return 0; + } + + glad_vk_load_VK_VERSION_1_0(load, userptr); + glad_vk_load_VK_VERSION_1_1(load, userptr); + glad_vk_load_VK_VERSION_1_2(load, userptr); + glad_vk_load_VK_VERSION_1_3(load, userptr); + glad_vk_load_VK_VERSION_1_4(load, userptr); + + if (!glad_vk_find_extensions_vulkan( physical_device)) return 0; + glad_vk_load_VK_AMD_draw_indirect_count(load, userptr); + glad_vk_load_VK_EXT_buffer_device_address(load, userptr); + glad_vk_load_VK_EXT_extended_dynamic_state(load, userptr); + glad_vk_load_VK_EXT_extended_dynamic_state2(load, userptr); + glad_vk_load_VK_EXT_host_image_copy(load, userptr); + glad_vk_load_VK_EXT_host_query_reset(load, userptr); + glad_vk_load_VK_EXT_image_compression_control(load, userptr); + glad_vk_load_VK_EXT_line_rasterization(load, userptr); + glad_vk_load_VK_EXT_private_data(load, userptr); + glad_vk_load_VK_EXT_shader_object(load, userptr); + glad_vk_load_VK_EXT_tooling_info(load, userptr); + glad_vk_load_VK_KHR_bind_memory2(load, userptr); + glad_vk_load_VK_KHR_buffer_device_address(load, userptr); + glad_vk_load_VK_KHR_copy_commands2(load, userptr); + glad_vk_load_VK_KHR_create_renderpass2(load, userptr); + glad_vk_load_VK_KHR_descriptor_update_template(load, userptr); + glad_vk_load_VK_KHR_device_group(load, userptr); + glad_vk_load_VK_KHR_device_group_creation(load, userptr); + glad_vk_load_VK_KHR_draw_indirect_count(load, userptr); + glad_vk_load_VK_KHR_dynamic_rendering(load, userptr); + glad_vk_load_VK_KHR_dynamic_rendering_local_read(load, userptr); + glad_vk_load_VK_KHR_external_fence_capabilities(load, userptr); + glad_vk_load_VK_KHR_external_memory_capabilities(load, userptr); + glad_vk_load_VK_KHR_external_semaphore_capabilities(load, userptr); + glad_vk_load_VK_KHR_get_memory_requirements2(load, userptr); + glad_vk_load_VK_KHR_get_physical_device_properties2(load, userptr); + glad_vk_load_VK_KHR_line_rasterization(load, userptr); + glad_vk_load_VK_KHR_maintenance1(load, userptr); + glad_vk_load_VK_KHR_maintenance3(load, userptr); + glad_vk_load_VK_KHR_maintenance4(load, userptr); + glad_vk_load_VK_KHR_maintenance5(load, userptr); + glad_vk_load_VK_KHR_maintenance6(load, userptr); + glad_vk_load_VK_KHR_map_memory2(load, userptr); + glad_vk_load_VK_KHR_push_descriptor(load, userptr); + glad_vk_load_VK_KHR_sampler_ycbcr_conversion(load, userptr); + glad_vk_load_VK_KHR_synchronization2(load, userptr); + glad_vk_load_VK_KHR_timeline_semaphore(load, userptr); + + glad_vk_resolve_aliases(); + + return version; +} + + +int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load) { + return gladLoadVulkanUserPtr( physical_device, glad_vk_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load); +} + + + + +void gladInstallVulkanDebug(void) { + glad_debug_vkAcquireNextImage2KHR = glad_debug_impl_vkAcquireNextImage2KHR; + glad_debug_vkAllocateCommandBuffers = glad_debug_impl_vkAllocateCommandBuffers; + glad_debug_vkAllocateDescriptorSets = glad_debug_impl_vkAllocateDescriptorSets; + glad_debug_vkAllocateMemory = glad_debug_impl_vkAllocateMemory; + glad_debug_vkBeginCommandBuffer = glad_debug_impl_vkBeginCommandBuffer; + glad_debug_vkBindBufferMemory = glad_debug_impl_vkBindBufferMemory; + glad_debug_vkBindBufferMemory2 = glad_debug_impl_vkBindBufferMemory2; + glad_debug_vkBindBufferMemory2KHR = glad_debug_impl_vkBindBufferMemory2KHR; + glad_debug_vkBindImageMemory = glad_debug_impl_vkBindImageMemory; + glad_debug_vkBindImageMemory2 = glad_debug_impl_vkBindImageMemory2; + glad_debug_vkBindImageMemory2KHR = glad_debug_impl_vkBindImageMemory2KHR; + glad_debug_vkCmdBeginQuery = glad_debug_impl_vkCmdBeginQuery; + glad_debug_vkCmdBeginRenderPass = glad_debug_impl_vkCmdBeginRenderPass; + glad_debug_vkCmdBeginRenderPass2 = glad_debug_impl_vkCmdBeginRenderPass2; + glad_debug_vkCmdBeginRenderPass2KHR = glad_debug_impl_vkCmdBeginRenderPass2KHR; + glad_debug_vkCmdBeginRendering = glad_debug_impl_vkCmdBeginRendering; + glad_debug_vkCmdBeginRenderingKHR = glad_debug_impl_vkCmdBeginRenderingKHR; + glad_debug_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = glad_debug_impl_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; + glad_debug_vkCmdBindDescriptorSets = glad_debug_impl_vkCmdBindDescriptorSets; + glad_debug_vkCmdBindDescriptorSets2 = glad_debug_impl_vkCmdBindDescriptorSets2; + glad_debug_vkCmdBindDescriptorSets2KHR = glad_debug_impl_vkCmdBindDescriptorSets2KHR; + glad_debug_vkCmdBindIndexBuffer = glad_debug_impl_vkCmdBindIndexBuffer; + glad_debug_vkCmdBindIndexBuffer2 = glad_debug_impl_vkCmdBindIndexBuffer2; + glad_debug_vkCmdBindIndexBuffer2KHR = glad_debug_impl_vkCmdBindIndexBuffer2KHR; + glad_debug_vkCmdBindPipeline = glad_debug_impl_vkCmdBindPipeline; + glad_debug_vkCmdBindShadersEXT = glad_debug_impl_vkCmdBindShadersEXT; + glad_debug_vkCmdBindVertexBuffers = glad_debug_impl_vkCmdBindVertexBuffers; + glad_debug_vkCmdBindVertexBuffers2 = glad_debug_impl_vkCmdBindVertexBuffers2; + glad_debug_vkCmdBindVertexBuffers2EXT = glad_debug_impl_vkCmdBindVertexBuffers2EXT; + glad_debug_vkCmdBlitImage = glad_debug_impl_vkCmdBlitImage; + glad_debug_vkCmdBlitImage2 = glad_debug_impl_vkCmdBlitImage2; + glad_debug_vkCmdBlitImage2KHR = glad_debug_impl_vkCmdBlitImage2KHR; + glad_debug_vkCmdClearAttachments = glad_debug_impl_vkCmdClearAttachments; + glad_debug_vkCmdClearColorImage = glad_debug_impl_vkCmdClearColorImage; + glad_debug_vkCmdClearDepthStencilImage = glad_debug_impl_vkCmdClearDepthStencilImage; + glad_debug_vkCmdCopyBuffer = glad_debug_impl_vkCmdCopyBuffer; + glad_debug_vkCmdCopyBuffer2 = glad_debug_impl_vkCmdCopyBuffer2; + glad_debug_vkCmdCopyBuffer2KHR = glad_debug_impl_vkCmdCopyBuffer2KHR; + glad_debug_vkCmdCopyBufferToImage = glad_debug_impl_vkCmdCopyBufferToImage; + glad_debug_vkCmdCopyBufferToImage2 = glad_debug_impl_vkCmdCopyBufferToImage2; + glad_debug_vkCmdCopyBufferToImage2KHR = glad_debug_impl_vkCmdCopyBufferToImage2KHR; + glad_debug_vkCmdCopyImage = glad_debug_impl_vkCmdCopyImage; + glad_debug_vkCmdCopyImage2 = glad_debug_impl_vkCmdCopyImage2; + glad_debug_vkCmdCopyImage2KHR = glad_debug_impl_vkCmdCopyImage2KHR; + glad_debug_vkCmdCopyImageToBuffer = glad_debug_impl_vkCmdCopyImageToBuffer; + glad_debug_vkCmdCopyImageToBuffer2 = glad_debug_impl_vkCmdCopyImageToBuffer2; + glad_debug_vkCmdCopyImageToBuffer2KHR = glad_debug_impl_vkCmdCopyImageToBuffer2KHR; + glad_debug_vkCmdCopyQueryPoolResults = glad_debug_impl_vkCmdCopyQueryPoolResults; + glad_debug_vkCmdDispatch = glad_debug_impl_vkCmdDispatch; + glad_debug_vkCmdDispatchBase = glad_debug_impl_vkCmdDispatchBase; + glad_debug_vkCmdDispatchBaseKHR = glad_debug_impl_vkCmdDispatchBaseKHR; + glad_debug_vkCmdDispatchIndirect = glad_debug_impl_vkCmdDispatchIndirect; + glad_debug_vkCmdDraw = glad_debug_impl_vkCmdDraw; + glad_debug_vkCmdDrawIndexed = glad_debug_impl_vkCmdDrawIndexed; + glad_debug_vkCmdDrawIndexedIndirect = glad_debug_impl_vkCmdDrawIndexedIndirect; + glad_debug_vkCmdDrawIndexedIndirectCount = glad_debug_impl_vkCmdDrawIndexedIndirectCount; + glad_debug_vkCmdDrawIndexedIndirectCountAMD = glad_debug_impl_vkCmdDrawIndexedIndirectCountAMD; + glad_debug_vkCmdDrawIndexedIndirectCountKHR = glad_debug_impl_vkCmdDrawIndexedIndirectCountKHR; + glad_debug_vkCmdDrawIndirect = glad_debug_impl_vkCmdDrawIndirect; + glad_debug_vkCmdDrawIndirectCount = glad_debug_impl_vkCmdDrawIndirectCount; + glad_debug_vkCmdDrawIndirectCountAMD = glad_debug_impl_vkCmdDrawIndirectCountAMD; + glad_debug_vkCmdDrawIndirectCountKHR = glad_debug_impl_vkCmdDrawIndirectCountKHR; + glad_debug_vkCmdEndQuery = glad_debug_impl_vkCmdEndQuery; + glad_debug_vkCmdEndRenderPass = glad_debug_impl_vkCmdEndRenderPass; + glad_debug_vkCmdEndRenderPass2 = glad_debug_impl_vkCmdEndRenderPass2; + glad_debug_vkCmdEndRenderPass2KHR = glad_debug_impl_vkCmdEndRenderPass2KHR; + glad_debug_vkCmdEndRendering = glad_debug_impl_vkCmdEndRendering; + glad_debug_vkCmdEndRenderingKHR = glad_debug_impl_vkCmdEndRenderingKHR; + glad_debug_vkCmdExecuteCommands = glad_debug_impl_vkCmdExecuteCommands; + glad_debug_vkCmdFillBuffer = glad_debug_impl_vkCmdFillBuffer; + glad_debug_vkCmdNextSubpass = glad_debug_impl_vkCmdNextSubpass; + glad_debug_vkCmdNextSubpass2 = glad_debug_impl_vkCmdNextSubpass2; + glad_debug_vkCmdNextSubpass2KHR = glad_debug_impl_vkCmdNextSubpass2KHR; + glad_debug_vkCmdPipelineBarrier = glad_debug_impl_vkCmdPipelineBarrier; + glad_debug_vkCmdPipelineBarrier2 = glad_debug_impl_vkCmdPipelineBarrier2; + glad_debug_vkCmdPipelineBarrier2KHR = glad_debug_impl_vkCmdPipelineBarrier2KHR; + glad_debug_vkCmdPushConstants = glad_debug_impl_vkCmdPushConstants; + glad_debug_vkCmdPushConstants2 = glad_debug_impl_vkCmdPushConstants2; + glad_debug_vkCmdPushConstants2KHR = glad_debug_impl_vkCmdPushConstants2KHR; + glad_debug_vkCmdPushDescriptorSet = glad_debug_impl_vkCmdPushDescriptorSet; + glad_debug_vkCmdPushDescriptorSet2 = glad_debug_impl_vkCmdPushDescriptorSet2; + glad_debug_vkCmdPushDescriptorSet2KHR = glad_debug_impl_vkCmdPushDescriptorSet2KHR; + glad_debug_vkCmdPushDescriptorSetKHR = glad_debug_impl_vkCmdPushDescriptorSetKHR; + glad_debug_vkCmdPushDescriptorSetWithTemplate = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate; + glad_debug_vkCmdPushDescriptorSetWithTemplate2 = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2; + glad_debug_vkCmdPushDescriptorSetWithTemplate2KHR = glad_debug_impl_vkCmdPushDescriptorSetWithTemplate2KHR; + glad_debug_vkCmdPushDescriptorSetWithTemplateKHR = glad_debug_impl_vkCmdPushDescriptorSetWithTemplateKHR; + glad_debug_vkCmdResetEvent = glad_debug_impl_vkCmdResetEvent; + glad_debug_vkCmdResetEvent2 = glad_debug_impl_vkCmdResetEvent2; + glad_debug_vkCmdResetEvent2KHR = glad_debug_impl_vkCmdResetEvent2KHR; + glad_debug_vkCmdResetQueryPool = glad_debug_impl_vkCmdResetQueryPool; + glad_debug_vkCmdResolveImage = glad_debug_impl_vkCmdResolveImage; + glad_debug_vkCmdResolveImage2 = glad_debug_impl_vkCmdResolveImage2; + glad_debug_vkCmdResolveImage2KHR = glad_debug_impl_vkCmdResolveImage2KHR; + glad_debug_vkCmdSetAlphaToCoverageEnableEXT = glad_debug_impl_vkCmdSetAlphaToCoverageEnableEXT; + glad_debug_vkCmdSetAlphaToOneEnableEXT = glad_debug_impl_vkCmdSetAlphaToOneEnableEXT; + glad_debug_vkCmdSetBlendConstants = glad_debug_impl_vkCmdSetBlendConstants; + glad_debug_vkCmdSetColorBlendAdvancedEXT = glad_debug_impl_vkCmdSetColorBlendAdvancedEXT; + glad_debug_vkCmdSetColorBlendEnableEXT = glad_debug_impl_vkCmdSetColorBlendEnableEXT; + glad_debug_vkCmdSetColorBlendEquationEXT = glad_debug_impl_vkCmdSetColorBlendEquationEXT; + glad_debug_vkCmdSetColorWriteMaskEXT = glad_debug_impl_vkCmdSetColorWriteMaskEXT; + glad_debug_vkCmdSetConservativeRasterizationModeEXT = glad_debug_impl_vkCmdSetConservativeRasterizationModeEXT; + glad_debug_vkCmdSetCoverageModulationModeNV = glad_debug_impl_vkCmdSetCoverageModulationModeNV; + glad_debug_vkCmdSetCoverageModulationTableEnableNV = glad_debug_impl_vkCmdSetCoverageModulationTableEnableNV; + glad_debug_vkCmdSetCoverageModulationTableNV = glad_debug_impl_vkCmdSetCoverageModulationTableNV; + glad_debug_vkCmdSetCoverageReductionModeNV = glad_debug_impl_vkCmdSetCoverageReductionModeNV; + glad_debug_vkCmdSetCoverageToColorEnableNV = glad_debug_impl_vkCmdSetCoverageToColorEnableNV; + glad_debug_vkCmdSetCoverageToColorLocationNV = glad_debug_impl_vkCmdSetCoverageToColorLocationNV; + glad_debug_vkCmdSetCullMode = glad_debug_impl_vkCmdSetCullMode; + glad_debug_vkCmdSetCullModeEXT = glad_debug_impl_vkCmdSetCullModeEXT; + glad_debug_vkCmdSetDepthBias = glad_debug_impl_vkCmdSetDepthBias; + glad_debug_vkCmdSetDepthBiasEnable = glad_debug_impl_vkCmdSetDepthBiasEnable; + glad_debug_vkCmdSetDepthBiasEnableEXT = glad_debug_impl_vkCmdSetDepthBiasEnableEXT; + glad_debug_vkCmdSetDepthBounds = glad_debug_impl_vkCmdSetDepthBounds; + glad_debug_vkCmdSetDepthBoundsTestEnable = glad_debug_impl_vkCmdSetDepthBoundsTestEnable; + glad_debug_vkCmdSetDepthBoundsTestEnableEXT = glad_debug_impl_vkCmdSetDepthBoundsTestEnableEXT; + glad_debug_vkCmdSetDepthClampEnableEXT = glad_debug_impl_vkCmdSetDepthClampEnableEXT; + glad_debug_vkCmdSetDepthClampRangeEXT = glad_debug_impl_vkCmdSetDepthClampRangeEXT; + glad_debug_vkCmdSetDepthClipEnableEXT = glad_debug_impl_vkCmdSetDepthClipEnableEXT; + glad_debug_vkCmdSetDepthClipNegativeOneToOneEXT = glad_debug_impl_vkCmdSetDepthClipNegativeOneToOneEXT; + glad_debug_vkCmdSetDepthCompareOp = glad_debug_impl_vkCmdSetDepthCompareOp; + glad_debug_vkCmdSetDepthCompareOpEXT = glad_debug_impl_vkCmdSetDepthCompareOpEXT; + glad_debug_vkCmdSetDepthTestEnable = glad_debug_impl_vkCmdSetDepthTestEnable; + glad_debug_vkCmdSetDepthTestEnableEXT = glad_debug_impl_vkCmdSetDepthTestEnableEXT; + glad_debug_vkCmdSetDepthWriteEnable = glad_debug_impl_vkCmdSetDepthWriteEnable; + glad_debug_vkCmdSetDepthWriteEnableEXT = glad_debug_impl_vkCmdSetDepthWriteEnableEXT; + glad_debug_vkCmdSetDescriptorBufferOffsets2EXT = glad_debug_impl_vkCmdSetDescriptorBufferOffsets2EXT; + glad_debug_vkCmdSetDeviceMask = glad_debug_impl_vkCmdSetDeviceMask; + glad_debug_vkCmdSetDeviceMaskKHR = glad_debug_impl_vkCmdSetDeviceMaskKHR; + glad_debug_vkCmdSetEvent = glad_debug_impl_vkCmdSetEvent; + glad_debug_vkCmdSetEvent2 = glad_debug_impl_vkCmdSetEvent2; + glad_debug_vkCmdSetEvent2KHR = glad_debug_impl_vkCmdSetEvent2KHR; + glad_debug_vkCmdSetExtraPrimitiveOverestimationSizeEXT = glad_debug_impl_vkCmdSetExtraPrimitiveOverestimationSizeEXT; + glad_debug_vkCmdSetFrontFace = glad_debug_impl_vkCmdSetFrontFace; + glad_debug_vkCmdSetFrontFaceEXT = glad_debug_impl_vkCmdSetFrontFaceEXT; + glad_debug_vkCmdSetLineRasterizationModeEXT = glad_debug_impl_vkCmdSetLineRasterizationModeEXT; + glad_debug_vkCmdSetLineStipple = glad_debug_impl_vkCmdSetLineStipple; + glad_debug_vkCmdSetLineStippleEXT = glad_debug_impl_vkCmdSetLineStippleEXT; + glad_debug_vkCmdSetLineStippleEnableEXT = glad_debug_impl_vkCmdSetLineStippleEnableEXT; + glad_debug_vkCmdSetLineStippleKHR = glad_debug_impl_vkCmdSetLineStippleKHR; + glad_debug_vkCmdSetLineWidth = glad_debug_impl_vkCmdSetLineWidth; + glad_debug_vkCmdSetLogicOpEXT = glad_debug_impl_vkCmdSetLogicOpEXT; + glad_debug_vkCmdSetLogicOpEnableEXT = glad_debug_impl_vkCmdSetLogicOpEnableEXT; + glad_debug_vkCmdSetPatchControlPointsEXT = glad_debug_impl_vkCmdSetPatchControlPointsEXT; + glad_debug_vkCmdSetPolygonModeEXT = glad_debug_impl_vkCmdSetPolygonModeEXT; + glad_debug_vkCmdSetPrimitiveRestartEnable = glad_debug_impl_vkCmdSetPrimitiveRestartEnable; + glad_debug_vkCmdSetPrimitiveRestartEnableEXT = glad_debug_impl_vkCmdSetPrimitiveRestartEnableEXT; + glad_debug_vkCmdSetPrimitiveTopology = glad_debug_impl_vkCmdSetPrimitiveTopology; + glad_debug_vkCmdSetPrimitiveTopologyEXT = glad_debug_impl_vkCmdSetPrimitiveTopologyEXT; + glad_debug_vkCmdSetProvokingVertexModeEXT = glad_debug_impl_vkCmdSetProvokingVertexModeEXT; + glad_debug_vkCmdSetRasterizationSamplesEXT = glad_debug_impl_vkCmdSetRasterizationSamplesEXT; + glad_debug_vkCmdSetRasterizationStreamEXT = glad_debug_impl_vkCmdSetRasterizationStreamEXT; + glad_debug_vkCmdSetRasterizerDiscardEnable = glad_debug_impl_vkCmdSetRasterizerDiscardEnable; + glad_debug_vkCmdSetRasterizerDiscardEnableEXT = glad_debug_impl_vkCmdSetRasterizerDiscardEnableEXT; + glad_debug_vkCmdSetRenderingAttachmentLocations = glad_debug_impl_vkCmdSetRenderingAttachmentLocations; + glad_debug_vkCmdSetRenderingAttachmentLocationsKHR = glad_debug_impl_vkCmdSetRenderingAttachmentLocationsKHR; + glad_debug_vkCmdSetRenderingInputAttachmentIndices = glad_debug_impl_vkCmdSetRenderingInputAttachmentIndices; + glad_debug_vkCmdSetRenderingInputAttachmentIndicesKHR = glad_debug_impl_vkCmdSetRenderingInputAttachmentIndicesKHR; + glad_debug_vkCmdSetRepresentativeFragmentTestEnableNV = glad_debug_impl_vkCmdSetRepresentativeFragmentTestEnableNV; + glad_debug_vkCmdSetSampleLocationsEnableEXT = glad_debug_impl_vkCmdSetSampleLocationsEnableEXT; + glad_debug_vkCmdSetSampleMaskEXT = glad_debug_impl_vkCmdSetSampleMaskEXT; + glad_debug_vkCmdSetScissor = glad_debug_impl_vkCmdSetScissor; + glad_debug_vkCmdSetScissorWithCount = glad_debug_impl_vkCmdSetScissorWithCount; + glad_debug_vkCmdSetScissorWithCountEXT = glad_debug_impl_vkCmdSetScissorWithCountEXT; + glad_debug_vkCmdSetShadingRateImageEnableNV = glad_debug_impl_vkCmdSetShadingRateImageEnableNV; + glad_debug_vkCmdSetStencilCompareMask = glad_debug_impl_vkCmdSetStencilCompareMask; + glad_debug_vkCmdSetStencilOp = glad_debug_impl_vkCmdSetStencilOp; + glad_debug_vkCmdSetStencilOpEXT = glad_debug_impl_vkCmdSetStencilOpEXT; + glad_debug_vkCmdSetStencilReference = glad_debug_impl_vkCmdSetStencilReference; + glad_debug_vkCmdSetStencilTestEnable = glad_debug_impl_vkCmdSetStencilTestEnable; + glad_debug_vkCmdSetStencilTestEnableEXT = glad_debug_impl_vkCmdSetStencilTestEnableEXT; + glad_debug_vkCmdSetStencilWriteMask = glad_debug_impl_vkCmdSetStencilWriteMask; + glad_debug_vkCmdSetTessellationDomainOriginEXT = glad_debug_impl_vkCmdSetTessellationDomainOriginEXT; + glad_debug_vkCmdSetVertexInputEXT = glad_debug_impl_vkCmdSetVertexInputEXT; + glad_debug_vkCmdSetViewport = glad_debug_impl_vkCmdSetViewport; + glad_debug_vkCmdSetViewportSwizzleNV = glad_debug_impl_vkCmdSetViewportSwizzleNV; + glad_debug_vkCmdSetViewportWScalingEnableNV = glad_debug_impl_vkCmdSetViewportWScalingEnableNV; + glad_debug_vkCmdSetViewportWithCount = glad_debug_impl_vkCmdSetViewportWithCount; + glad_debug_vkCmdSetViewportWithCountEXT = glad_debug_impl_vkCmdSetViewportWithCountEXT; + glad_debug_vkCmdUpdateBuffer = glad_debug_impl_vkCmdUpdateBuffer; + glad_debug_vkCmdWaitEvents = glad_debug_impl_vkCmdWaitEvents; + glad_debug_vkCmdWaitEvents2 = glad_debug_impl_vkCmdWaitEvents2; + glad_debug_vkCmdWaitEvents2KHR = glad_debug_impl_vkCmdWaitEvents2KHR; + glad_debug_vkCmdWriteTimestamp = glad_debug_impl_vkCmdWriteTimestamp; + glad_debug_vkCmdWriteTimestamp2 = glad_debug_impl_vkCmdWriteTimestamp2; + glad_debug_vkCmdWriteTimestamp2KHR = glad_debug_impl_vkCmdWriteTimestamp2KHR; + glad_debug_vkCopyImageToImage = glad_debug_impl_vkCopyImageToImage; + glad_debug_vkCopyImageToImageEXT = glad_debug_impl_vkCopyImageToImageEXT; + glad_debug_vkCopyImageToMemory = glad_debug_impl_vkCopyImageToMemory; + glad_debug_vkCopyImageToMemoryEXT = glad_debug_impl_vkCopyImageToMemoryEXT; + glad_debug_vkCopyMemoryToImage = glad_debug_impl_vkCopyMemoryToImage; + glad_debug_vkCopyMemoryToImageEXT = glad_debug_impl_vkCopyMemoryToImageEXT; + glad_debug_vkCreateBuffer = glad_debug_impl_vkCreateBuffer; + glad_debug_vkCreateBufferView = glad_debug_impl_vkCreateBufferView; + glad_debug_vkCreateCommandPool = glad_debug_impl_vkCreateCommandPool; + glad_debug_vkCreateComputePipelines = glad_debug_impl_vkCreateComputePipelines; + glad_debug_vkCreateDescriptorPool = glad_debug_impl_vkCreateDescriptorPool; + glad_debug_vkCreateDescriptorSetLayout = glad_debug_impl_vkCreateDescriptorSetLayout; + glad_debug_vkCreateDescriptorUpdateTemplate = glad_debug_impl_vkCreateDescriptorUpdateTemplate; + glad_debug_vkCreateDescriptorUpdateTemplateKHR = glad_debug_impl_vkCreateDescriptorUpdateTemplateKHR; + glad_debug_vkCreateDevice = glad_debug_impl_vkCreateDevice; + glad_debug_vkCreateEvent = glad_debug_impl_vkCreateEvent; + glad_debug_vkCreateFence = glad_debug_impl_vkCreateFence; + glad_debug_vkCreateFramebuffer = glad_debug_impl_vkCreateFramebuffer; + glad_debug_vkCreateGraphicsPipelines = glad_debug_impl_vkCreateGraphicsPipelines; + glad_debug_vkCreateImage = glad_debug_impl_vkCreateImage; + glad_debug_vkCreateImageView = glad_debug_impl_vkCreateImageView; + glad_debug_vkCreateInstance = glad_debug_impl_vkCreateInstance; + glad_debug_vkCreatePipelineCache = glad_debug_impl_vkCreatePipelineCache; + glad_debug_vkCreatePipelineLayout = glad_debug_impl_vkCreatePipelineLayout; + glad_debug_vkCreatePrivateDataSlot = glad_debug_impl_vkCreatePrivateDataSlot; + glad_debug_vkCreatePrivateDataSlotEXT = glad_debug_impl_vkCreatePrivateDataSlotEXT; + glad_debug_vkCreateQueryPool = glad_debug_impl_vkCreateQueryPool; + glad_debug_vkCreateRenderPass = glad_debug_impl_vkCreateRenderPass; + glad_debug_vkCreateRenderPass2 = glad_debug_impl_vkCreateRenderPass2; + glad_debug_vkCreateRenderPass2KHR = glad_debug_impl_vkCreateRenderPass2KHR; + glad_debug_vkCreateSampler = glad_debug_impl_vkCreateSampler; + glad_debug_vkCreateSamplerYcbcrConversion = glad_debug_impl_vkCreateSamplerYcbcrConversion; + glad_debug_vkCreateSamplerYcbcrConversionKHR = glad_debug_impl_vkCreateSamplerYcbcrConversionKHR; + glad_debug_vkCreateSemaphore = glad_debug_impl_vkCreateSemaphore; + glad_debug_vkCreateShaderModule = glad_debug_impl_vkCreateShaderModule; + glad_debug_vkCreateShadersEXT = glad_debug_impl_vkCreateShadersEXT; + glad_debug_vkDestroyBuffer = glad_debug_impl_vkDestroyBuffer; + glad_debug_vkDestroyBufferView = glad_debug_impl_vkDestroyBufferView; + glad_debug_vkDestroyCommandPool = glad_debug_impl_vkDestroyCommandPool; + glad_debug_vkDestroyDescriptorPool = glad_debug_impl_vkDestroyDescriptorPool; + glad_debug_vkDestroyDescriptorSetLayout = glad_debug_impl_vkDestroyDescriptorSetLayout; + glad_debug_vkDestroyDescriptorUpdateTemplate = glad_debug_impl_vkDestroyDescriptorUpdateTemplate; + glad_debug_vkDestroyDescriptorUpdateTemplateKHR = glad_debug_impl_vkDestroyDescriptorUpdateTemplateKHR; + glad_debug_vkDestroyDevice = glad_debug_impl_vkDestroyDevice; + glad_debug_vkDestroyEvent = glad_debug_impl_vkDestroyEvent; + glad_debug_vkDestroyFence = glad_debug_impl_vkDestroyFence; + glad_debug_vkDestroyFramebuffer = glad_debug_impl_vkDestroyFramebuffer; + glad_debug_vkDestroyImage = glad_debug_impl_vkDestroyImage; + glad_debug_vkDestroyImageView = glad_debug_impl_vkDestroyImageView; + glad_debug_vkDestroyInstance = glad_debug_impl_vkDestroyInstance; + glad_debug_vkDestroyPipeline = glad_debug_impl_vkDestroyPipeline; + glad_debug_vkDestroyPipelineCache = glad_debug_impl_vkDestroyPipelineCache; + glad_debug_vkDestroyPipelineLayout = glad_debug_impl_vkDestroyPipelineLayout; + glad_debug_vkDestroyPrivateDataSlot = glad_debug_impl_vkDestroyPrivateDataSlot; + glad_debug_vkDestroyPrivateDataSlotEXT = glad_debug_impl_vkDestroyPrivateDataSlotEXT; + glad_debug_vkDestroyQueryPool = glad_debug_impl_vkDestroyQueryPool; + glad_debug_vkDestroyRenderPass = glad_debug_impl_vkDestroyRenderPass; + glad_debug_vkDestroySampler = glad_debug_impl_vkDestroySampler; + glad_debug_vkDestroySamplerYcbcrConversion = glad_debug_impl_vkDestroySamplerYcbcrConversion; + glad_debug_vkDestroySamplerYcbcrConversionKHR = glad_debug_impl_vkDestroySamplerYcbcrConversionKHR; + glad_debug_vkDestroySemaphore = glad_debug_impl_vkDestroySemaphore; + glad_debug_vkDestroyShaderEXT = glad_debug_impl_vkDestroyShaderEXT; + glad_debug_vkDestroyShaderModule = glad_debug_impl_vkDestroyShaderModule; + glad_debug_vkDeviceWaitIdle = glad_debug_impl_vkDeviceWaitIdle; + glad_debug_vkEndCommandBuffer = glad_debug_impl_vkEndCommandBuffer; + glad_debug_vkEnumerateDeviceExtensionProperties = glad_debug_impl_vkEnumerateDeviceExtensionProperties; + glad_debug_vkEnumerateDeviceLayerProperties = glad_debug_impl_vkEnumerateDeviceLayerProperties; + glad_debug_vkEnumerateInstanceExtensionProperties = glad_debug_impl_vkEnumerateInstanceExtensionProperties; + glad_debug_vkEnumerateInstanceLayerProperties = glad_debug_impl_vkEnumerateInstanceLayerProperties; + glad_debug_vkEnumerateInstanceVersion = glad_debug_impl_vkEnumerateInstanceVersion; + glad_debug_vkEnumeratePhysicalDeviceGroups = glad_debug_impl_vkEnumeratePhysicalDeviceGroups; + glad_debug_vkEnumeratePhysicalDeviceGroupsKHR = glad_debug_impl_vkEnumeratePhysicalDeviceGroupsKHR; + glad_debug_vkEnumeratePhysicalDevices = glad_debug_impl_vkEnumeratePhysicalDevices; + glad_debug_vkFlushMappedMemoryRanges = glad_debug_impl_vkFlushMappedMemoryRanges; + glad_debug_vkFreeCommandBuffers = glad_debug_impl_vkFreeCommandBuffers; + glad_debug_vkFreeDescriptorSets = glad_debug_impl_vkFreeDescriptorSets; + glad_debug_vkFreeMemory = glad_debug_impl_vkFreeMemory; + glad_debug_vkGetBufferDeviceAddress = glad_debug_impl_vkGetBufferDeviceAddress; + glad_debug_vkGetBufferDeviceAddressEXT = glad_debug_impl_vkGetBufferDeviceAddressEXT; + glad_debug_vkGetBufferDeviceAddressKHR = glad_debug_impl_vkGetBufferDeviceAddressKHR; + glad_debug_vkGetBufferMemoryRequirements = glad_debug_impl_vkGetBufferMemoryRequirements; + glad_debug_vkGetBufferMemoryRequirements2 = glad_debug_impl_vkGetBufferMemoryRequirements2; + glad_debug_vkGetBufferMemoryRequirements2KHR = glad_debug_impl_vkGetBufferMemoryRequirements2KHR; + glad_debug_vkGetBufferOpaqueCaptureAddress = glad_debug_impl_vkGetBufferOpaqueCaptureAddress; + glad_debug_vkGetBufferOpaqueCaptureAddressKHR = glad_debug_impl_vkGetBufferOpaqueCaptureAddressKHR; + glad_debug_vkGetDescriptorSetLayoutSupport = glad_debug_impl_vkGetDescriptorSetLayoutSupport; + glad_debug_vkGetDescriptorSetLayoutSupportKHR = glad_debug_impl_vkGetDescriptorSetLayoutSupportKHR; + glad_debug_vkGetDeviceBufferMemoryRequirements = glad_debug_impl_vkGetDeviceBufferMemoryRequirements; + glad_debug_vkGetDeviceBufferMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceBufferMemoryRequirementsKHR; + glad_debug_vkGetDeviceGroupPeerMemoryFeatures = glad_debug_impl_vkGetDeviceGroupPeerMemoryFeatures; + glad_debug_vkGetDeviceGroupPeerMemoryFeaturesKHR = glad_debug_impl_vkGetDeviceGroupPeerMemoryFeaturesKHR; + glad_debug_vkGetDeviceGroupPresentCapabilitiesKHR = glad_debug_impl_vkGetDeviceGroupPresentCapabilitiesKHR; + glad_debug_vkGetDeviceGroupSurfacePresentModesKHR = glad_debug_impl_vkGetDeviceGroupSurfacePresentModesKHR; + glad_debug_vkGetDeviceImageMemoryRequirements = glad_debug_impl_vkGetDeviceImageMemoryRequirements; + glad_debug_vkGetDeviceImageMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceImageMemoryRequirementsKHR; + glad_debug_vkGetDeviceImageSparseMemoryRequirements = glad_debug_impl_vkGetDeviceImageSparseMemoryRequirements; + glad_debug_vkGetDeviceImageSparseMemoryRequirementsKHR = glad_debug_impl_vkGetDeviceImageSparseMemoryRequirementsKHR; + glad_debug_vkGetDeviceImageSubresourceLayout = glad_debug_impl_vkGetDeviceImageSubresourceLayout; + glad_debug_vkGetDeviceImageSubresourceLayoutKHR = glad_debug_impl_vkGetDeviceImageSubresourceLayoutKHR; + glad_debug_vkGetDeviceMemoryCommitment = glad_debug_impl_vkGetDeviceMemoryCommitment; + glad_debug_vkGetDeviceMemoryOpaqueCaptureAddress = glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddress; + glad_debug_vkGetDeviceMemoryOpaqueCaptureAddressKHR = glad_debug_impl_vkGetDeviceMemoryOpaqueCaptureAddressKHR; + glad_debug_vkGetDeviceProcAddr = glad_debug_impl_vkGetDeviceProcAddr; + glad_debug_vkGetDeviceQueue = glad_debug_impl_vkGetDeviceQueue; + glad_debug_vkGetDeviceQueue2 = glad_debug_impl_vkGetDeviceQueue2; + glad_debug_vkGetEventStatus = glad_debug_impl_vkGetEventStatus; + glad_debug_vkGetFenceStatus = glad_debug_impl_vkGetFenceStatus; + glad_debug_vkGetImageMemoryRequirements = glad_debug_impl_vkGetImageMemoryRequirements; + glad_debug_vkGetImageMemoryRequirements2 = glad_debug_impl_vkGetImageMemoryRequirements2; + glad_debug_vkGetImageMemoryRequirements2KHR = glad_debug_impl_vkGetImageMemoryRequirements2KHR; + glad_debug_vkGetImageSparseMemoryRequirements = glad_debug_impl_vkGetImageSparseMemoryRequirements; + glad_debug_vkGetImageSparseMemoryRequirements2 = glad_debug_impl_vkGetImageSparseMemoryRequirements2; + glad_debug_vkGetImageSparseMemoryRequirements2KHR = glad_debug_impl_vkGetImageSparseMemoryRequirements2KHR; + glad_debug_vkGetImageSubresourceLayout = glad_debug_impl_vkGetImageSubresourceLayout; + glad_debug_vkGetImageSubresourceLayout2 = glad_debug_impl_vkGetImageSubresourceLayout2; + glad_debug_vkGetImageSubresourceLayout2EXT = glad_debug_impl_vkGetImageSubresourceLayout2EXT; + glad_debug_vkGetImageSubresourceLayout2KHR = glad_debug_impl_vkGetImageSubresourceLayout2KHR; + glad_debug_vkGetInstanceProcAddr = glad_debug_impl_vkGetInstanceProcAddr; + glad_debug_vkGetPhysicalDeviceExternalBufferProperties = glad_debug_impl_vkGetPhysicalDeviceExternalBufferProperties; + glad_debug_vkGetPhysicalDeviceExternalBufferPropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalBufferPropertiesKHR; + glad_debug_vkGetPhysicalDeviceExternalFenceProperties = glad_debug_impl_vkGetPhysicalDeviceExternalFenceProperties; + glad_debug_vkGetPhysicalDeviceExternalFencePropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalFencePropertiesKHR; + glad_debug_vkGetPhysicalDeviceExternalSemaphoreProperties = glad_debug_impl_vkGetPhysicalDeviceExternalSemaphoreProperties; + glad_debug_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = glad_debug_impl_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; + glad_debug_vkGetPhysicalDeviceFeatures = glad_debug_impl_vkGetPhysicalDeviceFeatures; + glad_debug_vkGetPhysicalDeviceFeatures2 = glad_debug_impl_vkGetPhysicalDeviceFeatures2; + glad_debug_vkGetPhysicalDeviceFeatures2KHR = glad_debug_impl_vkGetPhysicalDeviceFeatures2KHR; + glad_debug_vkGetPhysicalDeviceFormatProperties = glad_debug_impl_vkGetPhysicalDeviceFormatProperties; + glad_debug_vkGetPhysicalDeviceFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceFormatProperties2; + glad_debug_vkGetPhysicalDeviceFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceImageFormatProperties = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties; + glad_debug_vkGetPhysicalDeviceImageFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2; + glad_debug_vkGetPhysicalDeviceImageFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceImageFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceMemoryProperties = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties; + glad_debug_vkGetPhysicalDeviceMemoryProperties2 = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2; + glad_debug_vkGetPhysicalDeviceMemoryProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceMemoryProperties2KHR; + glad_debug_vkGetPhysicalDevicePresentRectanglesKHR = glad_debug_impl_vkGetPhysicalDevicePresentRectanglesKHR; + glad_debug_vkGetPhysicalDeviceProperties = glad_debug_impl_vkGetPhysicalDeviceProperties; + glad_debug_vkGetPhysicalDeviceProperties2 = glad_debug_impl_vkGetPhysicalDeviceProperties2; + glad_debug_vkGetPhysicalDeviceProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceProperties2KHR; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2 = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceQueueFamilyProperties2KHR; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2 = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = glad_debug_impl_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceToolProperties = glad_debug_impl_vkGetPhysicalDeviceToolProperties; + glad_debug_vkGetPhysicalDeviceToolPropertiesEXT = glad_debug_impl_vkGetPhysicalDeviceToolPropertiesEXT; + glad_debug_vkGetPipelineCacheData = glad_debug_impl_vkGetPipelineCacheData; + glad_debug_vkGetPrivateData = glad_debug_impl_vkGetPrivateData; + glad_debug_vkGetPrivateDataEXT = glad_debug_impl_vkGetPrivateDataEXT; + glad_debug_vkGetQueryPoolResults = glad_debug_impl_vkGetQueryPoolResults; + glad_debug_vkGetRenderAreaGranularity = glad_debug_impl_vkGetRenderAreaGranularity; + glad_debug_vkGetRenderingAreaGranularity = glad_debug_impl_vkGetRenderingAreaGranularity; + glad_debug_vkGetRenderingAreaGranularityKHR = glad_debug_impl_vkGetRenderingAreaGranularityKHR; + glad_debug_vkGetSemaphoreCounterValue = glad_debug_impl_vkGetSemaphoreCounterValue; + glad_debug_vkGetSemaphoreCounterValueKHR = glad_debug_impl_vkGetSemaphoreCounterValueKHR; + glad_debug_vkGetShaderBinaryDataEXT = glad_debug_impl_vkGetShaderBinaryDataEXT; + glad_debug_vkInvalidateMappedMemoryRanges = glad_debug_impl_vkInvalidateMappedMemoryRanges; + glad_debug_vkMapMemory = glad_debug_impl_vkMapMemory; + glad_debug_vkMapMemory2 = glad_debug_impl_vkMapMemory2; + glad_debug_vkMapMemory2KHR = glad_debug_impl_vkMapMemory2KHR; + glad_debug_vkMergePipelineCaches = glad_debug_impl_vkMergePipelineCaches; + glad_debug_vkQueueBindSparse = glad_debug_impl_vkQueueBindSparse; + glad_debug_vkQueueSubmit = glad_debug_impl_vkQueueSubmit; + glad_debug_vkQueueSubmit2 = glad_debug_impl_vkQueueSubmit2; + glad_debug_vkQueueSubmit2KHR = glad_debug_impl_vkQueueSubmit2KHR; + glad_debug_vkQueueWaitIdle = glad_debug_impl_vkQueueWaitIdle; + glad_debug_vkResetCommandBuffer = glad_debug_impl_vkResetCommandBuffer; + glad_debug_vkResetCommandPool = glad_debug_impl_vkResetCommandPool; + glad_debug_vkResetDescriptorPool = glad_debug_impl_vkResetDescriptorPool; + glad_debug_vkResetEvent = glad_debug_impl_vkResetEvent; + glad_debug_vkResetFences = glad_debug_impl_vkResetFences; + glad_debug_vkResetQueryPool = glad_debug_impl_vkResetQueryPool; + glad_debug_vkResetQueryPoolEXT = glad_debug_impl_vkResetQueryPoolEXT; + glad_debug_vkSetEvent = glad_debug_impl_vkSetEvent; + glad_debug_vkSetPrivateData = glad_debug_impl_vkSetPrivateData; + glad_debug_vkSetPrivateDataEXT = glad_debug_impl_vkSetPrivateDataEXT; + glad_debug_vkSignalSemaphore = glad_debug_impl_vkSignalSemaphore; + glad_debug_vkSignalSemaphoreKHR = glad_debug_impl_vkSignalSemaphoreKHR; + glad_debug_vkTransitionImageLayout = glad_debug_impl_vkTransitionImageLayout; + glad_debug_vkTransitionImageLayoutEXT = glad_debug_impl_vkTransitionImageLayoutEXT; + glad_debug_vkTrimCommandPool = glad_debug_impl_vkTrimCommandPool; + glad_debug_vkTrimCommandPoolKHR = glad_debug_impl_vkTrimCommandPoolKHR; + glad_debug_vkUnmapMemory = glad_debug_impl_vkUnmapMemory; + glad_debug_vkUnmapMemory2 = glad_debug_impl_vkUnmapMemory2; + glad_debug_vkUnmapMemory2KHR = glad_debug_impl_vkUnmapMemory2KHR; + glad_debug_vkUpdateDescriptorSetWithTemplate = glad_debug_impl_vkUpdateDescriptorSetWithTemplate; + glad_debug_vkUpdateDescriptorSetWithTemplateKHR = glad_debug_impl_vkUpdateDescriptorSetWithTemplateKHR; + glad_debug_vkUpdateDescriptorSets = glad_debug_impl_vkUpdateDescriptorSets; + glad_debug_vkWaitForFences = glad_debug_impl_vkWaitForFences; + glad_debug_vkWaitSemaphores = glad_debug_impl_vkWaitSemaphores; + glad_debug_vkWaitSemaphoresKHR = glad_debug_impl_vkWaitSemaphoresKHR; +} + +void gladUninstallVulkanDebug(void) { + glad_debug_vkAcquireNextImage2KHR = glad_vkAcquireNextImage2KHR; + glad_debug_vkAllocateCommandBuffers = glad_vkAllocateCommandBuffers; + glad_debug_vkAllocateDescriptorSets = glad_vkAllocateDescriptorSets; + glad_debug_vkAllocateMemory = glad_vkAllocateMemory; + glad_debug_vkBeginCommandBuffer = glad_vkBeginCommandBuffer; + glad_debug_vkBindBufferMemory = glad_vkBindBufferMemory; + glad_debug_vkBindBufferMemory2 = glad_vkBindBufferMemory2; + glad_debug_vkBindBufferMemory2KHR = glad_vkBindBufferMemory2KHR; + glad_debug_vkBindImageMemory = glad_vkBindImageMemory; + glad_debug_vkBindImageMemory2 = glad_vkBindImageMemory2; + glad_debug_vkBindImageMemory2KHR = glad_vkBindImageMemory2KHR; + glad_debug_vkCmdBeginQuery = glad_vkCmdBeginQuery; + glad_debug_vkCmdBeginRenderPass = glad_vkCmdBeginRenderPass; + glad_debug_vkCmdBeginRenderPass2 = glad_vkCmdBeginRenderPass2; + glad_debug_vkCmdBeginRenderPass2KHR = glad_vkCmdBeginRenderPass2KHR; + glad_debug_vkCmdBeginRendering = glad_vkCmdBeginRendering; + glad_debug_vkCmdBeginRenderingKHR = glad_vkCmdBeginRenderingKHR; + glad_debug_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = glad_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT; + glad_debug_vkCmdBindDescriptorSets = glad_vkCmdBindDescriptorSets; + glad_debug_vkCmdBindDescriptorSets2 = glad_vkCmdBindDescriptorSets2; + glad_debug_vkCmdBindDescriptorSets2KHR = glad_vkCmdBindDescriptorSets2KHR; + glad_debug_vkCmdBindIndexBuffer = glad_vkCmdBindIndexBuffer; + glad_debug_vkCmdBindIndexBuffer2 = glad_vkCmdBindIndexBuffer2; + glad_debug_vkCmdBindIndexBuffer2KHR = glad_vkCmdBindIndexBuffer2KHR; + glad_debug_vkCmdBindPipeline = glad_vkCmdBindPipeline; + glad_debug_vkCmdBindShadersEXT = glad_vkCmdBindShadersEXT; + glad_debug_vkCmdBindVertexBuffers = glad_vkCmdBindVertexBuffers; + glad_debug_vkCmdBindVertexBuffers2 = glad_vkCmdBindVertexBuffers2; + glad_debug_vkCmdBindVertexBuffers2EXT = glad_vkCmdBindVertexBuffers2EXT; + glad_debug_vkCmdBlitImage = glad_vkCmdBlitImage; + glad_debug_vkCmdBlitImage2 = glad_vkCmdBlitImage2; + glad_debug_vkCmdBlitImage2KHR = glad_vkCmdBlitImage2KHR; + glad_debug_vkCmdClearAttachments = glad_vkCmdClearAttachments; + glad_debug_vkCmdClearColorImage = glad_vkCmdClearColorImage; + glad_debug_vkCmdClearDepthStencilImage = glad_vkCmdClearDepthStencilImage; + glad_debug_vkCmdCopyBuffer = glad_vkCmdCopyBuffer; + glad_debug_vkCmdCopyBuffer2 = glad_vkCmdCopyBuffer2; + glad_debug_vkCmdCopyBuffer2KHR = glad_vkCmdCopyBuffer2KHR; + glad_debug_vkCmdCopyBufferToImage = glad_vkCmdCopyBufferToImage; + glad_debug_vkCmdCopyBufferToImage2 = glad_vkCmdCopyBufferToImage2; + glad_debug_vkCmdCopyBufferToImage2KHR = glad_vkCmdCopyBufferToImage2KHR; + glad_debug_vkCmdCopyImage = glad_vkCmdCopyImage; + glad_debug_vkCmdCopyImage2 = glad_vkCmdCopyImage2; + glad_debug_vkCmdCopyImage2KHR = glad_vkCmdCopyImage2KHR; + glad_debug_vkCmdCopyImageToBuffer = glad_vkCmdCopyImageToBuffer; + glad_debug_vkCmdCopyImageToBuffer2 = glad_vkCmdCopyImageToBuffer2; + glad_debug_vkCmdCopyImageToBuffer2KHR = glad_vkCmdCopyImageToBuffer2KHR; + glad_debug_vkCmdCopyQueryPoolResults = glad_vkCmdCopyQueryPoolResults; + glad_debug_vkCmdDispatch = glad_vkCmdDispatch; + glad_debug_vkCmdDispatchBase = glad_vkCmdDispatchBase; + glad_debug_vkCmdDispatchBaseKHR = glad_vkCmdDispatchBaseKHR; + glad_debug_vkCmdDispatchIndirect = glad_vkCmdDispatchIndirect; + glad_debug_vkCmdDraw = glad_vkCmdDraw; + glad_debug_vkCmdDrawIndexed = glad_vkCmdDrawIndexed; + glad_debug_vkCmdDrawIndexedIndirect = glad_vkCmdDrawIndexedIndirect; + glad_debug_vkCmdDrawIndexedIndirectCount = glad_vkCmdDrawIndexedIndirectCount; + glad_debug_vkCmdDrawIndexedIndirectCountAMD = glad_vkCmdDrawIndexedIndirectCountAMD; + glad_debug_vkCmdDrawIndexedIndirectCountKHR = glad_vkCmdDrawIndexedIndirectCountKHR; + glad_debug_vkCmdDrawIndirect = glad_vkCmdDrawIndirect; + glad_debug_vkCmdDrawIndirectCount = glad_vkCmdDrawIndirectCount; + glad_debug_vkCmdDrawIndirectCountAMD = glad_vkCmdDrawIndirectCountAMD; + glad_debug_vkCmdDrawIndirectCountKHR = glad_vkCmdDrawIndirectCountKHR; + glad_debug_vkCmdEndQuery = glad_vkCmdEndQuery; + glad_debug_vkCmdEndRenderPass = glad_vkCmdEndRenderPass; + glad_debug_vkCmdEndRenderPass2 = glad_vkCmdEndRenderPass2; + glad_debug_vkCmdEndRenderPass2KHR = glad_vkCmdEndRenderPass2KHR; + glad_debug_vkCmdEndRendering = glad_vkCmdEndRendering; + glad_debug_vkCmdEndRenderingKHR = glad_vkCmdEndRenderingKHR; + glad_debug_vkCmdExecuteCommands = glad_vkCmdExecuteCommands; + glad_debug_vkCmdFillBuffer = glad_vkCmdFillBuffer; + glad_debug_vkCmdNextSubpass = glad_vkCmdNextSubpass; + glad_debug_vkCmdNextSubpass2 = glad_vkCmdNextSubpass2; + glad_debug_vkCmdNextSubpass2KHR = glad_vkCmdNextSubpass2KHR; + glad_debug_vkCmdPipelineBarrier = glad_vkCmdPipelineBarrier; + glad_debug_vkCmdPipelineBarrier2 = glad_vkCmdPipelineBarrier2; + glad_debug_vkCmdPipelineBarrier2KHR = glad_vkCmdPipelineBarrier2KHR; + glad_debug_vkCmdPushConstants = glad_vkCmdPushConstants; + glad_debug_vkCmdPushConstants2 = glad_vkCmdPushConstants2; + glad_debug_vkCmdPushConstants2KHR = glad_vkCmdPushConstants2KHR; + glad_debug_vkCmdPushDescriptorSet = glad_vkCmdPushDescriptorSet; + glad_debug_vkCmdPushDescriptorSet2 = glad_vkCmdPushDescriptorSet2; + glad_debug_vkCmdPushDescriptorSet2KHR = glad_vkCmdPushDescriptorSet2KHR; + glad_debug_vkCmdPushDescriptorSetKHR = glad_vkCmdPushDescriptorSetKHR; + glad_debug_vkCmdPushDescriptorSetWithTemplate = glad_vkCmdPushDescriptorSetWithTemplate; + glad_debug_vkCmdPushDescriptorSetWithTemplate2 = glad_vkCmdPushDescriptorSetWithTemplate2; + glad_debug_vkCmdPushDescriptorSetWithTemplate2KHR = glad_vkCmdPushDescriptorSetWithTemplate2KHR; + glad_debug_vkCmdPushDescriptorSetWithTemplateKHR = glad_vkCmdPushDescriptorSetWithTemplateKHR; + glad_debug_vkCmdResetEvent = glad_vkCmdResetEvent; + glad_debug_vkCmdResetEvent2 = glad_vkCmdResetEvent2; + glad_debug_vkCmdResetEvent2KHR = glad_vkCmdResetEvent2KHR; + glad_debug_vkCmdResetQueryPool = glad_vkCmdResetQueryPool; + glad_debug_vkCmdResolveImage = glad_vkCmdResolveImage; + glad_debug_vkCmdResolveImage2 = glad_vkCmdResolveImage2; + glad_debug_vkCmdResolveImage2KHR = glad_vkCmdResolveImage2KHR; + glad_debug_vkCmdSetAlphaToCoverageEnableEXT = glad_vkCmdSetAlphaToCoverageEnableEXT; + glad_debug_vkCmdSetAlphaToOneEnableEXT = glad_vkCmdSetAlphaToOneEnableEXT; + glad_debug_vkCmdSetBlendConstants = glad_vkCmdSetBlendConstants; + glad_debug_vkCmdSetColorBlendAdvancedEXT = glad_vkCmdSetColorBlendAdvancedEXT; + glad_debug_vkCmdSetColorBlendEnableEXT = glad_vkCmdSetColorBlendEnableEXT; + glad_debug_vkCmdSetColorBlendEquationEXT = glad_vkCmdSetColorBlendEquationEXT; + glad_debug_vkCmdSetColorWriteMaskEXT = glad_vkCmdSetColorWriteMaskEXT; + glad_debug_vkCmdSetConservativeRasterizationModeEXT = glad_vkCmdSetConservativeRasterizationModeEXT; + glad_debug_vkCmdSetCoverageModulationModeNV = glad_vkCmdSetCoverageModulationModeNV; + glad_debug_vkCmdSetCoverageModulationTableEnableNV = glad_vkCmdSetCoverageModulationTableEnableNV; + glad_debug_vkCmdSetCoverageModulationTableNV = glad_vkCmdSetCoverageModulationTableNV; + glad_debug_vkCmdSetCoverageReductionModeNV = glad_vkCmdSetCoverageReductionModeNV; + glad_debug_vkCmdSetCoverageToColorEnableNV = glad_vkCmdSetCoverageToColorEnableNV; + glad_debug_vkCmdSetCoverageToColorLocationNV = glad_vkCmdSetCoverageToColorLocationNV; + glad_debug_vkCmdSetCullMode = glad_vkCmdSetCullMode; + glad_debug_vkCmdSetCullModeEXT = glad_vkCmdSetCullModeEXT; + glad_debug_vkCmdSetDepthBias = glad_vkCmdSetDepthBias; + glad_debug_vkCmdSetDepthBiasEnable = glad_vkCmdSetDepthBiasEnable; + glad_debug_vkCmdSetDepthBiasEnableEXT = glad_vkCmdSetDepthBiasEnableEXT; + glad_debug_vkCmdSetDepthBounds = glad_vkCmdSetDepthBounds; + glad_debug_vkCmdSetDepthBoundsTestEnable = glad_vkCmdSetDepthBoundsTestEnable; + glad_debug_vkCmdSetDepthBoundsTestEnableEXT = glad_vkCmdSetDepthBoundsTestEnableEXT; + glad_debug_vkCmdSetDepthClampEnableEXT = glad_vkCmdSetDepthClampEnableEXT; + glad_debug_vkCmdSetDepthClampRangeEXT = glad_vkCmdSetDepthClampRangeEXT; + glad_debug_vkCmdSetDepthClipEnableEXT = glad_vkCmdSetDepthClipEnableEXT; + glad_debug_vkCmdSetDepthClipNegativeOneToOneEXT = glad_vkCmdSetDepthClipNegativeOneToOneEXT; + glad_debug_vkCmdSetDepthCompareOp = glad_vkCmdSetDepthCompareOp; + glad_debug_vkCmdSetDepthCompareOpEXT = glad_vkCmdSetDepthCompareOpEXT; + glad_debug_vkCmdSetDepthTestEnable = glad_vkCmdSetDepthTestEnable; + glad_debug_vkCmdSetDepthTestEnableEXT = glad_vkCmdSetDepthTestEnableEXT; + glad_debug_vkCmdSetDepthWriteEnable = glad_vkCmdSetDepthWriteEnable; + glad_debug_vkCmdSetDepthWriteEnableEXT = glad_vkCmdSetDepthWriteEnableEXT; + glad_debug_vkCmdSetDescriptorBufferOffsets2EXT = glad_vkCmdSetDescriptorBufferOffsets2EXT; + glad_debug_vkCmdSetDeviceMask = glad_vkCmdSetDeviceMask; + glad_debug_vkCmdSetDeviceMaskKHR = glad_vkCmdSetDeviceMaskKHR; + glad_debug_vkCmdSetEvent = glad_vkCmdSetEvent; + glad_debug_vkCmdSetEvent2 = glad_vkCmdSetEvent2; + glad_debug_vkCmdSetEvent2KHR = glad_vkCmdSetEvent2KHR; + glad_debug_vkCmdSetExtraPrimitiveOverestimationSizeEXT = glad_vkCmdSetExtraPrimitiveOverestimationSizeEXT; + glad_debug_vkCmdSetFrontFace = glad_vkCmdSetFrontFace; + glad_debug_vkCmdSetFrontFaceEXT = glad_vkCmdSetFrontFaceEXT; + glad_debug_vkCmdSetLineRasterizationModeEXT = glad_vkCmdSetLineRasterizationModeEXT; + glad_debug_vkCmdSetLineStipple = glad_vkCmdSetLineStipple; + glad_debug_vkCmdSetLineStippleEXT = glad_vkCmdSetLineStippleEXT; + glad_debug_vkCmdSetLineStippleEnableEXT = glad_vkCmdSetLineStippleEnableEXT; + glad_debug_vkCmdSetLineStippleKHR = glad_vkCmdSetLineStippleKHR; + glad_debug_vkCmdSetLineWidth = glad_vkCmdSetLineWidth; + glad_debug_vkCmdSetLogicOpEXT = glad_vkCmdSetLogicOpEXT; + glad_debug_vkCmdSetLogicOpEnableEXT = glad_vkCmdSetLogicOpEnableEXT; + glad_debug_vkCmdSetPatchControlPointsEXT = glad_vkCmdSetPatchControlPointsEXT; + glad_debug_vkCmdSetPolygonModeEXT = glad_vkCmdSetPolygonModeEXT; + glad_debug_vkCmdSetPrimitiveRestartEnable = glad_vkCmdSetPrimitiveRestartEnable; + glad_debug_vkCmdSetPrimitiveRestartEnableEXT = glad_vkCmdSetPrimitiveRestartEnableEXT; + glad_debug_vkCmdSetPrimitiveTopology = glad_vkCmdSetPrimitiveTopology; + glad_debug_vkCmdSetPrimitiveTopologyEXT = glad_vkCmdSetPrimitiveTopologyEXT; + glad_debug_vkCmdSetProvokingVertexModeEXT = glad_vkCmdSetProvokingVertexModeEXT; + glad_debug_vkCmdSetRasterizationSamplesEXT = glad_vkCmdSetRasterizationSamplesEXT; + glad_debug_vkCmdSetRasterizationStreamEXT = glad_vkCmdSetRasterizationStreamEXT; + glad_debug_vkCmdSetRasterizerDiscardEnable = glad_vkCmdSetRasterizerDiscardEnable; + glad_debug_vkCmdSetRasterizerDiscardEnableEXT = glad_vkCmdSetRasterizerDiscardEnableEXT; + glad_debug_vkCmdSetRenderingAttachmentLocations = glad_vkCmdSetRenderingAttachmentLocations; + glad_debug_vkCmdSetRenderingAttachmentLocationsKHR = glad_vkCmdSetRenderingAttachmentLocationsKHR; + glad_debug_vkCmdSetRenderingInputAttachmentIndices = glad_vkCmdSetRenderingInputAttachmentIndices; + glad_debug_vkCmdSetRenderingInputAttachmentIndicesKHR = glad_vkCmdSetRenderingInputAttachmentIndicesKHR; + glad_debug_vkCmdSetRepresentativeFragmentTestEnableNV = glad_vkCmdSetRepresentativeFragmentTestEnableNV; + glad_debug_vkCmdSetSampleLocationsEnableEXT = glad_vkCmdSetSampleLocationsEnableEXT; + glad_debug_vkCmdSetSampleMaskEXT = glad_vkCmdSetSampleMaskEXT; + glad_debug_vkCmdSetScissor = glad_vkCmdSetScissor; + glad_debug_vkCmdSetScissorWithCount = glad_vkCmdSetScissorWithCount; + glad_debug_vkCmdSetScissorWithCountEXT = glad_vkCmdSetScissorWithCountEXT; + glad_debug_vkCmdSetShadingRateImageEnableNV = glad_vkCmdSetShadingRateImageEnableNV; + glad_debug_vkCmdSetStencilCompareMask = glad_vkCmdSetStencilCompareMask; + glad_debug_vkCmdSetStencilOp = glad_vkCmdSetStencilOp; + glad_debug_vkCmdSetStencilOpEXT = glad_vkCmdSetStencilOpEXT; + glad_debug_vkCmdSetStencilReference = glad_vkCmdSetStencilReference; + glad_debug_vkCmdSetStencilTestEnable = glad_vkCmdSetStencilTestEnable; + glad_debug_vkCmdSetStencilTestEnableEXT = glad_vkCmdSetStencilTestEnableEXT; + glad_debug_vkCmdSetStencilWriteMask = glad_vkCmdSetStencilWriteMask; + glad_debug_vkCmdSetTessellationDomainOriginEXT = glad_vkCmdSetTessellationDomainOriginEXT; + glad_debug_vkCmdSetVertexInputEXT = glad_vkCmdSetVertexInputEXT; + glad_debug_vkCmdSetViewport = glad_vkCmdSetViewport; + glad_debug_vkCmdSetViewportSwizzleNV = glad_vkCmdSetViewportSwizzleNV; + glad_debug_vkCmdSetViewportWScalingEnableNV = glad_vkCmdSetViewportWScalingEnableNV; + glad_debug_vkCmdSetViewportWithCount = glad_vkCmdSetViewportWithCount; + glad_debug_vkCmdSetViewportWithCountEXT = glad_vkCmdSetViewportWithCountEXT; + glad_debug_vkCmdUpdateBuffer = glad_vkCmdUpdateBuffer; + glad_debug_vkCmdWaitEvents = glad_vkCmdWaitEvents; + glad_debug_vkCmdWaitEvents2 = glad_vkCmdWaitEvents2; + glad_debug_vkCmdWaitEvents2KHR = glad_vkCmdWaitEvents2KHR; + glad_debug_vkCmdWriteTimestamp = glad_vkCmdWriteTimestamp; + glad_debug_vkCmdWriteTimestamp2 = glad_vkCmdWriteTimestamp2; + glad_debug_vkCmdWriteTimestamp2KHR = glad_vkCmdWriteTimestamp2KHR; + glad_debug_vkCopyImageToImage = glad_vkCopyImageToImage; + glad_debug_vkCopyImageToImageEXT = glad_vkCopyImageToImageEXT; + glad_debug_vkCopyImageToMemory = glad_vkCopyImageToMemory; + glad_debug_vkCopyImageToMemoryEXT = glad_vkCopyImageToMemoryEXT; + glad_debug_vkCopyMemoryToImage = glad_vkCopyMemoryToImage; + glad_debug_vkCopyMemoryToImageEXT = glad_vkCopyMemoryToImageEXT; + glad_debug_vkCreateBuffer = glad_vkCreateBuffer; + glad_debug_vkCreateBufferView = glad_vkCreateBufferView; + glad_debug_vkCreateCommandPool = glad_vkCreateCommandPool; + glad_debug_vkCreateComputePipelines = glad_vkCreateComputePipelines; + glad_debug_vkCreateDescriptorPool = glad_vkCreateDescriptorPool; + glad_debug_vkCreateDescriptorSetLayout = glad_vkCreateDescriptorSetLayout; + glad_debug_vkCreateDescriptorUpdateTemplate = glad_vkCreateDescriptorUpdateTemplate; + glad_debug_vkCreateDescriptorUpdateTemplateKHR = glad_vkCreateDescriptorUpdateTemplateKHR; + glad_debug_vkCreateDevice = glad_vkCreateDevice; + glad_debug_vkCreateEvent = glad_vkCreateEvent; + glad_debug_vkCreateFence = glad_vkCreateFence; + glad_debug_vkCreateFramebuffer = glad_vkCreateFramebuffer; + glad_debug_vkCreateGraphicsPipelines = glad_vkCreateGraphicsPipelines; + glad_debug_vkCreateImage = glad_vkCreateImage; + glad_debug_vkCreateImageView = glad_vkCreateImageView; + glad_debug_vkCreateInstance = glad_vkCreateInstance; + glad_debug_vkCreatePipelineCache = glad_vkCreatePipelineCache; + glad_debug_vkCreatePipelineLayout = glad_vkCreatePipelineLayout; + glad_debug_vkCreatePrivateDataSlot = glad_vkCreatePrivateDataSlot; + glad_debug_vkCreatePrivateDataSlotEXT = glad_vkCreatePrivateDataSlotEXT; + glad_debug_vkCreateQueryPool = glad_vkCreateQueryPool; + glad_debug_vkCreateRenderPass = glad_vkCreateRenderPass; + glad_debug_vkCreateRenderPass2 = glad_vkCreateRenderPass2; + glad_debug_vkCreateRenderPass2KHR = glad_vkCreateRenderPass2KHR; + glad_debug_vkCreateSampler = glad_vkCreateSampler; + glad_debug_vkCreateSamplerYcbcrConversion = glad_vkCreateSamplerYcbcrConversion; + glad_debug_vkCreateSamplerYcbcrConversionKHR = glad_vkCreateSamplerYcbcrConversionKHR; + glad_debug_vkCreateSemaphore = glad_vkCreateSemaphore; + glad_debug_vkCreateShaderModule = glad_vkCreateShaderModule; + glad_debug_vkCreateShadersEXT = glad_vkCreateShadersEXT; + glad_debug_vkDestroyBuffer = glad_vkDestroyBuffer; + glad_debug_vkDestroyBufferView = glad_vkDestroyBufferView; + glad_debug_vkDestroyCommandPool = glad_vkDestroyCommandPool; + glad_debug_vkDestroyDescriptorPool = glad_vkDestroyDescriptorPool; + glad_debug_vkDestroyDescriptorSetLayout = glad_vkDestroyDescriptorSetLayout; + glad_debug_vkDestroyDescriptorUpdateTemplate = glad_vkDestroyDescriptorUpdateTemplate; + glad_debug_vkDestroyDescriptorUpdateTemplateKHR = glad_vkDestroyDescriptorUpdateTemplateKHR; + glad_debug_vkDestroyDevice = glad_vkDestroyDevice; + glad_debug_vkDestroyEvent = glad_vkDestroyEvent; + glad_debug_vkDestroyFence = glad_vkDestroyFence; + glad_debug_vkDestroyFramebuffer = glad_vkDestroyFramebuffer; + glad_debug_vkDestroyImage = glad_vkDestroyImage; + glad_debug_vkDestroyImageView = glad_vkDestroyImageView; + glad_debug_vkDestroyInstance = glad_vkDestroyInstance; + glad_debug_vkDestroyPipeline = glad_vkDestroyPipeline; + glad_debug_vkDestroyPipelineCache = glad_vkDestroyPipelineCache; + glad_debug_vkDestroyPipelineLayout = glad_vkDestroyPipelineLayout; + glad_debug_vkDestroyPrivateDataSlot = glad_vkDestroyPrivateDataSlot; + glad_debug_vkDestroyPrivateDataSlotEXT = glad_vkDestroyPrivateDataSlotEXT; + glad_debug_vkDestroyQueryPool = glad_vkDestroyQueryPool; + glad_debug_vkDestroyRenderPass = glad_vkDestroyRenderPass; + glad_debug_vkDestroySampler = glad_vkDestroySampler; + glad_debug_vkDestroySamplerYcbcrConversion = glad_vkDestroySamplerYcbcrConversion; + glad_debug_vkDestroySamplerYcbcrConversionKHR = glad_vkDestroySamplerYcbcrConversionKHR; + glad_debug_vkDestroySemaphore = glad_vkDestroySemaphore; + glad_debug_vkDestroyShaderEXT = glad_vkDestroyShaderEXT; + glad_debug_vkDestroyShaderModule = glad_vkDestroyShaderModule; + glad_debug_vkDeviceWaitIdle = glad_vkDeviceWaitIdle; + glad_debug_vkEndCommandBuffer = glad_vkEndCommandBuffer; + glad_debug_vkEnumerateDeviceExtensionProperties = glad_vkEnumerateDeviceExtensionProperties; + glad_debug_vkEnumerateDeviceLayerProperties = glad_vkEnumerateDeviceLayerProperties; + glad_debug_vkEnumerateInstanceExtensionProperties = glad_vkEnumerateInstanceExtensionProperties; + glad_debug_vkEnumerateInstanceLayerProperties = glad_vkEnumerateInstanceLayerProperties; + glad_debug_vkEnumerateInstanceVersion = glad_vkEnumerateInstanceVersion; + glad_debug_vkEnumeratePhysicalDeviceGroups = glad_vkEnumeratePhysicalDeviceGroups; + glad_debug_vkEnumeratePhysicalDeviceGroupsKHR = glad_vkEnumeratePhysicalDeviceGroupsKHR; + glad_debug_vkEnumeratePhysicalDevices = glad_vkEnumeratePhysicalDevices; + glad_debug_vkFlushMappedMemoryRanges = glad_vkFlushMappedMemoryRanges; + glad_debug_vkFreeCommandBuffers = glad_vkFreeCommandBuffers; + glad_debug_vkFreeDescriptorSets = glad_vkFreeDescriptorSets; + glad_debug_vkFreeMemory = glad_vkFreeMemory; + glad_debug_vkGetBufferDeviceAddress = glad_vkGetBufferDeviceAddress; + glad_debug_vkGetBufferDeviceAddressEXT = glad_vkGetBufferDeviceAddressEXT; + glad_debug_vkGetBufferDeviceAddressKHR = glad_vkGetBufferDeviceAddressKHR; + glad_debug_vkGetBufferMemoryRequirements = glad_vkGetBufferMemoryRequirements; + glad_debug_vkGetBufferMemoryRequirements2 = glad_vkGetBufferMemoryRequirements2; + glad_debug_vkGetBufferMemoryRequirements2KHR = glad_vkGetBufferMemoryRequirements2KHR; + glad_debug_vkGetBufferOpaqueCaptureAddress = glad_vkGetBufferOpaqueCaptureAddress; + glad_debug_vkGetBufferOpaqueCaptureAddressKHR = glad_vkGetBufferOpaqueCaptureAddressKHR; + glad_debug_vkGetDescriptorSetLayoutSupport = glad_vkGetDescriptorSetLayoutSupport; + glad_debug_vkGetDescriptorSetLayoutSupportKHR = glad_vkGetDescriptorSetLayoutSupportKHR; + glad_debug_vkGetDeviceBufferMemoryRequirements = glad_vkGetDeviceBufferMemoryRequirements; + glad_debug_vkGetDeviceBufferMemoryRequirementsKHR = glad_vkGetDeviceBufferMemoryRequirementsKHR; + glad_debug_vkGetDeviceGroupPeerMemoryFeatures = glad_vkGetDeviceGroupPeerMemoryFeatures; + glad_debug_vkGetDeviceGroupPeerMemoryFeaturesKHR = glad_vkGetDeviceGroupPeerMemoryFeaturesKHR; + glad_debug_vkGetDeviceGroupPresentCapabilitiesKHR = glad_vkGetDeviceGroupPresentCapabilitiesKHR; + glad_debug_vkGetDeviceGroupSurfacePresentModesKHR = glad_vkGetDeviceGroupSurfacePresentModesKHR; + glad_debug_vkGetDeviceImageMemoryRequirements = glad_vkGetDeviceImageMemoryRequirements; + glad_debug_vkGetDeviceImageMemoryRequirementsKHR = glad_vkGetDeviceImageMemoryRequirementsKHR; + glad_debug_vkGetDeviceImageSparseMemoryRequirements = glad_vkGetDeviceImageSparseMemoryRequirements; + glad_debug_vkGetDeviceImageSparseMemoryRequirementsKHR = glad_vkGetDeviceImageSparseMemoryRequirementsKHR; + glad_debug_vkGetDeviceImageSubresourceLayout = glad_vkGetDeviceImageSubresourceLayout; + glad_debug_vkGetDeviceImageSubresourceLayoutKHR = glad_vkGetDeviceImageSubresourceLayoutKHR; + glad_debug_vkGetDeviceMemoryCommitment = glad_vkGetDeviceMemoryCommitment; + glad_debug_vkGetDeviceMemoryOpaqueCaptureAddress = glad_vkGetDeviceMemoryOpaqueCaptureAddress; + glad_debug_vkGetDeviceMemoryOpaqueCaptureAddressKHR = glad_vkGetDeviceMemoryOpaqueCaptureAddressKHR; + glad_debug_vkGetDeviceProcAddr = glad_vkGetDeviceProcAddr; + glad_debug_vkGetDeviceQueue = glad_vkGetDeviceQueue; + glad_debug_vkGetDeviceQueue2 = glad_vkGetDeviceQueue2; + glad_debug_vkGetEventStatus = glad_vkGetEventStatus; + glad_debug_vkGetFenceStatus = glad_vkGetFenceStatus; + glad_debug_vkGetImageMemoryRequirements = glad_vkGetImageMemoryRequirements; + glad_debug_vkGetImageMemoryRequirements2 = glad_vkGetImageMemoryRequirements2; + glad_debug_vkGetImageMemoryRequirements2KHR = glad_vkGetImageMemoryRequirements2KHR; + glad_debug_vkGetImageSparseMemoryRequirements = glad_vkGetImageSparseMemoryRequirements; + glad_debug_vkGetImageSparseMemoryRequirements2 = glad_vkGetImageSparseMemoryRequirements2; + glad_debug_vkGetImageSparseMemoryRequirements2KHR = glad_vkGetImageSparseMemoryRequirements2KHR; + glad_debug_vkGetImageSubresourceLayout = glad_vkGetImageSubresourceLayout; + glad_debug_vkGetImageSubresourceLayout2 = glad_vkGetImageSubresourceLayout2; + glad_debug_vkGetImageSubresourceLayout2EXT = glad_vkGetImageSubresourceLayout2EXT; + glad_debug_vkGetImageSubresourceLayout2KHR = glad_vkGetImageSubresourceLayout2KHR; + glad_debug_vkGetInstanceProcAddr = glad_vkGetInstanceProcAddr; + glad_debug_vkGetPhysicalDeviceExternalBufferProperties = glad_vkGetPhysicalDeviceExternalBufferProperties; + glad_debug_vkGetPhysicalDeviceExternalBufferPropertiesKHR = glad_vkGetPhysicalDeviceExternalBufferPropertiesKHR; + glad_debug_vkGetPhysicalDeviceExternalFenceProperties = glad_vkGetPhysicalDeviceExternalFenceProperties; + glad_debug_vkGetPhysicalDeviceExternalFencePropertiesKHR = glad_vkGetPhysicalDeviceExternalFencePropertiesKHR; + glad_debug_vkGetPhysicalDeviceExternalSemaphoreProperties = glad_vkGetPhysicalDeviceExternalSemaphoreProperties; + glad_debug_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = glad_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; + glad_debug_vkGetPhysicalDeviceFeatures = glad_vkGetPhysicalDeviceFeatures; + glad_debug_vkGetPhysicalDeviceFeatures2 = glad_vkGetPhysicalDeviceFeatures2; + glad_debug_vkGetPhysicalDeviceFeatures2KHR = glad_vkGetPhysicalDeviceFeatures2KHR; + glad_debug_vkGetPhysicalDeviceFormatProperties = glad_vkGetPhysicalDeviceFormatProperties; + glad_debug_vkGetPhysicalDeviceFormatProperties2 = glad_vkGetPhysicalDeviceFormatProperties2; + glad_debug_vkGetPhysicalDeviceFormatProperties2KHR = glad_vkGetPhysicalDeviceFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceImageFormatProperties = glad_vkGetPhysicalDeviceImageFormatProperties; + glad_debug_vkGetPhysicalDeviceImageFormatProperties2 = glad_vkGetPhysicalDeviceImageFormatProperties2; + glad_debug_vkGetPhysicalDeviceImageFormatProperties2KHR = glad_vkGetPhysicalDeviceImageFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceMemoryProperties = glad_vkGetPhysicalDeviceMemoryProperties; + glad_debug_vkGetPhysicalDeviceMemoryProperties2 = glad_vkGetPhysicalDeviceMemoryProperties2; + glad_debug_vkGetPhysicalDeviceMemoryProperties2KHR = glad_vkGetPhysicalDeviceMemoryProperties2KHR; + glad_debug_vkGetPhysicalDevicePresentRectanglesKHR = glad_vkGetPhysicalDevicePresentRectanglesKHR; + glad_debug_vkGetPhysicalDeviceProperties = glad_vkGetPhysicalDeviceProperties; + glad_debug_vkGetPhysicalDeviceProperties2 = glad_vkGetPhysicalDeviceProperties2; + glad_debug_vkGetPhysicalDeviceProperties2KHR = glad_vkGetPhysicalDeviceProperties2KHR; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties = glad_vkGetPhysicalDeviceQueueFamilyProperties; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2 = glad_vkGetPhysicalDeviceQueueFamilyProperties2; + glad_debug_vkGetPhysicalDeviceQueueFamilyProperties2KHR = glad_vkGetPhysicalDeviceQueueFamilyProperties2KHR; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties = glad_vkGetPhysicalDeviceSparseImageFormatProperties; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2 = glad_vkGetPhysicalDeviceSparseImageFormatProperties2; + glad_debug_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = glad_vkGetPhysicalDeviceSparseImageFormatProperties2KHR; + glad_debug_vkGetPhysicalDeviceToolProperties = glad_vkGetPhysicalDeviceToolProperties; + glad_debug_vkGetPhysicalDeviceToolPropertiesEXT = glad_vkGetPhysicalDeviceToolPropertiesEXT; + glad_debug_vkGetPipelineCacheData = glad_vkGetPipelineCacheData; + glad_debug_vkGetPrivateData = glad_vkGetPrivateData; + glad_debug_vkGetPrivateDataEXT = glad_vkGetPrivateDataEXT; + glad_debug_vkGetQueryPoolResults = glad_vkGetQueryPoolResults; + glad_debug_vkGetRenderAreaGranularity = glad_vkGetRenderAreaGranularity; + glad_debug_vkGetRenderingAreaGranularity = glad_vkGetRenderingAreaGranularity; + glad_debug_vkGetRenderingAreaGranularityKHR = glad_vkGetRenderingAreaGranularityKHR; + glad_debug_vkGetSemaphoreCounterValue = glad_vkGetSemaphoreCounterValue; + glad_debug_vkGetSemaphoreCounterValueKHR = glad_vkGetSemaphoreCounterValueKHR; + glad_debug_vkGetShaderBinaryDataEXT = glad_vkGetShaderBinaryDataEXT; + glad_debug_vkInvalidateMappedMemoryRanges = glad_vkInvalidateMappedMemoryRanges; + glad_debug_vkMapMemory = glad_vkMapMemory; + glad_debug_vkMapMemory2 = glad_vkMapMemory2; + glad_debug_vkMapMemory2KHR = glad_vkMapMemory2KHR; + glad_debug_vkMergePipelineCaches = glad_vkMergePipelineCaches; + glad_debug_vkQueueBindSparse = glad_vkQueueBindSparse; + glad_debug_vkQueueSubmit = glad_vkQueueSubmit; + glad_debug_vkQueueSubmit2 = glad_vkQueueSubmit2; + glad_debug_vkQueueSubmit2KHR = glad_vkQueueSubmit2KHR; + glad_debug_vkQueueWaitIdle = glad_vkQueueWaitIdle; + glad_debug_vkResetCommandBuffer = glad_vkResetCommandBuffer; + glad_debug_vkResetCommandPool = glad_vkResetCommandPool; + glad_debug_vkResetDescriptorPool = glad_vkResetDescriptorPool; + glad_debug_vkResetEvent = glad_vkResetEvent; + glad_debug_vkResetFences = glad_vkResetFences; + glad_debug_vkResetQueryPool = glad_vkResetQueryPool; + glad_debug_vkResetQueryPoolEXT = glad_vkResetQueryPoolEXT; + glad_debug_vkSetEvent = glad_vkSetEvent; + glad_debug_vkSetPrivateData = glad_vkSetPrivateData; + glad_debug_vkSetPrivateDataEXT = glad_vkSetPrivateDataEXT; + glad_debug_vkSignalSemaphore = glad_vkSignalSemaphore; + glad_debug_vkSignalSemaphoreKHR = glad_vkSignalSemaphoreKHR; + glad_debug_vkTransitionImageLayout = glad_vkTransitionImageLayout; + glad_debug_vkTransitionImageLayoutEXT = glad_vkTransitionImageLayoutEXT; + glad_debug_vkTrimCommandPool = glad_vkTrimCommandPool; + glad_debug_vkTrimCommandPoolKHR = glad_vkTrimCommandPoolKHR; + glad_debug_vkUnmapMemory = glad_vkUnmapMemory; + glad_debug_vkUnmapMemory2 = glad_vkUnmapMemory2; + glad_debug_vkUnmapMemory2KHR = glad_vkUnmapMemory2KHR; + glad_debug_vkUpdateDescriptorSetWithTemplate = glad_vkUpdateDescriptorSetWithTemplate; + glad_debug_vkUpdateDescriptorSetWithTemplateKHR = glad_vkUpdateDescriptorSetWithTemplateKHR; + glad_debug_vkUpdateDescriptorSets = glad_vkUpdateDescriptorSets; + glad_debug_vkWaitForFences = glad_vkWaitForFences; + glad_debug_vkWaitSemaphores = glad_vkWaitSemaphores; + glad_debug_vkWaitSemaphoresKHR = glad_vkWaitSemaphoresKHR; +} + +#ifdef GLAD_VULKAN + +#ifndef GLAD_LOADER_LIBRARY_C_ +#define GLAD_LOADER_LIBRARY_C_ + +#include +#include + +#if GLAD_PLATFORM_WIN32 +#include +#else +#include +#endif + + +static void* glad_get_dlopen_handle(const char *lib_names[], int length) { + void *handle = NULL; + int i; + + for (i = 0; i < length; ++i) { +#if GLAD_PLATFORM_WIN32 + #if GLAD_PLATFORM_UWP + size_t buffer_size = (strlen(lib_names[i]) + 1) * sizeof(WCHAR); + LPWSTR buffer = (LPWSTR) malloc(buffer_size); + if (buffer != NULL) { + int ret = MultiByteToWideChar(CP_ACP, 0, lib_names[i], -1, buffer, buffer_size); + if (ret != 0) { + handle = (void*) LoadPackagedLibrary(buffer, 0); + } + free((void*) buffer); + } + #else + handle = (void*) LoadLibraryA(lib_names[i]); + #endif +#else + handle = dlopen(lib_names[i], RTLD_LAZY | RTLD_LOCAL); +#endif + if (handle != NULL) { + return handle; + } + } + + return NULL; +} + +static void glad_close_dlopen_handle(void* handle) { + if (handle != NULL) { +#if GLAD_PLATFORM_WIN32 + FreeLibrary((HMODULE) handle); +#else + dlclose(handle); +#endif + } +} + +static GLADapiproc glad_dlsym_handle(void* handle, const char *name) { + if (handle == NULL) { + return NULL; + } + +#if GLAD_PLATFORM_WIN32 + return (GLADapiproc) GetProcAddress((HMODULE) handle, name); +#else + return GLAD_GNUC_EXTENSION (GLADapiproc) dlsym(handle, name); +#endif +} + +#endif /* GLAD_LOADER_LIBRARY_C_ */ + + +static const char* DEVICE_FUNCTIONS[] = { + "vkAcquireNextImage2KHR", + "vkAllocateCommandBuffers", + "vkAllocateDescriptorSets", + "vkAllocateMemory", + "vkBeginCommandBuffer", + "vkBindBufferMemory", + "vkBindBufferMemory2", + "vkBindBufferMemory2KHR", + "vkBindImageMemory", + "vkBindImageMemory2", + "vkBindImageMemory2KHR", + "vkCmdBeginQuery", + "vkCmdBeginRenderPass", + "vkCmdBeginRenderPass2", + "vkCmdBeginRenderPass2KHR", + "vkCmdBeginRendering", + "vkCmdBeginRenderingKHR", + "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT", + "vkCmdBindDescriptorSets", + "vkCmdBindDescriptorSets2", + "vkCmdBindDescriptorSets2KHR", + "vkCmdBindIndexBuffer", + "vkCmdBindIndexBuffer2", + "vkCmdBindIndexBuffer2KHR", + "vkCmdBindPipeline", + "vkCmdBindShadersEXT", + "vkCmdBindVertexBuffers", + "vkCmdBindVertexBuffers2", + "vkCmdBindVertexBuffers2EXT", + "vkCmdBlitImage", + "vkCmdBlitImage2", + "vkCmdBlitImage2KHR", + "vkCmdClearAttachments", + "vkCmdClearColorImage", + "vkCmdClearDepthStencilImage", + "vkCmdCopyBuffer", + "vkCmdCopyBuffer2", + "vkCmdCopyBuffer2KHR", + "vkCmdCopyBufferToImage", + "vkCmdCopyBufferToImage2", + "vkCmdCopyBufferToImage2KHR", + "vkCmdCopyImage", + "vkCmdCopyImage2", + "vkCmdCopyImage2KHR", + "vkCmdCopyImageToBuffer", + "vkCmdCopyImageToBuffer2", + "vkCmdCopyImageToBuffer2KHR", + "vkCmdCopyQueryPoolResults", + "vkCmdDispatch", + "vkCmdDispatchBase", + "vkCmdDispatchBaseKHR", + "vkCmdDispatchIndirect", + "vkCmdDraw", + "vkCmdDrawIndexed", + "vkCmdDrawIndexedIndirect", + "vkCmdDrawIndexedIndirectCount", + "vkCmdDrawIndexedIndirectCountAMD", + "vkCmdDrawIndexedIndirectCountKHR", + "vkCmdDrawIndirect", + "vkCmdDrawIndirectCount", + "vkCmdDrawIndirectCountAMD", + "vkCmdDrawIndirectCountKHR", + "vkCmdEndQuery", + "vkCmdEndRenderPass", + "vkCmdEndRenderPass2", + "vkCmdEndRenderPass2KHR", + "vkCmdEndRendering", + "vkCmdEndRenderingKHR", + "vkCmdExecuteCommands", + "vkCmdFillBuffer", + "vkCmdNextSubpass", + "vkCmdNextSubpass2", + "vkCmdNextSubpass2KHR", + "vkCmdPipelineBarrier", + "vkCmdPipelineBarrier2", + "vkCmdPipelineBarrier2KHR", + "vkCmdPushConstants", + "vkCmdPushConstants2", + "vkCmdPushConstants2KHR", + "vkCmdPushDescriptorSet", + "vkCmdPushDescriptorSet2", + "vkCmdPushDescriptorSet2KHR", + "vkCmdPushDescriptorSetKHR", + "vkCmdPushDescriptorSetWithTemplate", + "vkCmdPushDescriptorSetWithTemplate2", + "vkCmdPushDescriptorSetWithTemplate2KHR", + "vkCmdPushDescriptorSetWithTemplateKHR", + "vkCmdResetEvent", + "vkCmdResetEvent2", + "vkCmdResetEvent2KHR", + "vkCmdResetQueryPool", + "vkCmdResolveImage", + "vkCmdResolveImage2", + "vkCmdResolveImage2KHR", + "vkCmdSetAlphaToCoverageEnableEXT", + "vkCmdSetAlphaToOneEnableEXT", + "vkCmdSetBlendConstants", + "vkCmdSetColorBlendAdvancedEXT", + "vkCmdSetColorBlendEnableEXT", + "vkCmdSetColorBlendEquationEXT", + "vkCmdSetColorWriteMaskEXT", + "vkCmdSetConservativeRasterizationModeEXT", + "vkCmdSetCoverageModulationModeNV", + "vkCmdSetCoverageModulationTableEnableNV", + "vkCmdSetCoverageModulationTableNV", + "vkCmdSetCoverageReductionModeNV", + "vkCmdSetCoverageToColorEnableNV", + "vkCmdSetCoverageToColorLocationNV", + "vkCmdSetCullMode", + "vkCmdSetCullModeEXT", + "vkCmdSetDepthBias", + "vkCmdSetDepthBiasEnable", + "vkCmdSetDepthBiasEnableEXT", + "vkCmdSetDepthBounds", + "vkCmdSetDepthBoundsTestEnable", + "vkCmdSetDepthBoundsTestEnableEXT", + "vkCmdSetDepthClampEnableEXT", + "vkCmdSetDepthClampRangeEXT", + "vkCmdSetDepthClipEnableEXT", + "vkCmdSetDepthClipNegativeOneToOneEXT", + "vkCmdSetDepthCompareOp", + "vkCmdSetDepthCompareOpEXT", + "vkCmdSetDepthTestEnable", + "vkCmdSetDepthTestEnableEXT", + "vkCmdSetDepthWriteEnable", + "vkCmdSetDepthWriteEnableEXT", + "vkCmdSetDescriptorBufferOffsets2EXT", + "vkCmdSetDeviceMask", + "vkCmdSetDeviceMaskKHR", + "vkCmdSetEvent", + "vkCmdSetEvent2", + "vkCmdSetEvent2KHR", + "vkCmdSetExtraPrimitiveOverestimationSizeEXT", + "vkCmdSetFrontFace", + "vkCmdSetFrontFaceEXT", + "vkCmdSetLineRasterizationModeEXT", + "vkCmdSetLineStipple", + "vkCmdSetLineStippleEXT", + "vkCmdSetLineStippleEnableEXT", + "vkCmdSetLineStippleKHR", + "vkCmdSetLineWidth", + "vkCmdSetLogicOpEXT", + "vkCmdSetLogicOpEnableEXT", + "vkCmdSetPatchControlPointsEXT", + "vkCmdSetPolygonModeEXT", + "vkCmdSetPrimitiveRestartEnable", + "vkCmdSetPrimitiveRestartEnableEXT", + "vkCmdSetPrimitiveTopology", + "vkCmdSetPrimitiveTopologyEXT", + "vkCmdSetProvokingVertexModeEXT", + "vkCmdSetRasterizationSamplesEXT", + "vkCmdSetRasterizationStreamEXT", + "vkCmdSetRasterizerDiscardEnable", + "vkCmdSetRasterizerDiscardEnableEXT", + "vkCmdSetRenderingAttachmentLocations", + "vkCmdSetRenderingAttachmentLocationsKHR", + "vkCmdSetRenderingInputAttachmentIndices", + "vkCmdSetRenderingInputAttachmentIndicesKHR", + "vkCmdSetRepresentativeFragmentTestEnableNV", + "vkCmdSetSampleLocationsEnableEXT", + "vkCmdSetSampleMaskEXT", + "vkCmdSetScissor", + "vkCmdSetScissorWithCount", + "vkCmdSetScissorWithCountEXT", + "vkCmdSetShadingRateImageEnableNV", + "vkCmdSetStencilCompareMask", + "vkCmdSetStencilOp", + "vkCmdSetStencilOpEXT", + "vkCmdSetStencilReference", + "vkCmdSetStencilTestEnable", + "vkCmdSetStencilTestEnableEXT", + "vkCmdSetStencilWriteMask", + "vkCmdSetTessellationDomainOriginEXT", + "vkCmdSetVertexInputEXT", + "vkCmdSetViewport", + "vkCmdSetViewportSwizzleNV", + "vkCmdSetViewportWScalingEnableNV", + "vkCmdSetViewportWithCount", + "vkCmdSetViewportWithCountEXT", + "vkCmdUpdateBuffer", + "vkCmdWaitEvents", + "vkCmdWaitEvents2", + "vkCmdWaitEvents2KHR", + "vkCmdWriteTimestamp", + "vkCmdWriteTimestamp2", + "vkCmdWriteTimestamp2KHR", + "vkCopyImageToImage", + "vkCopyImageToImageEXT", + "vkCopyImageToMemory", + "vkCopyImageToMemoryEXT", + "vkCopyMemoryToImage", + "vkCopyMemoryToImageEXT", + "vkCreateBuffer", + "vkCreateBufferView", + "vkCreateCommandPool", + "vkCreateComputePipelines", + "vkCreateDescriptorPool", + "vkCreateDescriptorSetLayout", + "vkCreateDescriptorUpdateTemplate", + "vkCreateDescriptorUpdateTemplateKHR", + "vkCreateEvent", + "vkCreateFence", + "vkCreateFramebuffer", + "vkCreateGraphicsPipelines", + "vkCreateImage", + "vkCreateImageView", + "vkCreatePipelineCache", + "vkCreatePipelineLayout", + "vkCreatePrivateDataSlot", + "vkCreatePrivateDataSlotEXT", + "vkCreateQueryPool", + "vkCreateRenderPass", + "vkCreateRenderPass2", + "vkCreateRenderPass2KHR", + "vkCreateSampler", + "vkCreateSamplerYcbcrConversion", + "vkCreateSamplerYcbcrConversionKHR", + "vkCreateSemaphore", + "vkCreateShaderModule", + "vkCreateShadersEXT", + "vkDestroyBuffer", + "vkDestroyBufferView", + "vkDestroyCommandPool", + "vkDestroyDescriptorPool", + "vkDestroyDescriptorSetLayout", + "vkDestroyDescriptorUpdateTemplate", + "vkDestroyDescriptorUpdateTemplateKHR", + "vkDestroyDevice", + "vkDestroyEvent", + "vkDestroyFence", + "vkDestroyFramebuffer", + "vkDestroyImage", + "vkDestroyImageView", + "vkDestroyPipeline", + "vkDestroyPipelineCache", + "vkDestroyPipelineLayout", + "vkDestroyPrivateDataSlot", + "vkDestroyPrivateDataSlotEXT", + "vkDestroyQueryPool", + "vkDestroyRenderPass", + "vkDestroySampler", + "vkDestroySamplerYcbcrConversion", + "vkDestroySamplerYcbcrConversionKHR", + "vkDestroySemaphore", + "vkDestroyShaderEXT", + "vkDestroyShaderModule", + "vkDeviceWaitIdle", + "vkEndCommandBuffer", + "vkFlushMappedMemoryRanges", + "vkFreeCommandBuffers", + "vkFreeDescriptorSets", + "vkFreeMemory", + "vkGetBufferDeviceAddress", + "vkGetBufferDeviceAddressEXT", + "vkGetBufferDeviceAddressKHR", + "vkGetBufferMemoryRequirements", + "vkGetBufferMemoryRequirements2", + "vkGetBufferMemoryRequirements2KHR", + "vkGetBufferOpaqueCaptureAddress", + "vkGetBufferOpaqueCaptureAddressKHR", + "vkGetDescriptorSetLayoutSupport", + "vkGetDescriptorSetLayoutSupportKHR", + "vkGetDeviceBufferMemoryRequirements", + "vkGetDeviceBufferMemoryRequirementsKHR", + "vkGetDeviceGroupPeerMemoryFeatures", + "vkGetDeviceGroupPeerMemoryFeaturesKHR", + "vkGetDeviceGroupPresentCapabilitiesKHR", + "vkGetDeviceGroupSurfacePresentModesKHR", + "vkGetDeviceImageMemoryRequirements", + "vkGetDeviceImageMemoryRequirementsKHR", + "vkGetDeviceImageSparseMemoryRequirements", + "vkGetDeviceImageSparseMemoryRequirementsKHR", + "vkGetDeviceImageSubresourceLayout", + "vkGetDeviceImageSubresourceLayoutKHR", + "vkGetDeviceMemoryCommitment", + "vkGetDeviceMemoryOpaqueCaptureAddress", + "vkGetDeviceMemoryOpaqueCaptureAddressKHR", + "vkGetDeviceProcAddr", + "vkGetDeviceQueue", + "vkGetDeviceQueue2", + "vkGetEventStatus", + "vkGetFenceStatus", + "vkGetImageMemoryRequirements", + "vkGetImageMemoryRequirements2", + "vkGetImageMemoryRequirements2KHR", + "vkGetImageSparseMemoryRequirements", + "vkGetImageSparseMemoryRequirements2", + "vkGetImageSparseMemoryRequirements2KHR", + "vkGetImageSubresourceLayout", + "vkGetImageSubresourceLayout2", + "vkGetImageSubresourceLayout2EXT", + "vkGetImageSubresourceLayout2KHR", + "vkGetPipelineCacheData", + "vkGetPrivateData", + "vkGetPrivateDataEXT", + "vkGetQueryPoolResults", + "vkGetRenderAreaGranularity", + "vkGetRenderingAreaGranularity", + "vkGetRenderingAreaGranularityKHR", + "vkGetSemaphoreCounterValue", + "vkGetSemaphoreCounterValueKHR", + "vkGetShaderBinaryDataEXT", + "vkInvalidateMappedMemoryRanges", + "vkMapMemory", + "vkMapMemory2", + "vkMapMemory2KHR", + "vkMergePipelineCaches", + "vkQueueBindSparse", + "vkQueueSubmit", + "vkQueueSubmit2", + "vkQueueSubmit2KHR", + "vkQueueWaitIdle", + "vkResetCommandBuffer", + "vkResetCommandPool", + "vkResetDescriptorPool", + "vkResetEvent", + "vkResetFences", + "vkResetQueryPool", + "vkResetQueryPoolEXT", + "vkSetEvent", + "vkSetPrivateData", + "vkSetPrivateDataEXT", + "vkSignalSemaphore", + "vkSignalSemaphoreKHR", + "vkTransitionImageLayout", + "vkTransitionImageLayoutEXT", + "vkTrimCommandPool", + "vkTrimCommandPoolKHR", + "vkUnmapMemory", + "vkUnmapMemory2", + "vkUnmapMemory2KHR", + "vkUpdateDescriptorSetWithTemplate", + "vkUpdateDescriptorSetWithTemplateKHR", + "vkUpdateDescriptorSets", + "vkWaitForFences", + "vkWaitSemaphores", + "vkWaitSemaphoresKHR", +}; + +static int glad_vulkan_is_device_function(const char *name) { + /* Exists as a workaround for: + * https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/2323 + * + * `vkGetDeviceProcAddr` does not return NULL for non-device functions. + */ + int i; + int length = sizeof(DEVICE_FUNCTIONS) / sizeof(DEVICE_FUNCTIONS[0]); + + for (i=0; i < length; ++i) { + if (strcmp(DEVICE_FUNCTIONS[i], name) == 0) { + return 1; + } + } + + return 0; +} + +struct _glad_vulkan_userptr { + void *vk_handle; + VkInstance vk_instance; + VkDevice vk_device; + PFN_vkGetInstanceProcAddr get_instance_proc_addr; + PFN_vkGetDeviceProcAddr get_device_proc_addr; +}; + +static GLADapiproc glad_vulkan_get_proc(void *vuserptr, const char *name) { + struct _glad_vulkan_userptr userptr = *(struct _glad_vulkan_userptr*) vuserptr; + PFN_vkVoidFunction result = NULL; + + if (userptr.vk_device != NULL && glad_vulkan_is_device_function(name)) { + result = userptr.get_device_proc_addr(userptr.vk_device, name); + } + + if (result == NULL && userptr.vk_instance != NULL) { + result = userptr.get_instance_proc_addr(userptr.vk_instance, name); + } + + if(result == NULL) { + result = (PFN_vkVoidFunction) glad_dlsym_handle(userptr.vk_handle, name); + } + + return (GLADapiproc) result; +} + + +static void* _glad_Vulkan_loader_handle = NULL; + +static void* glad_vulkan_dlopen_handle(void) { + static const char *NAMES[] = { +#if GLAD_PLATFORM_APPLE + "libvulkan.1.dylib", +#elif GLAD_PLATFORM_WIN32 + "vulkan-1.dll", + "vulkan.dll", +#else + "libvulkan.so.1", + "libvulkan.so", +#endif + }; + + if (_glad_Vulkan_loader_handle == NULL) { + _glad_Vulkan_loader_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + } + + return _glad_Vulkan_loader_handle; +} + +static struct _glad_vulkan_userptr glad_vulkan_build_userptr(void *handle, VkInstance instance, VkDevice device) { + struct _glad_vulkan_userptr userptr; + userptr.vk_handle = handle; + userptr.vk_instance = instance; + userptr.vk_device = device; + userptr.get_instance_proc_addr = (PFN_vkGetInstanceProcAddr) glad_dlsym_handle(handle, "vkGetInstanceProcAddr"); + userptr.get_device_proc_addr = (PFN_vkGetDeviceProcAddr) glad_dlsym_handle(handle, "vkGetDeviceProcAddr"); + return userptr; +} + +int gladLoaderLoadVulkan( VkInstance instance, VkPhysicalDevice physical_device, VkDevice device) { + int version = 0; + void *handle = NULL; + int did_load = 0; + struct _glad_vulkan_userptr userptr; + + did_load = _glad_Vulkan_loader_handle == NULL; + handle = glad_vulkan_dlopen_handle(); + if (handle != NULL) { + userptr = glad_vulkan_build_userptr(handle, instance, device); + + if (userptr.get_instance_proc_addr != NULL && userptr.get_device_proc_addr != NULL) { + version = gladLoadVulkanUserPtr( physical_device, glad_vulkan_get_proc, &userptr); + } + + if (!version && did_load) { + gladLoaderUnloadVulkan(); + } + } + + return version; +} + + + +void gladLoaderUnloadVulkan(void) { + if (_glad_Vulkan_loader_handle != NULL) { + glad_close_dlopen_handle(_glad_Vulkan_loader_handle); + _glad_Vulkan_loader_handle = NULL; + } +} + +#endif /* GLAD_VULKAN */ + +#ifdef __cplusplus +} +#endif diff --git a/tools/conan_recipes/shaderc/.gitignore b/tools/conan_recipes/shaderc/.gitignore deleted file mode 100644 index 95464d3..0000000 --- a/tools/conan_recipes/shaderc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build/ -src/ diff --git a/tools/conan_recipes/shaderc/conanfile.py b/tools/conan_recipes/shaderc/conanfile.py deleted file mode 100644 index f02fb70..0000000 --- a/tools/conan_recipes/shaderc/conanfile.py +++ /dev/null @@ -1,119 +0,0 @@ -import os - -from conan import ConanFile -from conan.tools.build import check_min_cppstd, stdcpp_library -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime -from conan.tools.apple import fix_apple_shared_install_name - -required_conan_version = ">=2.10.0" - - -class ShadercConan(ConanFile): - name = "shaderc" - version = "2025.3" - description = "A collection of tools, libraries and tests for shader compilation." - license = "Apache-2.0" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/google/shaderc" - topics = ("glsl", "hlsl", "msl", "spirv", "spir-v", "glslc") - - package_type = "library" - settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - } - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - - def layout(self): - cmake_layout(self, src_folder="src") - - def requirements(self): - self.requires("glslang/1.4.313.0") - self.requires("spirv-tools/1.4.313.0") - self.requires("spirv-headers/1.4.313.0") - - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) - - def build_requirements(self): - self.tool_requires("cmake/[>=3.17.2 <4]") - - def source(self): - get(self, "https://github.com/google/shaderc/archive/refs/tags/v2025.3.tar.gz", strip_root=True) - os.system("./utils/git-sync-deps") - - - def generate(self): - venv = VirtualBuildEnv(self) - venv.generate() - - tc = CMakeToolchain(self) - tc.cache_variables["SHADERC_SKIP_INSTALL"] = False - tc.cache_variables["SHADERC_SKIP_EXAMPLES"] = True - tc.cache_variables["SHADERC_SKIP_TESTS"] = True - tc.cache_variables["ENABLE_CODE_COVERAGE"] = False - tc.cache_variables["SHADERC_ENABLE_WERROR_COMPILE"] = False - if is_msvc(self): - tc.cache_variables["SHADERC_ENABLE_SHARED_CRT"] = not is_msvc_static_runtime(self) - tc.generate() - - self.dependencies["glslang"].cpp_info.components["glslang-core"].includedirs.append( - os.path.join(self.dependencies["glslang"].package_folder, "include", "glslang") - ) - - deps = CMakeDeps(self) - deps.set_property("glslang::glslang-core", "cmake_target_name", "glslang") - deps.set_property("glslang::osdependent", "cmake_target_name", "OSDependent") - deps.set_property("glslang::spirv", "cmake_target_name", "SPIRV") - deps.generate() - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - cmake = CMake(self) - cmake.install() - fix_apple_shared_install_name(self) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - - def package_info(self): - if self.options.shared: - self.cpp_info.set_property("pkg_config_name", "shaderc") - self.cpp_info.libs = ["shaderc_shared"] - self.cpp_info.defines.append("SHADERC_SHAREDLIB") - else: - self.cpp_info.set_property("pkg_config_name", "shaderc_static") - self.cpp_info.libs = ["shaderc", "shaderc_util"] - if stdcpp_library(self): - self.cpp_info.system_libs.append(stdcpp_library(self)) - - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("pthread") - - self.cpp_info.requires = [ - "glslang::glslang-core", - "glslang::osdependent", - "glslang::spirv", - "spirv-tools::spirv-tools-core", - "spirv-tools::spirv-tools-opt", - "spirv-headers::spirv-headers" - ] - - # TODO: to remove in conan v2 - bin_path = os.path.join(self.package_folder, "bin") - self.env_info.PATH.append(bin_path)