ARB_compute_shader; ARB_program_interface_query; ARB_shader_storage_buffer_object;

This commit is contained in:
bjorn 2018-08-02 15:34:58 -07:00
parent 1946f860f8
commit 085ee71d86
2 changed files with 598 additions and 433 deletions

View File

@ -1,12 +1,15 @@
/* /*
OpenGL, OpenGL ES loader generated by glad 0.1.25 on Sat Jul 21 14:28:38 2018. OpenGL, OpenGL ES loader generated by glad 0.1.26 on Fri Aug 3 00:32:58 2018.
Language/Generator: C/C++ Language/Generator: C/C++
Specification: gl Specification: gl
APIs: gl=3.3, gles2=3.0 APIs: gl=3.3, gles2=3.0
Profile: core Profile: core
Extensions: Extensions:
GL_ARB_compute_shader,
GL_ARB_program_interface_query,
GL_ARB_shader_storage_buffer_object,
GL_ARB_texture_storage, GL_ARB_texture_storage,
GL_ARB_viewport_array, GL_ARB_viewport_array,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_s3tc,
@ -19,9 +22,9 @@
Omit khrplatform: True Omit khrplatform: True
Commandline: Commandline:
--profile="core" --api="gl=3.3,gles2=3.0" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB,GL_NV_stereo_view_rendering,GL_NV_viewport_array2" --profile="core" --api="gl=3.3,gles2=3.0" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_ARB_compute_shader,GL_ARB_program_interface_query,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB,GL_NV_stereo_view_rendering,GL_NV_viewport_array2"
Online: Online:
http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&api=gles2%3D3.0&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB&extensions=GL_NV_stereo_view_rendering&extensions=GL_NV_viewport_array2 http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&api=gles2%3D3.0&extensions=GL_ARB_compute_shader&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB&extensions=GL_NV_stereo_view_rendering&extensions=GL_NV_viewport_array2
*/ */
#include <stdio.h> #include <stdio.h>
@ -29,7 +32,7 @@
#include <string.h> #include <string.h>
#include "glad.h" #include "glad.h"
struct gladGLversionStruct GLVersion; struct gladGLversionStruct GLVersion = { 0, 0 };
#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
#define _GLAD_IS_SOME_NEW_VERSION 1 #define _GLAD_IS_SOME_NEW_VERSION 1
@ -128,431 +131,443 @@ static int has_ext(const char *ext) {
return 0; return 0;
} }
int GLAD_GL_VERSION_1_0; int GLAD_GL_VERSION_1_0 = 0;
int GLAD_GL_VERSION_1_1; int GLAD_GL_VERSION_1_1 = 0;
int GLAD_GL_VERSION_1_2; int GLAD_GL_VERSION_1_2 = 0;
int GLAD_GL_VERSION_1_3; int GLAD_GL_VERSION_1_3 = 0;
int GLAD_GL_VERSION_1_4; int GLAD_GL_VERSION_1_4 = 0;
int GLAD_GL_VERSION_1_5; int GLAD_GL_VERSION_1_5 = 0;
int GLAD_GL_VERSION_2_0; int GLAD_GL_VERSION_2_0 = 0;
int GLAD_GL_VERSION_2_1; int GLAD_GL_VERSION_2_1 = 0;
int GLAD_GL_VERSION_3_0; int GLAD_GL_VERSION_3_0 = 0;
int GLAD_GL_VERSION_3_1; int GLAD_GL_VERSION_3_1 = 0;
int GLAD_GL_VERSION_3_2; int GLAD_GL_VERSION_3_2 = 0;
int GLAD_GL_VERSION_3_3; int GLAD_GL_VERSION_3_3 = 0;
int GLAD_GL_ES_VERSION_2_0; int GLAD_GL_ES_VERSION_2_0 = 0;
int GLAD_GL_ES_VERSION_3_0; int GLAD_GL_ES_VERSION_3_0 = 0;
PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL;
PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL;
PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL;
PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL;
PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL;
PFNGLBINDSAMPLERPROC glad_glBindSampler; PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL;
PFNGLLINEWIDTHPROC glad_glLineWidth; PFNGLLINEWIDTHPROC glad_glLineWidth = NULL;
PFNGLCOLORP3UIVPROC glad_glColorP3uiv; PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL;
PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL;
PFNGLCOMPILESHADERPROC glad_glCompileShader; PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL;
PFNGLDEPTHRANGEFPROC glad_glDepthRangef; PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL;
PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL;
PFNGLVERTEXP4UIPROC glad_glVertexP4ui; PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL;
PFNGLENABLEIPROC glad_glEnablei; PFNGLENABLEIPROC glad_glEnablei = NULL;
PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL;
PFNGLCREATESHADERPROC glad_glCreateShader; PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
PFNGLISBUFFERPROC glad_glIsBuffer; PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL;
PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL;
PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL;
PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL;
PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
PFNGLHINTPROC glad_glHint; PFNGLHINTPROC glad_glHint = NULL;
PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL;
PFNGLSAMPLEMASKIPROC glad_glSampleMaski; PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL;
PFNGLVERTEXP2UIPROC glad_glVertexP2ui; PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL;
PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL;
PFNGLPOINTSIZEPROC glad_glPointSize; PFNGLPOINTSIZEPROC glad_glPointSize = NULL;
PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL;
PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL;
PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
PFNGLWAITSYNCPROC glad_glWaitSync; PFNGLWAITSYNCPROC glad_glWaitSync = NULL;
PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL;
PFNGLUNIFORM3IPROC glad_glUniform3i; PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL;
PFNGLUNIFORM3FPROC glad_glUniform3f; PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL;
PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL;
PFNGLCOLORMASKIPROC glad_glColorMaski; PFNGLCOLORMASKIPROC glad_glColorMaski = NULL;
PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL;
PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL;
PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback; PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL;
PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL;
PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL;
PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL;
PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D; PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL;
PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL;
PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL;
PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback; PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL;
PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL;
PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
PFNGLDRAWARRAYSPROC glad_glDrawArrays; PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
PFNGLUNIFORM1UIPROC glad_glUniform1ui; PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL;
PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL;
PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL;
PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL;
PFNGLCLEARPROC glad_glClear; PFNGLCLEARPROC glad_glClear = NULL;
PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri; PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL;
PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL;
PFNGLISENABLEDPROC glad_glIsEnabled; PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
PFNGLSTENCILOPPROC glad_glStencilOp; PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL;
PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL;
PFNGLTEXIMAGE1DPROC glad_glTexImage1D; PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL;
PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
PFNGLGETTEXIMAGEPROC glad_glGetTexImage; PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL;
PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL;
PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL;
PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL;
PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
PFNGLGETQUERYIVPROC glad_glGetQueryiv; PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL;
PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL;
PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL;
PFNGLISSHADERPROC glad_glIsShader; PFNGLISSHADERPROC glad_glIsShader = NULL;
PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL;
PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL;
PFNGLENABLEPROC glad_glEnable; PFNGLENABLEPROC glad_glEnable = NULL;
PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL;
PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL;
PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL;
PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL;
PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL;
PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL;
PFNGLDRAWBUFFERPROC glad_glDrawBuffer; PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL;
PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL;
PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL;
PFNGLFLUSHPROC glad_glFlush; PFNGLFLUSHPROC glad_glFlush = NULL;
PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
PFNGLFENCESYNCPROC glad_glFenceSync; PFNGLFENCESYNCPROC glad_glFenceSync = NULL;
PFNGLCOLORP3UIPROC glad_glColorP3ui; PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL;
PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL;
PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL;
PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL;
PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL;
PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
PFNGLGENSAMPLERSPROC glad_glGenSamplers; PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL;
PFNGLCLAMPCOLORPROC glad_glClampColor; PFNGLCLAMPCOLORPROC glad_glClampColor = NULL;
PFNGLUNIFORM4IVPROC glad_glUniform4iv; PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
PFNGLCLEARSTENCILPROC glad_glClearStencil; PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL;
PFNGLGENTEXTURESPROC glad_glGenTextures; PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL;
PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL;
PFNGLISSYNCPROC glad_glIsSync; PFNGLISSYNCPROC glad_glIsSync = NULL;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL;
PFNGLUNIFORM2IPROC glad_glUniform2i; PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
PFNGLUNIFORM2FPROC glad_glUniform2f; PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL;
PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL;
PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D; PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL;
PFNGLGENQUERIESPROC glad_glGenQueries; PFNGLGENQUERIESPROC glad_glGenQueries = NULL;
PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL;
PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL;
PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL;
PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL;
PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL;
PFNGLISENABLEDIPROC glad_glIsEnabledi; PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL;
PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL;
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL;
PFNGLUNIFORM2IVPROC glad_glUniform2iv; PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL;
PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL;
PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL;
PFNGLGETSHADERIVPROC glad_glGetShaderiv; PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer; PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL;
PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL;
PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL;
PFNGLGETDOUBLEVPROC glad_glGetDoublev; PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL;
PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL;
PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL;
PFNGLUNIFORM3FVPROC glad_glUniform3fv; PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
PFNGLDEPTHRANGEPROC glad_glDepthRange; PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer; PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL;
PFNGLMAPBUFFERPROC glad_glMapBuffer; PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL;
PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL;
PFNGLDELETESYNCPROC glad_glDeleteSync; PFNGLDELETESYNCPROC glad_glDeleteSync = NULL;
PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL;
PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL;
PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL;
PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL;
PFNGLUNIFORM3IVPROC glad_glUniform3iv; PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
PFNGLPOLYGONMODEPROC glad_glPolygonMode; PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL;
PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL;
PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary; PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL;
PFNGLUSEPROGRAMPROC glad_glUseProgram; PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL;
PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback; PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL;
PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL;
PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL;
PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL;
PFNGLFINISHPROC glad_glFinish; PFNGLFINISHPROC glad_glFinish = NULL;
PFNGLDELETESHADERPROC glad_glDeleteShader; PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL;
PFNGLVIEWPORTPROC glad_glViewport; PFNGLVIEWPORTPROC glad_glViewport = NULL;
PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL;
PFNGLUNIFORM2UIPROC glad_glUniform2ui; PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL;
PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL;
PFNGLCLEARDEPTHPROC glad_glClearDepth; PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL;
PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL;
PFNGLTEXPARAMETERFPROC glad_glTexParameterf; PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
PFNGLTEXPARAMETERIPROC glad_glTexParameteri; PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
PFNGLTEXBUFFERPROC glad_glTexBuffer; PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL;
PFNGLPIXELSTOREIPROC glad_glPixelStorei; PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL;
PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL;
PFNGLPIXELSTOREFPROC glad_glPixelStoref; PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL;
PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL;
PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL;
PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL;
PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL;
PFNGLLINKPROGRAMPROC glad_glLinkProgram; PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL;
PFNGLBINDTEXTUREPROC glad_glBindTexture; PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
PFNGLGETSTRINGPROC glad_glGetString; PFNGLGETSTRINGPROC glad_glGetString = NULL;
PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL;
PFNGLDETACHSHADERPROC glad_glDetachShader; PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
PFNGLENDQUERYPROC glad_glEndQuery; PFNGLENDQUERYPROC glad_glEndQuery = NULL;
PFNGLNORMALP3UIPROC glad_glNormalP3ui; PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL;
PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL;
PFNGLDELETETEXTURESPROC glad_glDeleteTextures; PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
PFNGLDELETEQUERIESPROC glad_glDeleteQueries; PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL;
PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL;
PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL;
PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL;
PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL;
PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL;
PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL;
PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL;
PFNGLUNIFORM1FPROC glad_glUniform1f; PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL;
PFNGLUNIFORM1IPROC glad_glUniform1i; PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
PFNGLDISABLEPROC glad_glDisable; PFNGLDISABLEPROC glad_glDisable = NULL;
PFNGLLOGICOPPROC glad_glLogicOp; PFNGLLOGICOPPROC glad_glLogicOp = NULL;
PFNGLUNIFORM4UIPROC glad_glUniform4ui; PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL;
PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
PFNGLCULLFACEPROC glad_glCullFace; PFNGLCULLFACEPROC glad_glCullFace = NULL;
PFNGLGETSTRINGIPROC glad_glGetStringi; PFNGLGETSTRINGIPROC glad_glGetStringi = NULL;
PFNGLATTACHSHADERPROC glad_glAttachShader; PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
PFNGLQUERYCOUNTERPROC glad_glQueryCounter; PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL;
PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL;
PFNGLSHADERBINARYPROC glad_glShaderBinary; PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL;
PFNGLDRAWELEMENTSPROC glad_glDrawElements; PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL;
PFNGLUNIFORM1IVPROC glad_glUniform1iv; PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL;
PFNGLREADBUFFERPROC glad_glReadBuffer; PFNGLREADBUFFERPROC glad_glReadBuffer = NULL;
PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL;
PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL;
PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL;
PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL;
PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL;
PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL;
PFNGLBLENDCOLORPROC glad_glBlendColor; PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL;
PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL;
PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL;
PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL;
PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL;
PFNGLISPROGRAMPROC glad_glIsProgram; PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL;
PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL;
PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL;
PFNGLUNIFORM4IPROC glad_glUniform4i; PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
PFNGLACTIVETEXTUREPROC glad_glActiveTexture; PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
PFNGLREADPIXELSPROC glad_glReadPixels; PFNGLREADPIXELSPROC glad_glReadPixels = NULL;
PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL;
PFNGLUNIFORM4FPROC glad_glUniform4f; PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL;
PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL;
PFNGLSTENCILFUNCPROC glad_glStencilFunc; PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL;
PFNGLCOLORP4UIPROC glad_glColorP4ui; PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL;
PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL;
PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL;
PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL;
PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL;
PFNGLGENBUFFERSPROC glad_glGenBuffers; PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL;
PFNGLBLENDFUNCPROC glad_glBlendFunc; PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
PFNGLCREATEPROGRAMPROC glad_glCreateProgram; PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
PFNGLTEXIMAGE3DPROC glad_glTexImage3D; PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL;
PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL;
PFNGLGETINTEGER64VPROC glad_glGetInteger64v; PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL;
PFNGLSCISSORPROC glad_glScissor; PFNGLSCISSORPROC glad_glScissor = NULL;
PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL;
PFNGLGETBOOLEANVPROC glad_glGetBooleanv; PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL;
PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL;
PFNGLCLEARCOLORPROC glad_glClearColor; PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL;
PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL;
PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL;
PFNGLCOLORP4UIVPROC glad_glColorP4uiv; PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL;
PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL;
PFNGLUNIFORM3UIPROC glad_glUniform3ui; PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL;
PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL;
PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL;
PFNGLUNIFORM2FVPROC glad_glUniform2fv; PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL;
PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL;
PFNGLCLEARDEPTHFPROC glad_glClearDepthf; PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL;
PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL;
PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks; PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL;
PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL;
PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL;
PFNGLDEPTHFUNCPROC glad_glDepthFunc; PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
PFNGLPROGRAMBINARYPROC glad_glProgramBinary; PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL;
PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL;
PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL;
PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL;
PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL;
PFNGLCOLORMASKPROC glad_glColorMask; PFNGLCOLORMASKPROC glad_glColorMask = NULL;
PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL;
PFNGLBLENDEQUATIONPROC glad_glBlendEquation; PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL;
PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL;
PFNGLUNIFORM4FVPROC glad_glUniform4fv; PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL;
PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL;
PFNGLISSAMPLERPROC glad_glIsSampler; PFNGLISSAMPLERPROC glad_glIsSampler = NULL;
PFNGLVERTEXP3UIPROC glad_glVertexP3ui; PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL;
PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL;
PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL;
PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks; PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL;
PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL;
PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL;
PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL;
PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL;
PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL;
PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL;
PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL;
PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL;
PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL;
PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL;
PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL;
PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL;
PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL;
PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL;
PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL;
PFNGLDISABLEIPROC glad_glDisablei; PFNGLDISABLEIPROC glad_glDisablei = NULL;
PFNGLSHADERSOURCEPROC glad_glShaderSource; PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL;
PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback; PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL;
PFNGLGETSYNCIVPROC glad_glGetSynciv; PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL;
PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL;
PFNGLBEGINQUERYPROC glad_glBeginQuery; PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL;
PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL;
PFNGLBINDBUFFERPROC glad_glBindBuffer; PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL;
PFNGLBUFFERDATAPROC glad_glBufferData; PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL;
PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL;
PFNGLGETERRORPROC glad_glGetError; PFNGLGETERRORPROC glad_glGetError = NULL;
PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL;
PFNGLGETFLOATVPROC glad_glGetFloatv; PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL;
PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL;
PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL;
PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL;
PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL;
PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL;
PFNGLGETINTEGERVPROC glad_glGetIntegerv; PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL;
PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL;
PFNGLISQUERYPROC glad_glIsQuery; PFNGLISQUERYPROC glad_glIsQuery = NULL;
PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL;
PFNGLTEXIMAGE2DPROC glad_glTexImage2D; PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
PFNGLSTENCILMASKPROC glad_glStencilMask; PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL;
PFNGLISTEXTUREPROC glad_glIsTexture; PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
PFNGLUNIFORM1FVPROC glad_glUniform1fv; PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL;
PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL;
PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL;
PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL;
PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL;
PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL;
PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL;
PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL;
PFNGLDEPTHMASKPROC glad_glDepthMask; PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL;
PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL;
PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL;
PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL;
PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
PFNGLFRONTFACEPROC glad_glFrontFace; PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
int GLAD_GL_EXT_texture_sRGB; int GLAD_GL_ARB_program_interface_query = 0;
int GLAD_GL_EXT_texture_filter_anisotropic; int GLAD_GL_ARB_compute_shader = 0;
int GLAD_GL_ARB_viewport_array; int GLAD_GL_EXT_texture_sRGB = 0;
int GLAD_GL_NV_stereo_view_rendering; int GLAD_GL_EXT_texture_filter_anisotropic = 0;
int GLAD_GL_NV_viewport_array2; int GLAD_GL_ARB_shader_storage_buffer_object = 0;
int GLAD_GL_ARB_texture_storage; int GLAD_GL_ARB_viewport_array = 0;
int GLAD_GL_EXT_texture_compression_s3tc; int GLAD_GL_NV_stereo_view_rendering = 0;
PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D; int GLAD_GL_NV_viewport_array2 = 0;
PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv; int GLAD_GL_ARB_texture_storage = 0;
PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf; int GLAD_GL_EXT_texture_compression_s3tc = 0;
PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv; PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL;
PFNGLSCISSORARRAYVPROC glad_glScissorArrayv; PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL;
PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed; PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL;
PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv; PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL;
PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv; PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL;
PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed; PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL;
PFNGLGETFLOATI_VPROC glad_glGetFloati_v; PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL;
PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v; PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL;
PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL;
PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL;
PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL;
PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL;
PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL;
PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL;
PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL;
PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL;
PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL;
PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL;
PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL;
static void load_GL_VERSION_1_0(GLADloadproc load) { static void load_GL_VERSION_1_0(GLADloadproc load) {
if(!GLAD_GL_VERSION_1_0) return; if(!GLAD_GL_VERSION_1_0) return;
glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
@ -966,6 +981,24 @@ static void load_GL_VERSION_3_3(GLADloadproc load) {
glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
} }
static void load_GL_ARB_compute_shader(GLADloadproc load) {
if(!GLAD_GL_ARB_compute_shader) return;
glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute");
glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect");
}
static void load_GL_ARB_program_interface_query(GLADloadproc load) {
if(!GLAD_GL_ARB_program_interface_query) return;
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");
}
static void load_GL_ARB_shader_storage_buffer_object(GLADloadproc load) {
if(!GLAD_GL_ARB_shader_storage_buffer_object) return;
glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load("glShaderStorageBlockBinding");
}
static void load_GL_ARB_texture_storage(GLADloadproc load) { static void load_GL_ARB_texture_storage(GLADloadproc load) {
if(!GLAD_GL_ARB_texture_storage) return; if(!GLAD_GL_ARB_texture_storage) return;
glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D"); glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D");
@ -987,6 +1020,9 @@ static void load_GL_ARB_viewport_array(GLADloadproc load) {
} }
static int find_extensionsGL(void) { static int find_extensionsGL(void) {
if (!get_exts()) return 0; if (!get_exts()) return 0;
GLAD_GL_ARB_compute_shader = has_ext("GL_ARB_compute_shader");
GLAD_GL_ARB_program_interface_query = has_ext("GL_ARB_program_interface_query");
GLAD_GL_ARB_shader_storage_buffer_object = has_ext("GL_ARB_shader_storage_buffer_object");
GLAD_GL_ARB_texture_storage = has_ext("GL_ARB_texture_storage"); GLAD_GL_ARB_texture_storage = has_ext("GL_ARB_texture_storage");
GLAD_GL_ARB_viewport_array = has_ext("GL_ARB_viewport_array"); GLAD_GL_ARB_viewport_array = has_ext("GL_ARB_viewport_array");
GLAD_GL_EXT_texture_compression_s3tc = has_ext("GL_EXT_texture_compression_s3tc"); GLAD_GL_EXT_texture_compression_s3tc = has_ext("GL_EXT_texture_compression_s3tc");
@ -1072,6 +1108,9 @@ int gladLoadGLLoader(GLADloadproc load) {
load_GL_VERSION_3_3(load); load_GL_VERSION_3_3(load);
if (!find_extensionsGL()) return 0; if (!find_extensionsGL()) return 0;
load_GL_ARB_compute_shader(load);
load_GL_ARB_program_interface_query(load);
load_GL_ARB_shader_storage_buffer_object(load);
load_GL_ARB_texture_storage(load); load_GL_ARB_texture_storage(load);
load_GL_ARB_viewport_array(load); load_GL_ARB_viewport_array(load);
return GLVersion.major != 0 || GLVersion.minor != 0; return GLVersion.major != 0 || GLVersion.minor != 0;

View File

@ -1,12 +1,15 @@
/* /*
OpenGL, OpenGL ES loader generated by glad 0.1.25 on Sat Jul 21 14:28:38 2018. OpenGL, OpenGL ES loader generated by glad 0.1.26 on Fri Aug 3 00:32:58 2018.
Language/Generator: C/C++ Language/Generator: C/C++
Specification: gl Specification: gl
APIs: gl=3.3, gles2=3.0 APIs: gl=3.3, gles2=3.0
Profile: core Profile: core
Extensions: Extensions:
GL_ARB_compute_shader,
GL_ARB_program_interface_query,
GL_ARB_shader_storage_buffer_object,
GL_ARB_texture_storage, GL_ARB_texture_storage,
GL_ARB_viewport_array, GL_ARB_viewport_array,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_s3tc,
@ -19,9 +22,9 @@
Omit khrplatform: True Omit khrplatform: True
Commandline: Commandline:
--profile="core" --api="gl=3.3,gles2=3.0" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB,GL_NV_stereo_view_rendering,GL_NV_viewport_array2" --profile="core" --api="gl=3.3,gles2=3.0" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_ARB_compute_shader,GL_ARB_program_interface_query,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB,GL_NV_stereo_view_rendering,GL_NV_viewport_array2"
Online: Online:
http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&api=gles2%3D3.0&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB&extensions=GL_NV_stereo_view_rendering&extensions=GL_NV_viewport_array2 http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&api=gles2%3D3.0&extensions=GL_ARB_compute_shader&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB&extensions=GL_NV_stereo_view_rendering&extensions=GL_NV_viewport_array2
*/ */
@ -860,7 +863,6 @@ typedef void (APIENTRY *GLVULKANPROCNV)(void);
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
#define GL_MAX_SAMPLES 0x8D57 #define GL_MAX_SAMPLES 0x8D57
#define GL_INDEX 0x8222
#define GL_FRAMEBUFFER_SRGB 0x8DB9 #define GL_FRAMEBUFFER_SRGB 0x8DB9
#define GL_HALF_FLOAT 0x140B #define GL_HALF_FLOAT 0x140B
#define GL_MAP_READ_BIT 0x0001 #define GL_MAP_READ_BIT 0x0001
@ -2325,6 +2327,91 @@ typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum inte
GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
#define glGetInternalformativ glad_glGetInternalformativ #define glGetInternalformativ glad_glGetInternalformativ
#endif #endif
#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_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_ATOMIC_COUNTER_BUFFER 0x92C0
#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_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
#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_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
#define GL_MAX_VIEWPORTS 0x825B #define GL_MAX_VIEWPORTS 0x825B
#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C #define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
#define GL_VIEWPORT_BOUNDS_RANGE 0x825D #define GL_VIEWPORT_BOUNDS_RANGE 0x825D
@ -2353,6 +2440,45 @@ GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
#ifndef GL_ARB_compute_shader
#define GL_ARB_compute_shader 1
GLAPI int GLAD_GL_ARB_compute_shader;
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
#endif
#ifndef GL_ARB_program_interface_query
#define GL_ARB_program_interface_query 1
GLAPI int GLAD_GL_ARB_program_interface_query;
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 bufSize, 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
#endif
#ifndef GL_ARB_shader_storage_buffer_object
#define GL_ARB_shader_storage_buffer_object 1
GLAPI int GLAD_GL_ARB_shader_storage_buffer_object;
typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
GLAPI PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;
#define glShaderStorageBlockBinding glad_glShaderStorageBlockBinding
#endif
#ifndef GL_ARB_texture_storage #ifndef GL_ARB_texture_storage
#define GL_ARB_texture_storage 1 #define GL_ARB_texture_storage 1
GLAPI int GLAD_GL_ARB_texture_storage; GLAPI int GLAD_GL_ARB_texture_storage;