// MobileGL - MobileGL/MG_Impl/GetProcAddress.cpp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
//   https://www.gnu.org/licenses/gpl-3.0.txt
//   https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header

#include "GetProcAddress.h"
#define GETPROC(name, var)                                                                                             \
    if (strcmp(#name, var) == 0) {                                                                                     \
        return (void*)name;                                                                                            \
    }

namespace MobileGL {
    namespace MG_Impl {
        void* GetProcAddress(const char* name) {
            MGLOG_D("GetProcAddress(%s)", name);
            GETPROC(eglChooseConfig, name);
            GETPROC(eglCopyBuffers, name);
            GETPROC(eglCreateContext, name);
            GETPROC(eglCreatePbufferSurface, name);
            GETPROC(eglCreatePixmapSurface, name);
            GETPROC(eglCreateWindowSurface, name);
            GETPROC(eglDestroyContext, name);
            GETPROC(eglDestroySurface, name);
            GETPROC(eglGetConfigAttrib, name);
            GETPROC(eglGetConfigs, name);
            GETPROC(eglGetCurrentDisplay, name);
            GETPROC(eglGetCurrentSurface, name);
            GETPROC(eglGetDisplay, name);
            GETPROC(eglGetError, name);
            GETPROC(eglGetProcAddress, name);
            GETPROC(eglInitialize, name);
            GETPROC(eglMakeCurrent, name);
            GETPROC(eglQueryContext, name);
            GETPROC(eglQueryString, name);
            GETPROC(eglQuerySurface, name);
            GETPROC(eglSwapBuffers, name);
            GETPROC(eglTerminate, name);
            GETPROC(eglWaitGL, name);
            GETPROC(eglWaitNative, name);
            GETPROC(eglBindTexImage, name);
            GETPROC(eglReleaseTexImage, name);
            GETPROC(eglSurfaceAttrib, name);
            GETPROC(eglSwapInterval, name);
            GETPROC(eglBindAPI, name);
            GETPROC(eglQueryAPI, name);
            GETPROC(eglCreatePbufferFromClientBuffer, name);
            GETPROC(eglReleaseThread, name);
            GETPROC(eglWaitClient, name);
            GETPROC(eglGetCurrentContext, name);
            GETPROC(eglCreateSync, name);
            GETPROC(eglDestroySync, name);
            GETPROC(eglClientWaitSync, name);
            GETPROC(eglGetSyncAttrib, name);
            GETPROC(eglCreateImage, name);
            GETPROC(eglDestroyImage, name);
            GETPROC(eglGetPlatformDisplay, name);
            GETPROC(eglCreatePlatformWindowSurface, name);
            GETPROC(eglCreatePlatformPixmapSurface, name);
            GETPROC(eglWaitSync, name);

            GETPROC(glCullFace, name);
            GETPROC(glFrontFace, name);
            GETPROC(glHint, name);
            GETPROC(glLineWidth, name);
            GETPROC(glPointSize, name);
            GETPROC(glPolygonMode, name);
            GETPROC(glScissor, name);
            GETPROC(glTexParameterf, name);
            GETPROC(glTexParameterfv, name);
            GETPROC(glTexParameteri, name);
            GETPROC(glTexParameteriv, name);
            GETPROC(glTexImage1D, name);
            GETPROC(glTexImage2D, name);
            GETPROC(glDrawBuffer, name);
            GETPROC(glClear, name);
            GETPROC(glClearColor, name);
            GETPROC(glClearStencil, name);
            GETPROC(glClearDepth, name);
            GETPROC(glStencilMask, name);
            GETPROC(glColorMask, name);
            GETPROC(glDepthMask, name);
            GETPROC(glDisable, name);
            GETPROC(glEnable, name);
            GETPROC(glFinish, name);
            GETPROC(glFlush, name);
            GETPROC(glBlendFunc, name);
            GETPROC(glLogicOp, name);
            GETPROC(glStencilFunc, name);
            GETPROC(glStencilOp, name);
            GETPROC(glDepthFunc, name);
            GETPROC(glPixelStoref, name);
            GETPROC(glPixelStorei, name);
            GETPROC(glReadBuffer, name);
            GETPROC(glReadPixels, name);
            GETPROC(glGetBooleanv, name);
            GETPROC(glGetDoublev, name);
            GETPROC(glGetError, name);
            GETPROC(glGetFloatv, name);
            GETPROC(glGetIntegerv, name);
            GETPROC(glGetString, name);
            GETPROC(glGetTexImage, name);
            GETPROC(glGetTexParameterfv, name);
            GETPROC(glGetTexParameteriv, name);
            GETPROC(glGetTexLevelParameterfv, name);
            GETPROC(glGetTexLevelParameteriv, name);
            GETPROC(glIsEnabled, name);
            GETPROC(glDepthRange, name);
            GETPROC(glViewport, name);
            GETPROC(glDrawArrays, name);
            GETPROC(glDrawElements, name);
            GETPROC(glGetPointerv, name);
            GETPROC(glPolygonOffset, name);
            GETPROC(glCopyTexImage1D, name);
            GETPROC(glCopyTexImage2D, name);
            GETPROC(glCopyTexSubImage1D, name);
            GETPROC(glCopyTexSubImage2D, name);
            GETPROC(glTexSubImage1D, name);
            GETPROC(glTexSubImage2D, name);
            GETPROC(glBindTexture, name);
            GETPROC(glDeleteTextures, name);
            GETPROC(glGenTextures, name);
            GETPROC(glIsTexture, name);
            GETPROC(glDrawRangeElements, name);
            GETPROC(glTexImage3D, name);
            GETPROC(glTexSubImage3D, name);
            GETPROC(glCopyTexSubImage3D, name);
            GETPROC(glActiveTexture, name);
            GETPROC(glSampleCoverage, name);
            GETPROC(glCompressedTexImage3D, name);
            GETPROC(glCompressedTexImage2D, name);
            GETPROC(glCompressedTexImage1D, name);
            GETPROC(glCompressedTexSubImage3D, name);
            GETPROC(glCompressedTexSubImage2D, name);
            GETPROC(glCompressedTexSubImage1D, name);
            GETPROC(glGetCompressedTexImage, name);
            GETPROC(glBlendFuncSeparate, name);
            GETPROC(glMultiDrawArrays, name);
            GETPROC(glMultiDrawElements, name);
            GETPROC(glPointParameterf, name);
            GETPROC(glPointParameterfv, name);
            GETPROC(glPointParameteri, name);
            GETPROC(glPointParameteriv, name);
            GETPROC(glBlendColor, name);
            GETPROC(glBlendEquation, name);
            GETPROC(glGenQueries, name);
            GETPROC(glDeleteQueries, name);
            GETPROC(glIsQuery, name);
            GETPROC(glBeginQuery, name);
            GETPROC(glEndQuery, name);
            GETPROC(glGetQueryiv, name);
            GETPROC(glGetQueryObjectiv, name);
            GETPROC(glGetQueryObjectuiv, name);
            GETPROC(glBindBuffer, name);
            GETPROC(glDeleteBuffers, name);
            GETPROC(glGenBuffers, name);
            GETPROC(glIsBuffer, name);
            GETPROC(glBufferData, name);
            GETPROC(glBufferSubData, name);
            GETPROC(glGetBufferSubData, name);
            GETPROC(glMapBuffer, name);
            GETPROC(glUnmapBuffer, name);
            GETPROC(glGetBufferParameteriv, name);
            GETPROC(glGetBufferPointerv, name);
            GETPROC(glBlendEquationSeparate, name);
            GETPROC(glDrawBuffers, name);
            GETPROC(glStencilOpSeparate, name);
            GETPROC(glStencilFuncSeparate, name);
            GETPROC(glStencilMaskSeparate, name);
            GETPROC(glAttachShader, name);
            GETPROC(glBindAttribLocation, name);
            GETPROC(glCompileShader, name);
            GETPROC(glCreateProgram, name);
            GETPROC(glCreateShader, name);
            GETPROC(glDeleteProgram, name);
            GETPROC(glDeleteShader, name);
            GETPROC(glDetachShader, name);
            GETPROC(glDisableVertexAttribArray, name);
            GETPROC(glEnableVertexAttribArray, name);
            GETPROC(glGetActiveAttrib, name);
            GETPROC(glGetActiveUniform, name);
            GETPROC(glGetAttachedShaders, name);
            GETPROC(glGetAttribLocation, name);
            GETPROC(glGetProgramiv, name);
            GETPROC(glGetProgramInfoLog, name);
            GETPROC(glGetShaderiv, name);
            GETPROC(glGetShaderInfoLog, name);
            GETPROC(glGetShaderSource, name);
            GETPROC(glGetUniformLocation, name);
            GETPROC(glGetUniformfv, name);
            GETPROC(glGetUniformiv, name);
            GETPROC(glGetVertexAttribdv, name);
            GETPROC(glGetVertexAttribfv, name);
            GETPROC(glGetVertexAttribiv, name);
            GETPROC(glGetVertexAttribPointerv, name);
            GETPROC(glIsProgram, name);
            GETPROC(glIsShader, name);
            GETPROC(glLinkProgram, name);
            GETPROC(glShaderSource, name);
            GETPROC(glUseProgram, name);
            GETPROC(glUniform1f, name);
            GETPROC(glUniform2f, name);
            GETPROC(glUniform3f, name);
            GETPROC(glUniform4f, name);
            GETPROC(glUniform1i, name);
            GETPROC(glUniform2i, name);
            GETPROC(glUniform3i, name);
            GETPROC(glUniform4i, name);
            GETPROC(glUniform1fv, name);
            GETPROC(glUniform2fv, name);
            GETPROC(glUniform3fv, name);
            GETPROC(glUniform4fv, name);
            GETPROC(glUniform1iv, name);
            GETPROC(glUniform2iv, name);
            GETPROC(glUniform3iv, name);
            GETPROC(glUniform4iv, name);
            GETPROC(glUniformMatrix2fv, name);
            GETPROC(glUniformMatrix3fv, name);
            GETPROC(glUniformMatrix4fv, name);
            GETPROC(glValidateProgram, name);
            GETPROC(glVertexAttrib1d, name);
            GETPROC(glVertexAttrib1dv, name);
            GETPROC(glVertexAttrib1f, name);
            GETPROC(glVertexAttrib1fv, name);
            GETPROC(glVertexAttrib1s, name);
            GETPROC(glVertexAttrib1sv, name);
            GETPROC(glVertexAttrib2d, name);
            GETPROC(glVertexAttrib2dv, name);
            GETPROC(glVertexAttrib2f, name);
            GETPROC(glVertexAttrib2fv, name);
            GETPROC(glVertexAttrib2s, name);
            GETPROC(glVertexAttrib2sv, name);
            GETPROC(glVertexAttrib3d, name);
            GETPROC(glVertexAttrib3dv, name);
            GETPROC(glVertexAttrib3f, name);
            GETPROC(glVertexAttrib3fv, name);
            GETPROC(glVertexAttrib3s, name);
            GETPROC(glVertexAttrib3sv, name);
            GETPROC(glVertexAttrib4Nbv, name);
            GETPROC(glVertexAttrib4Niv, name);
            GETPROC(glVertexAttrib4Nsv, name);
            GETPROC(glVertexAttrib4Nub, name);
            GETPROC(glVertexAttrib4Nubv, name);
            GETPROC(glVertexAttrib4Nuiv, name);
            GETPROC(glVertexAttrib4Nusv, name);
            GETPROC(glVertexAttrib4bv, name);
            GETPROC(glVertexAttrib4d, name);
            GETPROC(glVertexAttrib4dv, name);
            GETPROC(glVertexAttrib4f, name);
            GETPROC(glVertexAttrib4fv, name);
            GETPROC(glVertexAttrib4iv, name);
            GETPROC(glVertexAttrib4s, name);
            GETPROC(glVertexAttrib4sv, name);
            GETPROC(glVertexAttrib4ubv, name);
            GETPROC(glVertexAttrib4uiv, name);
            GETPROC(glVertexAttrib4usv, name);
            GETPROC(glVertexAttribPointer, name);
            GETPROC(glUniformMatrix2x3fv, name);
            GETPROC(glUniformMatrix3x2fv, name);
            GETPROC(glUniformMatrix2x4fv, name);
            GETPROC(glUniformMatrix4x2fv, name);
            GETPROC(glUniformMatrix3x4fv, name);
            GETPROC(glUniformMatrix4x3fv, name);
            GETPROC(glColorMaski, name);
            GETPROC(glGetBooleani_v, name);
            GETPROC(glGetIntegeri_v, name);
            GETPROC(glEnablei, name);
            GETPROC(glDisablei, name);
            GETPROC(glIsEnabledi, name);
            GETPROC(glBeginTransformFeedback, name);
            GETPROC(glEndTransformFeedback, name);
            GETPROC(glBindBufferRange, name);
            GETPROC(glBindBufferBase, name);
            GETPROC(glTransformFeedbackVaryings, name);
            GETPROC(glGetTransformFeedbackVarying, name);
            GETPROC(glClampColor, name);
            GETPROC(glBeginConditionalRender, name);
            GETPROC(glEndConditionalRender, name);
            GETPROC(glVertexAttribIPointer, name);
            GETPROC(glGetVertexAttribIiv, name);
            GETPROC(glGetVertexAttribIuiv, name);
            GETPROC(glVertexAttribI1i, name);
            GETPROC(glVertexAttribI2i, name);
            GETPROC(glVertexAttribI3i, name);
            GETPROC(glVertexAttribI4i, name);
            GETPROC(glVertexAttribI1ui, name);
            GETPROC(glVertexAttribI2ui, name);
            GETPROC(glVertexAttribI3ui, name);
            GETPROC(glVertexAttribI4ui, name);
            GETPROC(glVertexAttribI1iv, name);
            GETPROC(glVertexAttribI2iv, name);
            GETPROC(glVertexAttribI3iv, name);
            GETPROC(glVertexAttribI4iv, name);
            GETPROC(glVertexAttribI1uiv, name);
            GETPROC(glVertexAttribI2uiv, name);
            GETPROC(glVertexAttribI3uiv, name);
            GETPROC(glVertexAttribI4uiv, name);
            GETPROC(glVertexAttribI4bv, name);
            GETPROC(glVertexAttribI4sv, name);
            GETPROC(glVertexAttribI4ubv, name);
            GETPROC(glVertexAttribI4usv, name);
            GETPROC(glGetUniformuiv, name);
            GETPROC(glBindFragDataLocation, name);
            GETPROC(glGetFragDataLocation, name);
            GETPROC(glUniform1ui, name);
            GETPROC(glUniform2ui, name);
            GETPROC(glUniform3ui, name);
            GETPROC(glUniform4ui, name);
            GETPROC(glUniform1uiv, name);
            GETPROC(glUniform2uiv, name);
            GETPROC(glUniform3uiv, name);
            GETPROC(glUniform4uiv, name);
            GETPROC(glTexParameterIiv, name);
            GETPROC(glTexParameterIuiv, name);
            GETPROC(glGetTexParameterIiv, name);
            GETPROC(glGetTexParameterIuiv, name);
            GETPROC(glClearBufferiv, name);
            GETPROC(glClearBufferuiv, name);
            GETPROC(glClearBufferfv, name);
            GETPROC(glClearBufferfi, name);
            GETPROC(glGetStringi, name);
            GETPROC(glIsRenderbuffer, name);
            GETPROC(glBindRenderbuffer, name);
            GETPROC(glDeleteRenderbuffers, name);
            GETPROC(glGenRenderbuffers, name);
            GETPROC(glRenderbufferStorage, name);
            GETPROC(glGetRenderbufferParameteriv, name);
            GETPROC(glIsFramebuffer, name);
            GETPROC(glBindFramebuffer, name);
            GETPROC(glDeleteFramebuffers, name);
            GETPROC(glGenFramebuffers, name);
            GETPROC(glCheckFramebufferStatus, name);
            GETPROC(glFramebufferTexture1D, name);
            GETPROC(glFramebufferTexture2D, name);
            GETPROC(glFramebufferTexture3D, name);
            GETPROC(glFramebufferRenderbuffer, name);
            GETPROC(glGetFramebufferAttachmentParameteriv, name);
            GETPROC(glGenerateMipmap, name);
            GETPROC(glBlitFramebuffer, name);
            GETPROC(glRenderbufferStorageMultisample, name);
            GETPROC(glFramebufferTextureLayer, name);
            GETPROC(glMapBufferRange, name);
            GETPROC(glFlushMappedBufferRange, name);
            GETPROC(glBindVertexArray, name);
            GETPROC(glDeleteVertexArrays, name);
            GETPROC(glGenVertexArrays, name);
            GETPROC(glIsVertexArray, name);
            GETPROC(glDrawArraysInstanced, name);
            GETPROC(glDrawElementsInstanced, name);
            GETPROC(glTexBuffer, name);
            GETPROC(glPrimitiveRestartIndex, name);
            GETPROC(glCopyBufferSubData, name);
            GETPROC(glGetUniformIndices, name);
            GETPROC(glGetActiveUniformsiv, name);
            GETPROC(glGetActiveUniformName, name);
            GETPROC(glGetUniformBlockIndex, name);
            GETPROC(glGetActiveUniformBlockiv, name);
            GETPROC(glGetActiveUniformBlockName, name);
            GETPROC(glUniformBlockBinding, name);
            GETPROC(glDrawElementsBaseVertex, name);
            GETPROC(glDrawRangeElementsBaseVertex, name);
            GETPROC(glDrawElementsInstancedBaseVertex, name);
            GETPROC(glMultiDrawElementsBaseVertex, name);
            GETPROC(glProvokingVertex, name);
            GETPROC(glFenceSync, name);
            GETPROC(glIsSync, name);
            GETPROC(glDeleteSync, name);
            GETPROC(glClientWaitSync, name);
            GETPROC(glWaitSync, name);
            GETPROC(glGetInteger64v, name);
            GETPROC(glGetSynciv, name);
            GETPROC(glGetInteger64i_v, name);
            GETPROC(glGetBufferParameteri64v, name);
            GETPROC(glFramebufferTexture, name);
            GETPROC(glTexImage2DMultisample, name);
            GETPROC(glTexImage3DMultisample, name);
            GETPROC(glGetMultisamplefv, name);
            GETPROC(glSampleMaski, name);
            GETPROC(glBindFragDataLocationIndexed, name);
            GETPROC(glGetFragDataIndex, name);
            GETPROC(glGenSamplers, name);
            GETPROC(glDeleteSamplers, name);
            GETPROC(glIsSampler, name);
            GETPROC(glBindSampler, name);
            GETPROC(glSamplerParameteri, name);
            GETPROC(glSamplerParameteriv, name);
            GETPROC(glSamplerParameterf, name);
            GETPROC(glSamplerParameterfv, name);
            GETPROC(glSamplerParameterIiv, name);
            GETPROC(glSamplerParameterIuiv, name);
            GETPROC(glGetSamplerParameteriv, name);
            GETPROC(glGetSamplerParameterIiv, name);
            GETPROC(glGetSamplerParameterfv, name);
            GETPROC(glGetSamplerParameterIuiv, name);
            GETPROC(glQueryCounter, name);
            GETPROC(glGetQueryObjecti64v, name);
            GETPROC(glGetQueryObjectui64v, name);
            GETPROC(glVertexAttribDivisor, name);
            GETPROC(glVertexAttribP1ui, name);
            GETPROC(glVertexAttribP1uiv, name);
            GETPROC(glVertexAttribP2ui, name);
            GETPROC(glVertexAttribP2uiv, name);
            GETPROC(glVertexAttribP3ui, name);
            GETPROC(glVertexAttribP3uiv, name);
            GETPROC(glVertexAttribP4ui, name);
            GETPROC(glVertexAttribP4uiv, name);
            GETPROC(glMinSampleShading, name);
            GETPROC(glBlendEquationi, name);
            GETPROC(glBlendEquationSeparatei, name);
            GETPROC(glBlendFunci, name);
            GETPROC(glBlendFuncSeparatei, name);
            GETPROC(glDrawArraysIndirect, name);
            GETPROC(glDrawElementsIndirect, name);
            GETPROC(glUniform1d, name);
            GETPROC(glUniform2d, name);
            GETPROC(glUniform3d, name);
            GETPROC(glUniform4d, name);
            GETPROC(glUniform1dv, name);
            GETPROC(glUniform2dv, name);
            GETPROC(glUniform3dv, name);
            GETPROC(glUniform4dv, name);
            GETPROC(glUniformMatrix2dv, name);
            GETPROC(glUniformMatrix3dv, name);
            GETPROC(glUniformMatrix4dv, name);
            GETPROC(glUniformMatrix2x3dv, name);
            GETPROC(glUniformMatrix2x4dv, name);
            GETPROC(glUniformMatrix3x2dv, name);
            GETPROC(glUniformMatrix3x4dv, name);
            GETPROC(glUniformMatrix4x2dv, name);
            GETPROC(glUniformMatrix4x3dv, name);
            GETPROC(glGetUniformdv, name);
            GETPROC(glGetSubroutineUniformLocation, name);
            GETPROC(glGetSubroutineIndex, name);
            GETPROC(glGetActiveSubroutineUniformiv, name);
            GETPROC(glGetActiveSubroutineUniformName, name);
            GETPROC(glGetActiveSubroutineName, name);
            GETPROC(glUniformSubroutinesuiv, name);
            GETPROC(glGetUniformSubroutineuiv, name);
            GETPROC(glGetProgramStageiv, name);
            GETPROC(glPatchParameteri, name);
            GETPROC(glPatchParameterfv, name);
            GETPROC(glBindTransformFeedback, name);
            GETPROC(glDeleteTransformFeedbacks, name);
            GETPROC(glGenTransformFeedbacks, name);
            GETPROC(glIsTransformFeedback, name);
            GETPROC(glPauseTransformFeedback, name);
            GETPROC(glResumeTransformFeedback, name);
            GETPROC(glDrawTransformFeedback, name);
            GETPROC(glDrawTransformFeedbackStream, name);
            GETPROC(glBeginQueryIndexed, name);
            GETPROC(glEndQueryIndexed, name);
            GETPROC(glGetQueryIndexediv, name);
            GETPROC(glReleaseShaderCompiler, name);
            GETPROC(glShaderBinary, name);
            GETPROC(glGetShaderPrecisionFormat, name);
            GETPROC(glDepthRangef, name);
            GETPROC(glClearDepthf, name);
            GETPROC(glGetProgramBinary, name);
            GETPROC(glProgramBinary, name);
            GETPROC(glProgramParameteri, name);
            GETPROC(glUseProgramStages, name);
            GETPROC(glActiveShaderProgram, name);
            GETPROC(glCreateShaderProgramv, name);
            GETPROC(glBindProgramPipeline, name);
            GETPROC(glDeleteProgramPipelines, name);
            GETPROC(glGenProgramPipelines, name);
            GETPROC(glIsProgramPipeline, name);
            GETPROC(glGetProgramPipelineiv, name);
            GETPROC(glProgramUniform1i, name);
            GETPROC(glProgramUniform1iv, name);
            GETPROC(glProgramUniform1f, name);
            GETPROC(glProgramUniform1fv, name);
            GETPROC(glProgramUniform1d, name);
            GETPROC(glProgramUniform1dv, name);
            GETPROC(glProgramUniform1ui, name);
            GETPROC(glProgramUniform1uiv, name);
            GETPROC(glProgramUniform2i, name);
            GETPROC(glProgramUniform2iv, name);
            GETPROC(glProgramUniform2f, name);
            GETPROC(glProgramUniform2fv, name);
            GETPROC(glProgramUniform2d, name);
            GETPROC(glProgramUniform2dv, name);
            GETPROC(glProgramUniform2ui, name);
            GETPROC(glProgramUniform2uiv, name);
            GETPROC(glProgramUniform3i, name);
            GETPROC(glProgramUniform3iv, name);
            GETPROC(glProgramUniform3f, name);
            GETPROC(glProgramUniform3fv, name);
            GETPROC(glProgramUniform3d, name);
            GETPROC(glProgramUniform3dv, name);
            GETPROC(glProgramUniform3ui, name);
            GETPROC(glProgramUniform3uiv, name);
            GETPROC(glProgramUniform4i, name);
            GETPROC(glProgramUniform4iv, name);
            GETPROC(glProgramUniform4f, name);
            GETPROC(glProgramUniform4fv, name);
            GETPROC(glProgramUniform4d, name);
            GETPROC(glProgramUniform4dv, name);
            GETPROC(glProgramUniform4ui, name);
            GETPROC(glProgramUniform4uiv, name);
            GETPROC(glProgramUniformMatrix2fv, name);
            GETPROC(glProgramUniformMatrix3fv, name);
            GETPROC(glProgramUniformMatrix4fv, name);
            GETPROC(glProgramUniformMatrix2dv, name);
            GETPROC(glProgramUniformMatrix3dv, name);
            GETPROC(glProgramUniformMatrix4dv, name);
            GETPROC(glProgramUniformMatrix2x3fv, name);
            GETPROC(glProgramUniformMatrix3x2fv, name);
            GETPROC(glProgramUniformMatrix2x4fv, name);
            GETPROC(glProgramUniformMatrix4x2fv, name);
            GETPROC(glProgramUniformMatrix3x4fv, name);
            GETPROC(glProgramUniformMatrix4x3fv, name);
            GETPROC(glProgramUniformMatrix2x3dv, name);
            GETPROC(glProgramUniformMatrix3x2dv, name);
            GETPROC(glProgramUniformMatrix2x4dv, name);
            GETPROC(glProgramUniformMatrix4x2dv, name);
            GETPROC(glProgramUniformMatrix3x4dv, name);
            GETPROC(glProgramUniformMatrix4x3dv, name);
            GETPROC(glValidateProgramPipeline, name);
            GETPROC(glGetProgramPipelineInfoLog, name);
            GETPROC(glVertexAttribL1d, name);
            GETPROC(glVertexAttribL2d, name);
            GETPROC(glVertexAttribL3d, name);
            GETPROC(glVertexAttribL4d, name);
            GETPROC(glVertexAttribL1dv, name);
            GETPROC(glVertexAttribL2dv, name);
            GETPROC(glVertexAttribL3dv, name);
            GETPROC(glVertexAttribL4dv, name);
            GETPROC(glVertexAttribLPointer, name);
            GETPROC(glGetVertexAttribLdv, name);
            GETPROC(glViewportArrayv, name);
            GETPROC(glViewportIndexedf, name);
            GETPROC(glViewportIndexedfv, name);
            GETPROC(glScissorArrayv, name);
            GETPROC(glScissorIndexed, name);
            GETPROC(glScissorIndexedv, name);
            GETPROC(glDepthRangeArrayv, name);
            GETPROC(glDepthRangeIndexed, name);
            GETPROC(glGetFloati_v, name);
            GETPROC(glGetDoublei_v, name);
            GETPROC(glDrawArraysInstancedBaseInstance, name);
            GETPROC(glDrawElementsInstancedBaseInstance, name);
            GETPROC(glDrawElementsInstancedBaseVertexBaseInstance, name);
            GETPROC(glGetInternalformativ, name);
            GETPROC(glGetActiveAtomicCounterBufferiv, name);
            GETPROC(glBindImageTexture, name);
            GETPROC(glMemoryBarrier, name);
            GETPROC(glTexStorage1D, name);
            GETPROC(glTexStorage2D, name);
            GETPROC(glTexStorage3D, name);
            GETPROC(glDrawTransformFeedbackInstanced, name);
            GETPROC(glDrawTransformFeedbackStreamInstanced, name);
            GETPROC(glClearBufferData, name);
            GETPROC(glClearBufferSubData, name);
            GETPROC(glDispatchCompute, name);
            GETPROC(glDispatchComputeIndirect, name);
            GETPROC(glCopyImageSubData, name);
            GETPROC(glFramebufferParameteri, name);
            GETPROC(glGetFramebufferParameteriv, name);
            GETPROC(glGetInternalformati64v, name);
            GETPROC(glInvalidateTexSubImage, name);
            GETPROC(glInvalidateTexImage, name);
            GETPROC(glInvalidateBufferSubData, name);
            GETPROC(glInvalidateBufferData, name);
            GETPROC(glInvalidateFramebuffer, name);
            GETPROC(glInvalidateSubFramebuffer, name);
            GETPROC(glMultiDrawArraysIndirect, name);
            GETPROC(glMultiDrawElementsIndirect, name);
            GETPROC(glGetProgramInterfaceiv, name);
            GETPROC(glGetProgramResourceIndex, name);
            GETPROC(glGetProgramResourceName, name);
            GETPROC(glGetProgramResourceiv, name);
            GETPROC(glGetProgramResourceLocation, name);
            GETPROC(glGetProgramResourceLocationIndex, name);
            GETPROC(glShaderStorageBlockBinding, name);
            GETPROC(glTexBufferRange, name);
            GETPROC(glTexStorage2DMultisample, name);
            GETPROC(glTexStorage3DMultisample, name);
            GETPROC(glTextureView, name);
            GETPROC(glBindVertexBuffer, name);
            GETPROC(glVertexAttribFormat, name);
            GETPROC(glVertexAttribIFormat, name);
            GETPROC(glVertexAttribLFormat, name);
            GETPROC(glVertexAttribBinding, name);
            GETPROC(glVertexBindingDivisor, name);
            GETPROC(glDebugMessageControl, name);
            GETPROC(glDebugMessageInsert, name);
            GETPROC(glDebugMessageCallback, name);
            GETPROC(glGetDebugMessageLog, name);
            GETPROC(glPushDebugGroup, name);
            GETPROC(glPopDebugGroup, name);
            GETPROC(glObjectLabel, name);
            GETPROC(glGetObjectLabel, name);
            GETPROC(glObjectPtrLabel, name);
            GETPROC(glGetObjectPtrLabel, name);
            GETPROC(glBufferStorage, name);
            GETPROC(glClearTexImage, name);
            GETPROC(glClearTexSubImage, name);
            GETPROC(glBindBuffersBase, name);
            GETPROC(glBindBuffersRange, name);
            GETPROC(glBindTextures, name);
            GETPROC(glBindSamplers, name);
            GETPROC(glBindImageTextures, name);
            GETPROC(glBindVertexBuffers, name);
            GETPROC(glClipControl, name);
            GETPROC(glCreateTransformFeedbacks, name);
            GETPROC(glTransformFeedbackBufferBase, name);
            GETPROC(glTransformFeedbackBufferRange, name);
            GETPROC(glGetTransformFeedbackiv, name);
            GETPROC(glGetTransformFeedbacki_v, name);
            GETPROC(glGetTransformFeedbacki64_v, name);
            GETPROC(glCreateBuffers, name);
            GETPROC(glNamedBufferStorage, name);
            GETPROC(glNamedBufferData, name);
            GETPROC(glNamedBufferSubData, name);
            GETPROC(glCopyNamedBufferSubData, name);
            GETPROC(glClearNamedBufferData, name);
            GETPROC(glClearNamedBufferSubData, name);
            GETPROC(glMapNamedBuffer, name);
            GETPROC(glMapNamedBufferRange, name);
            GETPROC(glUnmapNamedBuffer, name);
            GETPROC(glFlushMappedNamedBufferRange, name);
            GETPROC(glGetNamedBufferParameteriv, name);
            GETPROC(glGetNamedBufferParameteri64v, name);
            GETPROC(glGetNamedBufferPointerv, name);
            GETPROC(glGetNamedBufferSubData, name);
            GETPROC(glCreateFramebuffers, name);
            GETPROC(glNamedFramebufferRenderbuffer, name);
            GETPROC(glNamedFramebufferParameteri, name);
            GETPROC(glNamedFramebufferTexture, name);
            GETPROC(glNamedFramebufferTextureLayer, name);
            GETPROC(glNamedFramebufferDrawBuffer, name);
            GETPROC(glNamedFramebufferDrawBuffers, name);
            GETPROC(glNamedFramebufferReadBuffer, name);
            GETPROC(glInvalidateNamedFramebufferData, name);
            GETPROC(glInvalidateNamedFramebufferSubData, name);
            GETPROC(glClearNamedFramebufferiv, name);
            GETPROC(glClearNamedFramebufferuiv, name);
            GETPROC(glClearNamedFramebufferfv, name);
            GETPROC(glClearNamedFramebufferfi, name);
            GETPROC(glBlitNamedFramebuffer, name);
            GETPROC(glCheckNamedFramebufferStatus, name);
            GETPROC(glGetNamedFramebufferParameteriv, name);
            GETPROC(glGetNamedFramebufferAttachmentParameteriv, name);
            GETPROC(glCreateRenderbuffers, name);
            GETPROC(glNamedRenderbufferStorage, name);
            GETPROC(glNamedRenderbufferStorageMultisample, name);
            GETPROC(glGetNamedRenderbufferParameteriv, name);
            GETPROC(glCreateTextures, name);
            GETPROC(glTextureBuffer, name);
            GETPROC(glTextureBufferRange, name);
            GETPROC(glTextureStorage1D, name);
            GETPROC(glTextureStorage2D, name);
            GETPROC(glTextureStorage3D, name);
            GETPROC(glTextureStorage2DMultisample, name);
            GETPROC(glTextureStorage3DMultisample, name);
            GETPROC(glTextureSubImage1D, name);
            GETPROC(glTextureSubImage2D, name);
            GETPROC(glTextureSubImage3D, name);
            GETPROC(glCompressedTextureSubImage1D, name);
            GETPROC(glCompressedTextureSubImage2D, name);
            GETPROC(glCompressedTextureSubImage3D, name);
            GETPROC(glCopyTextureSubImage1D, name);
            GETPROC(glCopyTextureSubImage2D, name);
            GETPROC(glCopyTextureSubImage3D, name);
            GETPROC(glTextureParameterf, name);
            GETPROC(glTextureParameterfv, name);
            GETPROC(glTextureParameteri, name);
            GETPROC(glTextureParameterIiv, name);
            GETPROC(glTextureParameterIuiv, name);
            GETPROC(glTextureParameteriv, name);
            GETPROC(glGenerateTextureMipmap, name);
            GETPROC(glBindTextureUnit, name);
            GETPROC(glGetTextureImage, name);
            GETPROC(glGetCompressedTextureImage, name);
            GETPROC(glGetTextureLevelParameterfv, name);
            GETPROC(glGetTextureLevelParameteriv, name);
            GETPROC(glGetTextureParameterfv, name);
            GETPROC(glGetTextureParameterIiv, name);
            GETPROC(glGetTextureParameterIuiv, name);
            GETPROC(glGetTextureParameteriv, name);
            GETPROC(glCreateVertexArrays, name);
            GETPROC(glDisableVertexArrayAttrib, name);
            GETPROC(glEnableVertexArrayAttrib, name);
            GETPROC(glVertexArrayElementBuffer, name);
            GETPROC(glVertexArrayVertexBuffer, name);
            GETPROC(glVertexArrayVertexBuffers, name);
            GETPROC(glVertexArrayAttribBinding, name);
            GETPROC(glVertexArrayAttribFormat, name);
            GETPROC(glVertexArrayAttribIFormat, name);
            GETPROC(glVertexArrayAttribLFormat, name);
            GETPROC(glVertexArrayBindingDivisor, name);
            GETPROC(glGetVertexArrayiv, name);
            GETPROC(glGetVertexArrayIndexediv, name);
            GETPROC(glGetVertexArrayIndexed64iv, name);
            GETPROC(glCreateSamplers, name);
            GETPROC(glCreateProgramPipelines, name);
            GETPROC(glCreateQueries, name);
            GETPROC(glGetQueryBufferObjecti64v, name);
            GETPROC(glGetQueryBufferObjectiv, name);
            GETPROC(glGetQueryBufferObjectui64v, name);
            GETPROC(glGetQueryBufferObjectuiv, name);
            GETPROC(glMemoryBarrierByRegion, name);
            GETPROC(glGetTextureSubImage, name);
            GETPROC(glGetCompressedTextureSubImage, name);
            GETPROC(glGetGraphicsResetStatus, name);
            GETPROC(glGetnCompressedTexImage, name);
            GETPROC(glGetnTexImage, name);
            GETPROC(glGetnUniformdv, name);
            GETPROC(glGetnUniformfv, name);
            GETPROC(glGetnUniformiv, name);
            GETPROC(glGetnUniformuiv, name);
            GETPROC(glReadnPixels, name);
            GETPROC(glTextureBarrier, name);
            GETPROC(glSpecializeShader, name);
            GETPROC(glMultiDrawArraysIndirectCount, name);
            GETPROC(glMultiDrawElementsIndirectCount, name);
            GETPROC(glPolygonOffsetClamp, name);
            GETPROC(glPrimitiveBoundingBoxARB, name);
            GETPROC(glGetTextureHandleARB, name);
            GETPROC(glGetTextureSamplerHandleARB, name);
            GETPROC(glMakeTextureHandleResidentARB, name);
            GETPROC(glMakeTextureHandleNonResidentARB, name);
            GETPROC(glGetImageHandleARB, name);
            GETPROC(glMakeImageHandleResidentARB, name);
            GETPROC(glMakeImageHandleNonResidentARB, name);
            GETPROC(glUniformHandleui64ARB, name);
            GETPROC(glUniformHandleui64vARB, name);
            GETPROC(glProgramUniformHandleui64ARB, name);
            GETPROC(glProgramUniformHandleui64vARB, name);
            GETPROC(glIsTextureHandleResidentARB, name);
            GETPROC(glIsImageHandleResidentARB, name);
            GETPROC(glVertexAttribL1ui64ARB, name);
            GETPROC(glVertexAttribL1ui64vARB, name);
            GETPROC(glGetVertexAttribLui64vARB, name);
            GETPROC(glCreateSyncFromCLeventARB, name);
            GETPROC(glDispatchComputeGroupSizeARB, name);
            GETPROC(glDebugMessageControlARB, name);
            GETPROC(glDebugMessageInsertARB, name);
            GETPROC(glDebugMessageCallbackARB, name);
            GETPROC(glGetDebugMessageLogARB, name);
            GETPROC(glBlendEquationiARB, name);
            GETPROC(glBlendEquationSeparateiARB, name);
            GETPROC(glBlendFunciARB, name);
            GETPROC(glBlendFuncSeparateiARB, name);
            GETPROC(glDrawArraysInstancedARB, name);
            GETPROC(glDrawElementsInstancedARB, name);
            GETPROC(glProgramParameteriARB, name);
            GETPROC(glFramebufferTextureARB, name);
            GETPROC(glFramebufferTextureLayerARB, name);
            GETPROC(glFramebufferTextureFaceARB, name);
            GETPROC(glSpecializeShaderARB, name);
            GETPROC(glUniform1i64ARB, name);
            GETPROC(glUniform2i64ARB, name);
            GETPROC(glUniform3i64ARB, name);
            GETPROC(glUniform4i64ARB, name);
            GETPROC(glUniform1i64vARB, name);
            GETPROC(glUniform2i64vARB, name);
            GETPROC(glUniform3i64vARB, name);
            GETPROC(glUniform4i64vARB, name);
            GETPROC(glUniform1ui64ARB, name);
            GETPROC(glUniform2ui64ARB, name);
            GETPROC(glUniform3ui64ARB, name);
            GETPROC(glUniform4ui64ARB, name);
            GETPROC(glUniform1ui64vARB, name);
            GETPROC(glUniform2ui64vARB, name);
            GETPROC(glUniform3ui64vARB, name);
            GETPROC(glUniform4ui64vARB, name);
            GETPROC(glGetUniformi64vARB, name);
            GETPROC(glGetUniformui64vARB, name);
            GETPROC(glGetnUniformi64vARB, name);
            GETPROC(glGetnUniformui64vARB, name);
            GETPROC(glProgramUniform1i64ARB, name);
            GETPROC(glProgramUniform2i64ARB, name);
            GETPROC(glProgramUniform3i64ARB, name);
            GETPROC(glProgramUniform4i64ARB, name);
            GETPROC(glProgramUniform1i64vARB, name);
            GETPROC(glProgramUniform2i64vARB, name);
            GETPROC(glProgramUniform3i64vARB, name);
            GETPROC(glProgramUniform4i64vARB, name);
            GETPROC(glProgramUniform1ui64ARB, name);
            GETPROC(glProgramUniform2ui64ARB, name);
            GETPROC(glProgramUniform3ui64ARB, name);
            GETPROC(glProgramUniform4ui64ARB, name);
            GETPROC(glProgramUniform1ui64vARB, name);
            GETPROC(glProgramUniform2ui64vARB, name);
            GETPROC(glProgramUniform3ui64vARB, name);
            GETPROC(glProgramUniform4ui64vARB, name);
            GETPROC(glMultiDrawArraysIndirectCountARB, name);
            GETPROC(glMultiDrawElementsIndirectCountARB, name);
            GETPROC(glVertexAttribDivisorARB, name);
            GETPROC(glMaxShaderCompilerThreadsARB, name);
            GETPROC(glGetGraphicsResetStatusARB, name);
            GETPROC(glGetnTexImageARB, name);
            GETPROC(glReadnPixelsARB, name);
            GETPROC(glGetnCompressedTexImageARB, name);
            GETPROC(glGetnUniformfvARB, name);
            GETPROC(glGetnUniformivARB, name);
            GETPROC(glGetnUniformuivARB, name);
            GETPROC(glGetnUniformdvARB, name);
            GETPROC(glFramebufferSampleLocationsfvARB, name);
            GETPROC(glNamedFramebufferSampleLocationsfvARB, name);
            GETPROC(glEvaluateDepthValuesARB, name);
            GETPROC(glMinSampleShadingARB, name);
            GETPROC(glNamedStringARB, name);
            GETPROC(glDeleteNamedStringARB, name);
            GETPROC(glCompileShaderIncludeARB, name);
            GETPROC(glIsNamedStringARB, name);
            GETPROC(glGetNamedStringARB, name);
            GETPROC(glGetNamedStringivARB, name);
            GETPROC(glBufferPageCommitmentARB, name);
            GETPROC(glNamedBufferPageCommitmentEXT, name);
            GETPROC(glNamedBufferPageCommitmentARB, name);
            GETPROC(glTexPageCommitmentARB, name);
            GETPROC(glTexBufferARB, name);
            GETPROC(glDepthRangeArraydvNV, name);
            GETPROC(glDepthRangeIndexeddNV, name);
            GETPROC(glBlendBarrierKHR, name);
            GETPROC(glMaxShaderCompilerThreadsKHR, name);
            GETPROC(glRenderbufferStorageMultisampleAdvancedAMD, name);
            GETPROC(glNamedRenderbufferStorageMultisampleAdvancedAMD, name);
            GETPROC(glGetPerfMonitorGroupsAMD, name);
            GETPROC(glGetPerfMonitorCountersAMD, name);
            GETPROC(glGetPerfMonitorGroupStringAMD, name);
            GETPROC(glGetPerfMonitorCounterStringAMD, name);
            GETPROC(glGetPerfMonitorCounterInfoAMD, name);
            GETPROC(glGenPerfMonitorsAMD, name);
            GETPROC(glDeletePerfMonitorsAMD, name);
            GETPROC(glSelectPerfMonitorCountersAMD, name);
            GETPROC(glBeginPerfMonitorAMD, name);
            GETPROC(glEndPerfMonitorAMD, name);
            GETPROC(glGetPerfMonitorCounterDataAMD, name);
            GETPROC(glEGLImageTargetTexStorageEXT, name);
            GETPROC(glEGLImageTargetTextureStorageEXT, name);
            GETPROC(glLabelObjectEXT, name);
            GETPROC(glGetObjectLabelEXT, name);
            GETPROC(glInsertEventMarkerEXT, name);
            GETPROC(glPushGroupMarkerEXT, name);
            GETPROC(glPopGroupMarkerEXT, name);
            GETPROC(glMatrixLoadfEXT, name);
            GETPROC(glMatrixLoaddEXT, name);
            GETPROC(glMatrixMultfEXT, name);
            GETPROC(glMatrixMultdEXT, name);
            GETPROC(glMatrixLoadIdentityEXT, name);
            GETPROC(glMatrixRotatefEXT, name);
            GETPROC(glMatrixRotatedEXT, name);
            GETPROC(glMatrixScalefEXT, name);
            GETPROC(glMatrixScaledEXT, name);
            GETPROC(glMatrixTranslatefEXT, name);
            GETPROC(glMatrixTranslatedEXT, name);
            GETPROC(glMatrixFrustumEXT, name);
            GETPROC(glMatrixOrthoEXT, name);
            GETPROC(glMatrixPopEXT, name);
            GETPROC(glMatrixPushEXT, name);
            GETPROC(glClientAttribDefaultEXT, name);
            GETPROC(glPushClientAttribDefaultEXT, name);
            GETPROC(glTextureParameterfEXT, name);
            GETPROC(glTextureParameterfvEXT, name);
            GETPROC(glTextureParameteriEXT, name);
            GETPROC(glTextureParameterivEXT, name);
            GETPROC(glTextureImage1DEXT, name);
            GETPROC(glTextureImage2DEXT, name);
            GETPROC(glTextureSubImage1DEXT, name);
            GETPROC(glTextureSubImage2DEXT, name);
            GETPROC(glCopyTextureImage1DEXT, name);
            GETPROC(glCopyTextureImage2DEXT, name);
            GETPROC(glCopyTextureSubImage1DEXT, name);
            GETPROC(glCopyTextureSubImage2DEXT, name);
            GETPROC(glGetTextureImageEXT, name);
            GETPROC(glGetTextureParameterfvEXT, name);
            GETPROC(glGetTextureParameterivEXT, name);
            GETPROC(glGetTextureLevelParameterfvEXT, name);
            GETPROC(glGetTextureLevelParameterivEXT, name);
            GETPROC(glTextureImage3DEXT, name);
            GETPROC(glTextureSubImage3DEXT, name);
            GETPROC(glCopyTextureSubImage3DEXT, name);
            GETPROC(glBindMultiTextureEXT, name);
            GETPROC(glMultiTexCoordPointerEXT, name);
            GETPROC(glMultiTexEnvfEXT, name);
            GETPROC(glMultiTexEnvfvEXT, name);
            GETPROC(glMultiTexEnviEXT, name);
            GETPROC(glMultiTexEnvivEXT, name);
            GETPROC(glMultiTexGendEXT, name);
            GETPROC(glMultiTexGendvEXT, name);
            GETPROC(glMultiTexGenfEXT, name);
            GETPROC(glMultiTexGenfvEXT, name);
            GETPROC(glMultiTexGeniEXT, name);
            GETPROC(glMultiTexGenivEXT, name);
            GETPROC(glGetMultiTexEnvfvEXT, name);
            GETPROC(glGetMultiTexEnvivEXT, name);
            GETPROC(glGetMultiTexGendvEXT, name);
            GETPROC(glGetMultiTexGenfvEXT, name);
            GETPROC(glGetMultiTexGenivEXT, name);
            GETPROC(glMultiTexParameteriEXT, name);
            GETPROC(glMultiTexParameterivEXT, name);
            GETPROC(glMultiTexParameterfEXT, name);
            GETPROC(glMultiTexParameterfvEXT, name);
            GETPROC(glMultiTexImage1DEXT, name);
            GETPROC(glMultiTexImage2DEXT, name);
            GETPROC(glMultiTexSubImage1DEXT, name);
            GETPROC(glMultiTexSubImage2DEXT, name);
            GETPROC(glCopyMultiTexImage1DEXT, name);
            GETPROC(glCopyMultiTexImage2DEXT, name);
            GETPROC(glCopyMultiTexSubImage1DEXT, name);
            GETPROC(glCopyMultiTexSubImage2DEXT, name);
            GETPROC(glGetMultiTexImageEXT, name);
            GETPROC(glGetMultiTexParameterfvEXT, name);
            GETPROC(glGetMultiTexParameterivEXT, name);
            GETPROC(glGetMultiTexLevelParameterfvEXT, name);
            GETPROC(glGetMultiTexLevelParameterivEXT, name);
            GETPROC(glMultiTexImage3DEXT, name);
            GETPROC(glMultiTexSubImage3DEXT, name);
            GETPROC(glCopyMultiTexSubImage3DEXT, name);
            GETPROC(glEnableClientStateIndexedEXT, name);
            GETPROC(glDisableClientStateIndexedEXT, name);
            GETPROC(glGetFloatIndexedvEXT, name);
            GETPROC(glGetDoubleIndexedvEXT, name);
            GETPROC(glGetPointerIndexedvEXT, name);
            GETPROC(glEnableIndexedEXT, name);
            GETPROC(glDisableIndexedEXT, name);
            GETPROC(glIsEnabledIndexedEXT, name);
            GETPROC(glGetIntegerIndexedvEXT, name);
            GETPROC(glGetBooleanIndexedvEXT, name);
            GETPROC(glCompressedTextureImage3DEXT, name);
            GETPROC(glCompressedTextureImage2DEXT, name);
            GETPROC(glCompressedTextureImage1DEXT, name);
            GETPROC(glCompressedTextureSubImage3DEXT, name);
            GETPROC(glCompressedTextureSubImage2DEXT, name);
            GETPROC(glCompressedTextureSubImage1DEXT, name);
            GETPROC(glGetCompressedTextureImageEXT, name);
            GETPROC(glCompressedMultiTexImage3DEXT, name);
            GETPROC(glCompressedMultiTexImage2DEXT, name);
            GETPROC(glCompressedMultiTexImage1DEXT, name);
            GETPROC(glCompressedMultiTexSubImage3DEXT, name);
            GETPROC(glCompressedMultiTexSubImage2DEXT, name);
            GETPROC(glCompressedMultiTexSubImage1DEXT, name);
            GETPROC(glGetCompressedMultiTexImageEXT, name);
            GETPROC(glMatrixLoadTransposefEXT, name);
            GETPROC(glMatrixLoadTransposedEXT, name);
            GETPROC(glMatrixMultTransposefEXT, name);
            GETPROC(glMatrixMultTransposedEXT, name);
            GETPROC(glNamedBufferDataEXT, name);
            GETPROC(glNamedBufferSubDataEXT, name);
            GETPROC(glMapNamedBufferEXT, name);
            GETPROC(glUnmapNamedBufferEXT, name);
            GETPROC(glGetNamedBufferParameterivEXT, name);
            GETPROC(glGetNamedBufferPointervEXT, name);
            GETPROC(glGetNamedBufferSubDataEXT, name);
            GETPROC(glProgramUniform1fEXT, name);
            GETPROC(glProgramUniform2fEXT, name);
            GETPROC(glProgramUniform3fEXT, name);
            GETPROC(glProgramUniform4fEXT, name);
            GETPROC(glProgramUniform1iEXT, name);
            GETPROC(glProgramUniform2iEXT, name);
            GETPROC(glProgramUniform3iEXT, name);
            GETPROC(glProgramUniform4iEXT, name);
            GETPROC(glProgramUniform1fvEXT, name);
            GETPROC(glProgramUniform2fvEXT, name);
            GETPROC(glProgramUniform3fvEXT, name);
            GETPROC(glProgramUniform4fvEXT, name);
            GETPROC(glProgramUniform1ivEXT, name);
            GETPROC(glProgramUniform2ivEXT, name);
            GETPROC(glProgramUniform3ivEXT, name);
            GETPROC(glProgramUniform4ivEXT, name);
            GETPROC(glProgramUniformMatrix2fvEXT, name);
            GETPROC(glProgramUniformMatrix3fvEXT, name);
            GETPROC(glProgramUniformMatrix4fvEXT, name);
            GETPROC(glProgramUniformMatrix2x3fvEXT, name);
            GETPROC(glProgramUniformMatrix3x2fvEXT, name);
            GETPROC(glProgramUniformMatrix2x4fvEXT, name);
            GETPROC(glProgramUniformMatrix4x2fvEXT, name);
            GETPROC(glProgramUniformMatrix3x4fvEXT, name);
            GETPROC(glProgramUniformMatrix4x3fvEXT, name);
            GETPROC(glTextureBufferEXT, name);
            GETPROC(glMultiTexBufferEXT, name);
            GETPROC(glTextureParameterIivEXT, name);
            GETPROC(glTextureParameterIuivEXT, name);
            GETPROC(glGetTextureParameterIivEXT, name);
            GETPROC(glGetTextureParameterIuivEXT, name);
            GETPROC(glMultiTexParameterIivEXT, name);
            GETPROC(glMultiTexParameterIuivEXT, name);
            GETPROC(glGetMultiTexParameterIivEXT, name);
            GETPROC(glGetMultiTexParameterIuivEXT, name);
            GETPROC(glProgramUniform1uiEXT, name);
            GETPROC(glProgramUniform2uiEXT, name);
            GETPROC(glProgramUniform3uiEXT, name);
            GETPROC(glProgramUniform4uiEXT, name);
            GETPROC(glProgramUniform1uivEXT, name);
            GETPROC(glProgramUniform2uivEXT, name);
            GETPROC(glProgramUniform3uivEXT, name);
            GETPROC(glProgramUniform4uivEXT, name);
            GETPROC(glNamedProgramLocalParameters4fvEXT, name);
            GETPROC(glNamedProgramLocalParameterI4iEXT, name);
            GETPROC(glNamedProgramLocalParameterI4ivEXT, name);
            GETPROC(glNamedProgramLocalParametersI4ivEXT, name);
            GETPROC(glNamedProgramLocalParameterI4uiEXT, name);
            GETPROC(glNamedProgramLocalParameterI4uivEXT, name);
            GETPROC(glNamedProgramLocalParametersI4uivEXT, name);
            GETPROC(glGetNamedProgramLocalParameterIivEXT, name);
            GETPROC(glGetNamedProgramLocalParameterIuivEXT, name);
            GETPROC(glEnableClientStateiEXT, name);
            GETPROC(glDisableClientStateiEXT, name);
            GETPROC(glGetFloati_vEXT, name);
            GETPROC(glGetDoublei_vEXT, name);
            GETPROC(glGetPointeri_vEXT, name);
            GETPROC(glNamedProgramStringEXT, name);
            GETPROC(glNamedProgramLocalParameter4dEXT, name);
            GETPROC(glNamedProgramLocalParameter4dvEXT, name);
            GETPROC(glNamedProgramLocalParameter4fEXT, name);
            GETPROC(glNamedProgramLocalParameter4fvEXT, name);
            GETPROC(glGetNamedProgramLocalParameterdvEXT, name);
            GETPROC(glGetNamedProgramLocalParameterfvEXT, name);
            GETPROC(glGetNamedProgramivEXT, name);
            GETPROC(glGetNamedProgramStringEXT, name);
            GETPROC(glNamedRenderbufferStorageEXT, name);
            GETPROC(glGetNamedRenderbufferParameterivEXT, name);
            GETPROC(glNamedRenderbufferStorageMultisampleEXT, name);
            GETPROC(glNamedRenderbufferStorageMultisampleCoverageEXT, name);
            GETPROC(glCheckNamedFramebufferStatusEXT, name);
            GETPROC(glNamedFramebufferTexture1DEXT, name);
            GETPROC(glNamedFramebufferTexture2DEXT, name);
            GETPROC(glNamedFramebufferTexture3DEXT, name);
            GETPROC(glNamedFramebufferRenderbufferEXT, name);
            GETPROC(glGetNamedFramebufferAttachmentParameterivEXT, name);
            GETPROC(glGenerateTextureMipmapEXT, name);
            GETPROC(glGenerateMultiTexMipmapEXT, name);
            GETPROC(glFramebufferDrawBufferEXT, name);
            GETPROC(glFramebufferDrawBuffersEXT, name);
            GETPROC(glFramebufferReadBufferEXT, name);
            GETPROC(glGetFramebufferParameterivEXT, name);
            GETPROC(glNamedCopyBufferSubDataEXT, name);
            GETPROC(glNamedFramebufferTextureEXT, name);
            GETPROC(glNamedFramebufferTextureLayerEXT, name);
            GETPROC(glNamedFramebufferTextureFaceEXT, name);
            GETPROC(glTextureRenderbufferEXT, name);
            GETPROC(glMultiTexRenderbufferEXT, name);
            GETPROC(glVertexArrayVertexOffsetEXT, name);
            GETPROC(glVertexArrayColorOffsetEXT, name);
            GETPROC(glVertexArrayEdgeFlagOffsetEXT, name);
            GETPROC(glVertexArrayIndexOffsetEXT, name);
            GETPROC(glVertexArrayNormalOffsetEXT, name);
            GETPROC(glVertexArrayTexCoordOffsetEXT, name);
            GETPROC(glVertexArrayMultiTexCoordOffsetEXT, name);
            GETPROC(glVertexArrayFogCoordOffsetEXT, name);
            GETPROC(glVertexArraySecondaryColorOffsetEXT, name);
            GETPROC(glVertexArrayVertexAttribOffsetEXT, name);
            GETPROC(glVertexArrayVertexAttribIOffsetEXT, name);
            GETPROC(glEnableVertexArrayEXT, name);
            GETPROC(glDisableVertexArrayEXT, name);
            GETPROC(glEnableVertexArrayAttribEXT, name);
            GETPROC(glDisableVertexArrayAttribEXT, name);
            GETPROC(glGetVertexArrayIntegervEXT, name);
            GETPROC(glGetVertexArrayPointervEXT, name);
            GETPROC(glGetVertexArrayIntegeri_vEXT, name);
            GETPROC(glGetVertexArrayPointeri_vEXT, name);
            GETPROC(glMapNamedBufferRangeEXT, name);
            GETPROC(glFlushMappedNamedBufferRangeEXT, name);
            GETPROC(glNamedBufferStorageEXT, name);
            GETPROC(glClearNamedBufferDataEXT, name);
            GETPROC(glClearNamedBufferSubDataEXT, name);
            GETPROC(glNamedFramebufferParameteriEXT, name);
            GETPROC(glGetNamedFramebufferParameterivEXT, name);
            GETPROC(glProgramUniform1dEXT, name);
            GETPROC(glProgramUniform2dEXT, name);
            GETPROC(glProgramUniform3dEXT, name);
            GETPROC(glProgramUniform4dEXT, name);
            GETPROC(glProgramUniform1dvEXT, name);
            GETPROC(glProgramUniform2dvEXT, name);
            GETPROC(glProgramUniform3dvEXT, name);
            GETPROC(glProgramUniform4dvEXT, name);
            GETPROC(glProgramUniformMatrix2dvEXT, name);
            GETPROC(glProgramUniformMatrix3dvEXT, name);
            GETPROC(glProgramUniformMatrix4dvEXT, name);
            GETPROC(glProgramUniformMatrix2x3dvEXT, name);
            GETPROC(glProgramUniformMatrix2x4dvEXT, name);
            GETPROC(glProgramUniformMatrix3x2dvEXT, name);
            GETPROC(glProgramUniformMatrix3x4dvEXT, name);
            GETPROC(glProgramUniformMatrix4x2dvEXT, name);
            GETPROC(glProgramUniformMatrix4x3dvEXT, name);
            GETPROC(glTextureBufferRangeEXT, name);
            GETPROC(glTextureStorage1DEXT, name);
            GETPROC(glTextureStorage2DEXT, name);
            GETPROC(glTextureStorage3DEXT, name);
            GETPROC(glTextureStorage2DMultisampleEXT, name);
            GETPROC(glTextureStorage3DMultisampleEXT, name);
            GETPROC(glVertexArrayBindVertexBufferEXT, name);
            GETPROC(glVertexArrayVertexAttribFormatEXT, name);
            GETPROC(glVertexArrayVertexAttribIFormatEXT, name);
            GETPROC(glVertexArrayVertexAttribLFormatEXT, name);
            GETPROC(glVertexArrayVertexAttribBindingEXT, name);
            GETPROC(glVertexArrayVertexBindingDivisorEXT, name);
            GETPROC(glVertexArrayVertexAttribLOffsetEXT, name);
            GETPROC(glTexturePageCommitmentEXT, name);
            GETPROC(glVertexArrayVertexAttribDivisorEXT, name);
            GETPROC(glDrawArraysInstancedEXT, name);
            GETPROC(glDrawElementsInstancedEXT, name);
            // GETPROC(glGetFragmentShadingRatesEXT, name);
            // GETPROC(glShadingRateEXT, name);
            // GETPROC(glShadingRateCombinerOpsEXT, name);
            // GETPROC(glFramebufferShadingRateEXT, name);
            // GETPROC(glDrawMeshTasksEXT, name);
            // GETPROC(glDrawMeshTasksIndirectEXT, name);
            // GETPROC(glMultiDrawMeshTasksIndirectEXT, name);
            // GETPROC(glMultiDrawMeshTasksIndirectCountEXT, name);
            GETPROC(glPolygonOffsetClampEXT, name);
            GETPROC(glRasterSamplesEXT, name);
            GETPROC(glUseShaderProgramEXT, name);
            GETPROC(glActiveProgramEXT, name);
            GETPROC(glCreateShaderProgramEXT, name);
            GETPROC(glFramebufferFetchBarrierEXT, name);
            GETPROC(glTexStorage1DEXT, name);
            GETPROC(glTexStorage2DEXT, name);
            GETPROC(glTexStorage3DEXT, name);
            GETPROC(glWindowRectanglesEXT, name);
            GETPROC(glApplyFramebufferAttachmentCMAAINTEL, name);
            GETPROC(glBeginPerfQueryINTEL, name);
            GETPROC(glCreatePerfQueryINTEL, name);
            GETPROC(glDeletePerfQueryINTEL, name);
            GETPROC(glEndPerfQueryINTEL, name);
            GETPROC(glGetFirstPerfQueryIdINTEL, name);
            GETPROC(glGetNextPerfQueryIdINTEL, name);
            GETPROC(glGetPerfCounterInfoINTEL, name);
            GETPROC(glGetPerfQueryDataINTEL, name);
            GETPROC(glGetPerfQueryIdByNameINTEL, name);
            GETPROC(glGetPerfQueryInfoINTEL, name);
            GETPROC(glFramebufferParameteriMESA, name);
            GETPROC(glGetFramebufferParameterivMESA, name);
            GETPROC(glMultiDrawArraysIndirectBindlessNV, name);
            GETPROC(glMultiDrawElementsIndirectBindlessNV, name);
            GETPROC(glMultiDrawArraysIndirectBindlessCountNV, name);
            GETPROC(glMultiDrawElementsIndirectBindlessCountNV, name);
            GETPROC(glGetTextureHandleNV, name);
            GETPROC(glGetTextureSamplerHandleNV, name);
            GETPROC(glMakeTextureHandleResidentNV, name);
            GETPROC(glMakeTextureHandleNonResidentNV, name);
            GETPROC(glGetImageHandleNV, name);
            GETPROC(glMakeImageHandleResidentNV, name);
            GETPROC(glMakeImageHandleNonResidentNV, name);
            GETPROC(glUniformHandleui64NV, name);
            GETPROC(glUniformHandleui64vNV, name);
            GETPROC(glProgramUniformHandleui64NV, name);
            GETPROC(glProgramUniformHandleui64vNV, name);
            GETPROC(glIsTextureHandleResidentNV, name);
            GETPROC(glIsImageHandleResidentNV, name);
            GETPROC(glBlendParameteriNV, name);
            GETPROC(glBlendBarrierNV, name);
            GETPROC(glViewportPositionWScaleNV, name);
            GETPROC(glCreateStatesNV, name);
            GETPROC(glDeleteStatesNV, name);
            GETPROC(glIsStateNV, name);
            GETPROC(glStateCaptureNV, name);
            GETPROC(glGetCommandHeaderNV, name);
            GETPROC(glGetStageIndexNV, name);
            GETPROC(glDrawCommandsNV, name);
            GETPROC(glDrawCommandsAddressNV, name);
            GETPROC(glDrawCommandsStatesNV, name);
            GETPROC(glDrawCommandsStatesAddressNV, name);
            GETPROC(glCreateCommandListsNV, name);
            GETPROC(glDeleteCommandListsNV, name);
            GETPROC(glIsCommandListNV, name);
            GETPROC(glListDrawCommandsStatesClientNV, name);
            GETPROC(glCommandListSegmentsNV, name);
            GETPROC(glCompileCommandListNV, name);
            GETPROC(glCallCommandListNV, name);
            GETPROC(glBeginConditionalRenderNV, name);
            GETPROC(glEndConditionalRenderNV, name);
            GETPROC(glSubpixelPrecisionBiasNV, name);
            GETPROC(glConservativeRasterParameterfNV, name);
            GETPROC(glConservativeRasterParameteriNV, name);
            GETPROC(glDepthRangedNV, name);
            GETPROC(glClearDepthdNV, name);
            GETPROC(glDepthBoundsdNV, name);
            GETPROC(glDrawVkImageNV, name);
            GETPROC(glGetVkProcAddrNV, name);
            GETPROC(glWaitVkSemaphoreNV, name);
            GETPROC(glSignalVkSemaphoreNV, name);
            GETPROC(glSignalVkFenceNV, name);
            GETPROC(glFragmentCoverageColorNV, name);
            GETPROC(glCoverageModulationTableNV, name);
            GETPROC(glGetCoverageModulationTableNV, name);
            GETPROC(glCoverageModulationNV, name);
            GETPROC(glRenderbufferStorageMultisampleCoverageNV, name);
            GETPROC(glUniform1i64NV, name);
            GETPROC(glUniform2i64NV, name);
            GETPROC(glUniform3i64NV, name);
            GETPROC(glUniform4i64NV, name);
            GETPROC(glUniform1i64vNV, name);
            GETPROC(glUniform2i64vNV, name);
            GETPROC(glUniform3i64vNV, name);
            GETPROC(glUniform4i64vNV, name);
            GETPROC(glUniform1ui64NV, name);
            GETPROC(glUniform2ui64NV, name);
            GETPROC(glUniform3ui64NV, name);
            GETPROC(glUniform4ui64NV, name);
            GETPROC(glUniform1ui64vNV, name);
            GETPROC(glUniform2ui64vNV, name);
            GETPROC(glUniform3ui64vNV, name);
            GETPROC(glUniform4ui64vNV, name);
            GETPROC(glGetUniformi64vNV, name);
            GETPROC(glProgramUniform1i64NV, name);
            GETPROC(glProgramUniform2i64NV, name);
            GETPROC(glProgramUniform3i64NV, name);
            GETPROC(glProgramUniform4i64NV, name);
            GETPROC(glProgramUniform1i64vNV, name);
            GETPROC(glProgramUniform2i64vNV, name);
            GETPROC(glProgramUniform3i64vNV, name);
            GETPROC(glProgramUniform4i64vNV, name);
            GETPROC(glProgramUniform1ui64NV, name);
            GETPROC(glProgramUniform2ui64NV, name);
            GETPROC(glProgramUniform3ui64NV, name);
            GETPROC(glProgramUniform4ui64NV, name);
            GETPROC(glProgramUniform1ui64vNV, name);
            GETPROC(glProgramUniform2ui64vNV, name);
            GETPROC(glProgramUniform3ui64vNV, name);
            GETPROC(glProgramUniform4ui64vNV, name);
            GETPROC(glGetInternalformatSampleivNV, name);
            GETPROC(glGetMemoryObjectDetachedResourcesuivNV, name);
            GETPROC(glResetMemoryObjectParameterNV, name);
            GETPROC(glTexAttachMemoryNV, name);
            GETPROC(glBufferAttachMemoryNV, name);
            GETPROC(glTextureAttachMemoryNV, name);
            GETPROC(glNamedBufferAttachMemoryNV, name);
            GETPROC(glBufferPageCommitmentMemNV, name);
            GETPROC(glTexPageCommitmentMemNV, name);
            GETPROC(glNamedBufferPageCommitmentMemNV, name);
            GETPROC(glTexturePageCommitmentMemNV, name);
            GETPROC(glDrawMeshTasksNV, name);
            GETPROC(glDrawMeshTasksIndirectNV, name);
            GETPROC(glMultiDrawMeshTasksIndirectNV, name);
            GETPROC(glMultiDrawMeshTasksIndirectCountNV, name);
            GETPROC(glGenPathsNV, name);
            GETPROC(glDeletePathsNV, name);
            GETPROC(glIsPathNV, name);
            GETPROC(glPathCommandsNV, name);
            GETPROC(glPathCoordsNV, name);
            GETPROC(glPathSubCommandsNV, name);
            GETPROC(glPathSubCoordsNV, name);
            GETPROC(glPathStringNV, name);
            GETPROC(glPathGlyphsNV, name);
            GETPROC(glPathGlyphRangeNV, name);
            GETPROC(glWeightPathsNV, name);
            GETPROC(glCopyPathNV, name);
            GETPROC(glInterpolatePathsNV, name);
            GETPROC(glTransformPathNV, name);
            GETPROC(glPathParameterivNV, name);
            GETPROC(glPathParameteriNV, name);
            GETPROC(glPathParameterfvNV, name);
            GETPROC(glPathParameterfNV, name);
            GETPROC(glPathDashArrayNV, name);
            GETPROC(glPathStencilFuncNV, name);
            GETPROC(glPathStencilDepthOffsetNV, name);
            GETPROC(glStencilFillPathNV, name);
            GETPROC(glStencilStrokePathNV, name);
            GETPROC(glStencilFillPathInstancedNV, name);
            GETPROC(glStencilStrokePathInstancedNV, name);
            GETPROC(glPathCoverDepthFuncNV, name);
            GETPROC(glCoverFillPathNV, name);
            GETPROC(glCoverStrokePathNV, name);
            GETPROC(glCoverFillPathInstancedNV, name);
            GETPROC(glCoverStrokePathInstancedNV, name);
            GETPROC(glGetPathParameterivNV, name);
            GETPROC(glGetPathParameterfvNV, name);
            GETPROC(glGetPathCommandsNV, name);
            GETPROC(glGetPathCoordsNV, name);
            GETPROC(glGetPathDashArrayNV, name);
            GETPROC(glGetPathMetricsNV, name);
            GETPROC(glGetPathMetricRangeNV, name);
            GETPROC(glGetPathSpacingNV, name);
            GETPROC(glIsPointInFillPathNV, name);
            GETPROC(glIsPointInStrokePathNV, name);
            GETPROC(glGetPathLengthNV, name);
            GETPROC(glPointAlongPathNV, name);
            GETPROC(glMatrixLoad3x2fNV, name);
            GETPROC(glMatrixLoad3x3fNV, name);
            GETPROC(glMatrixLoadTranspose3x3fNV, name);
            GETPROC(glMatrixMult3x2fNV, name);
            GETPROC(glMatrixMult3x3fNV, name);
            GETPROC(glMatrixMultTranspose3x3fNV, name);
            GETPROC(glStencilThenCoverFillPathNV, name);
            GETPROC(glStencilThenCoverStrokePathNV, name);
            GETPROC(glStencilThenCoverFillPathInstancedNV, name);
            GETPROC(glStencilThenCoverStrokePathInstancedNV, name);
            GETPROC(glPathGlyphIndexRangeNV, name);
            GETPROC(glPathGlyphIndexArrayNV, name);
            GETPROC(glPathMemoryGlyphIndexArrayNV, name);
            GETPROC(glProgramPathFragmentInputGenNV, name);
            GETPROC(glGetProgramResourcefvNV, name);
            GETPROC(glFramebufferSampleLocationsfvNV, name);
            GETPROC(glNamedFramebufferSampleLocationsfvNV, name);
            GETPROC(glResolveDepthValuesNV, name);
            GETPROC(glScissorExclusiveNV, name);
            GETPROC(glScissorExclusiveArrayvNV, name);
            GETPROC(glMakeBufferResidentNV, name);
            GETPROC(glMakeBufferNonResidentNV, name);
            GETPROC(glIsBufferResidentNV, name);
            GETPROC(glMakeNamedBufferResidentNV, name);
            GETPROC(glMakeNamedBufferNonResidentNV, name);
            GETPROC(glIsNamedBufferResidentNV, name);
            GETPROC(glGetBufferParameterui64vNV, name);
            GETPROC(glGetNamedBufferParameterui64vNV, name);
            GETPROC(glGetIntegerui64vNV, name);
            GETPROC(glUniformui64NV, name);
            GETPROC(glUniformui64vNV, name);
            GETPROC(glGetUniformui64vNV, name);
            GETPROC(glProgramUniformui64NV, name);
            GETPROC(glProgramUniformui64vNV, name);
            GETPROC(glBindShadingRateImageNV, name);
            GETPROC(glGetShadingRateImagePaletteNV, name);
            GETPROC(glGetShadingRateSampleLocationivNV, name);
            GETPROC(glShadingRateImageBarrierNV, name);
            GETPROC(glShadingRateImagePaletteNV, name);
            GETPROC(glShadingRateSampleOrderNV, name);
            GETPROC(glShadingRateSampleOrderCustomNV, name);
            GETPROC(glTextureBarrierNV, name);
            GETPROC(glVertexAttribL1i64NV, name);
            GETPROC(glVertexAttribL2i64NV, name);
            GETPROC(glVertexAttribL3i64NV, name);
            GETPROC(glVertexAttribL4i64NV, name);
            GETPROC(glVertexAttribL1i64vNV, name);
            GETPROC(glVertexAttribL2i64vNV, name);
            GETPROC(glVertexAttribL3i64vNV, name);
            GETPROC(glVertexAttribL4i64vNV, name);
            GETPROC(glVertexAttribL1ui64NV, name);
            GETPROC(glVertexAttribL2ui64NV, name);
            GETPROC(glVertexAttribL3ui64NV, name);
            GETPROC(glVertexAttribL4ui64NV, name);
            GETPROC(glVertexAttribL1ui64vNV, name);
            GETPROC(glVertexAttribL2ui64vNV, name);
            GETPROC(glVertexAttribL3ui64vNV, name);
            GETPROC(glVertexAttribL4ui64vNV, name);
            GETPROC(glGetVertexAttribLi64vNV, name);
            GETPROC(glGetVertexAttribLui64vNV, name);
            GETPROC(glVertexAttribLFormatNV, name);
            GETPROC(glBufferAddressRangeNV, name);
            GETPROC(glVertexFormatNV, name);
            GETPROC(glNormalFormatNV, name);
            GETPROC(glColorFormatNV, name);
            GETPROC(glIndexFormatNV, name);
            GETPROC(glTexCoordFormatNV, name);
            GETPROC(glEdgeFlagFormatNV, name);
            GETPROC(glSecondaryColorFormatNV, name);
            GETPROC(glFogCoordFormatNV, name);
            GETPROC(glVertexAttribFormatNV, name);
            GETPROC(glVertexAttribIFormatNV, name);
            GETPROC(glGetIntegerui64i_vNV, name);
            GETPROC(glViewportSwizzleNV, name);
            GETPROC(glFramebufferTextureMultiviewOVR, name);
            // GETPROC(glNamedFramebufferTextureMultiviewOVR, name);

            MGLOG_W("GetProcAddress(%s) = nullptr!", name);
            return nullptr;
        }
    } // namespace MG_Impl
} // namespace MobileGL