Files
MobileGL/MobileGL/MG_Impl/GetProcAddress.cpp
T

1410 lines
64 KiB
C++

// 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"
#if defined(__APPLE__) && !defined(MOBILEGL_IOS)
#ifndef GL_SILENCE_DEPRECATION
#define GL_SILENCE_DEPRECATION
#endif
#include <OpenGL/OpenGL.h>
#endif
extern "C" EGLDisplay eglGetPlatformDisplayEXT(EGLenum platform, void* native_display, const EGLint* attrib_list);
#define GETPROC(name, var) \
if (strcmp(#name, var) == 0) { \
return (void*)name; \
}
namespace MobileGL::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(eglGetPlatformDisplayEXT, name);
GETPROC(eglCreatePlatformWindowSurface, name);
GETPROC(eglCreatePlatformPixmapSurface, name);
GETPROC(eglWaitSync, name);
#if defined(__APPLE__) && !defined(MOBILEGL_IOS)
GETPROC(CGLChoosePixelFormat, name);
GETPROC(CGLDestroyPixelFormat, name);
GETPROC(CGLDescribePixelFormat, name);
GETPROC(CGLReleasePixelFormat, name);
GETPROC(CGLRetainPixelFormat, name);
GETPROC(CGLGetPixelFormatRetainCount, name);
GETPROC(CGLCreateContext, name);
GETPROC(CGLDestroyContext, name);
GETPROC(CGLRetainContext, name);
GETPROC(CGLReleaseContext, name);
GETPROC(CGLGetContextRetainCount, name);
GETPROC(CGLGetPixelFormat, name);
GETPROC(CGLSetCurrentContext, name);
GETPROC(CGLGetCurrentContext, name);
GETPROC(CGLSetVirtualScreen, name);
GETPROC(CGLGetVirtualScreen, name);
GETPROC(CGLSetParameter, name);
GETPROC(CGLGetParameter, name);
GETPROC(CGLUpdateContext, name);
GETPROC(CGLClearDrawable, name);
GETPROC(CGLFlushDrawable, name);
GETPROC(CGLLockContext, name);
GETPROC(CGLUnlockContext, name);
GETPROC(CGLGetVersion, name);
GETPROC(CGLErrorString, name);
#endif
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(glIsRenderbufferEXT, name);
GETPROC(glBindRenderbuffer, name);
GETPROC(glBindRenderbufferEXT, name);
GETPROC(glDeleteRenderbuffers, name);
GETPROC(glDeleteRenderbuffersEXT, name);
GETPROC(glGenRenderbuffers, name);
GETPROC(glGenRenderbuffersEXT, name);
GETPROC(glRenderbufferStorage, name);
GETPROC(glRenderbufferStorageEXT, name);
GETPROC(glGetRenderbufferParameteriv, name);
GETPROC(glGetRenderbufferParameterivEXT, name);
GETPROC(glIsFramebuffer, name);
GETPROC(glIsFramebufferEXT, name);
GETPROC(glBindFramebuffer, name);
GETPROC(glBindFramebufferEXT, name);
GETPROC(glDeleteFramebuffers, name);
GETPROC(glDeleteFramebuffersEXT, name);
GETPROC(glGenFramebuffers, name);
GETPROC(glGenFramebuffersEXT, name);
GETPROC(glCheckFramebufferStatus, name);
GETPROC(glCheckFramebufferStatusEXT, name);
GETPROC(glFramebufferTexture1D, name);
GETPROC(glFramebufferTexture1DEXT, name);
GETPROC(glFramebufferTexture2D, name);
GETPROC(glFramebufferTexture2DEXT, name);
GETPROC(glFramebufferTexture3D, name);
GETPROC(glFramebufferTexture3DEXT, name);
GETPROC(glFramebufferRenderbuffer, name);
GETPROC(glFramebufferRenderbufferEXT, name);
GETPROC(glGetFramebufferAttachmentParameteriv, name);
GETPROC(glGetFramebufferAttachmentParameterivEXT, name);
GETPROC(glGenerateMipmap, name);
GETPROC(glGenerateMipmapEXT, 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_D("GetProcAddress(%s) = nullptr!", name);
return nullptr;
}
} // namespace MobileGL::MG_Impl