orca/src/graphics/gl_api.h

1124 lines
59 KiB
C
Raw Normal View History

This commit restructures the codebase to melt the milepost platform layer into the main orca codebase. Here's a list of commits squashed in this update: - move angle files to ext/ and pull includes/libs from there when needed - remove milepost/ext/angle_headers - Collapsed milepost/ext into ext - Collapse milepost/scripts into scripts/ - collapse milepost/resources into resources/. WARN: this temporarily breaks milepost's native examples - collapse milepost/test into test/ - renamed test/ to tests/ - build milepost directly into build/bin - remove unused GLES and KHR folders from sdk/ - reorganizing milepost directory tree into app, graphics, platfrom, ui, util - collapse milepost/src to src/ - Move all native examples to sketches/ and remove milepost repo - Moving sketches resources into their own shared folder separate from the runtime's resource folder - Moving all binding code to src/wasmbind - Moving all binding code to src/wasmbind - pong: fix typo in error log - fixing log parameter order - add error logs to mg_image_create_* - Fix build scripts on windows - fixed include mistake after rebase - collapsing milepost.{h|c|m} to orca.{h|c|m} and moving from sdk/ to src/ - rename orca_app.h/main.c to runtime.h/c - collapsed sdk/ to src/ - put old sdk files into their respective dirs - renamed canvas_api.json to surface_api.json - moved all stb headers in ext/stb/ - remove unused OpenSansLatinSubset.ttf font - moving cstdlib to src/wasmlibc and removing some duplicates with src/platform - move libc stdarg and string functions from platform/ to wasmlibc/ - rename wasmlibc to libc-shim to reflect non-completeness - Expose abort/assert variadic functions and macros to orca apps, and forward libc-shim abort/assert to these - move Orca API runtime implementations to runtime_xxx - fix missing math constants when including math.h with msvc in graphics_common.c - Change name of runtime to orca_runtime. When bundling on Windows, change name of runtime executable to the name of the app.
2023-08-09 11:06:32 +00:00
/********************************************************
*
* @file: gl_api.h
* @note: auto-generated by glapi.py from gl.xml
* @date: 11/082023
*
*********************************************************/
#ifndef __GL_API_H__
#define __GL_API_H__
#include"GL/glcorearb.h"
#include"GLES3/gl32.h"
typedef struct mg_gl_api
{
const char* name;
PFNGLGETPROGRAMBINARYPROC GetProgramBinary;
PFNGLFRONTFACEPROC FrontFace;
PFNGLDISABLEIPROC Disablei;
PFNGLBEGINCONDITIONALRENDERPROC BeginConditionalRender;
PFNGLCOPYTEXSUBIMAGE3DPROC CopyTexSubImage3D;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D;
PFNGLVERTEXATTRIBI4USVPROC VertexAttribI4usv;
PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv;
PFNGLUNIFORMMATRIX2X3FVPROC UniformMatrix2x3fv;
PFNGLMULTIDRAWARRAYSINDIRECTPROC MultiDrawArraysIndirect;
PFNGLCOLORMASKIPROC ColorMaski;
PFNGLBINDVERTEXARRAYPROC BindVertexArray;
PFNGLPROGRAMUNIFORM3DPROC ProgramUniform3d;
PFNGLGETBUFFERPARAMETERI64VPROC GetBufferParameteri64v;
PFNGLUNIFORM4IPROC Uniform4i;
PFNGLGETATTACHEDSHADERSPROC GetAttachedShaders;
PFNGLATTACHSHADERPROC AttachShader;
PFNGLVERTEXATTRIBI2UIPROC VertexAttribI2ui;
PFNGLCLEARCOLORPROC ClearColor;
PFNGLTEXPARAMETERIIVPROC TexParameterIiv;
PFNGLPROGRAMUNIFORM4DPROC ProgramUniform4d;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC DrawTransformFeedbackStream;
PFNGLVERTEXATTRIBI4IVPROC VertexAttribI4iv;
PFNGLCOPYBUFFERSUBDATAPROC CopyBufferSubData;
PFNGLDEBUGMESSAGEINSERTPROC DebugMessageInsert;
PFNGLVIEWPORTINDEXEDFPROC ViewportIndexedf;
PFNGLPROGRAMUNIFORM1FVPROC ProgramUniform1fv;
PFNGLOBJECTPTRLABELPROC ObjectPtrLabel;
PFNGLSTENCILMASKSEPARATEPROC StencilMaskSeparate;
PFNGLUNIFORMMATRIX3X4DVPROC UniformMatrix3x4dv;
PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D;
PFNGLVIEWPORTPROC Viewport;
PFNGLGENTEXTURESPROC GenTextures;
PFNGLUNIFORMBLOCKBINDINGPROC UniformBlockBinding;
PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC ProgramUniformMatrix3x4fv;
PFNGLVERTEXATTRIB2FPROC VertexAttrib2f;
PFNGLGETACTIVEUNIFORMPROC GetActiveUniform;
PFNGLSCISSORINDEXEDPROC ScissorIndexed;
PFNGLTEXPARAMETERFPROC TexParameterf;
PFNGLBINDSAMPLERPROC BindSampler;
PFNGLMULTIDRAWELEMENTSINDIRECTPROC MultiDrawElementsIndirect;
PFNGLCLEARTEXSUBIMAGEPROC ClearTexSubImage;
PFNGLISENABLEDIPROC IsEnabledi;
PFNGLSCISSORPROC Scissor;
PFNGLPROGRAMBINARYPROC ProgramBinary;
PFNGLDISABLEPROC Disable;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GetActiveUniformBlockName;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC DrawRangeElementsBaseVertex;
PFNGLDEBUGMESSAGECALLBACKPROC DebugMessageCallback;
PFNGLBLENDEQUATIONIPROC BlendEquationi;
PFNGLVERTEXATTRIBI4UIVPROC VertexAttribI4uiv;
PFNGLBLENDFUNCIPROC BlendFunci;
PFNGLVALIDATEPROGRAMPIPELINEPROC ValidateProgramPipeline;
PFNGLDELETEVERTEXARRAYSPROC DeleteVertexArrays;
PFNGLGENRENDERBUFFERSPROC GenRenderbuffers;
PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus;
PFNGLUNIFORM1UIPROC Uniform1ui;
PFNGLPROGRAMUNIFORM3UIPROC ProgramUniform3ui;
PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv;
PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC GetProgramResourceLocationIndex;
PFNGLPROGRAMUNIFORM3FVPROC ProgramUniform3fv;
PFNGLPOLYGONOFFSETPROC PolygonOffset;
PFNGLISPROGRAMPROC IsProgram;
PFNGLCLEARDEPTHFPROC ClearDepthf;
PFNGLENDCONDITIONALRENDERPROC EndConditionalRender;
PFNGLGETOBJECTLABELPROC GetObjectLabel;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC ProgramUniformMatrix4x2fv;
PFNGLVERTEXATTRIBI3IPROC VertexAttribI3i;
PFNGLGENSAMPLERSPROC GenSamplers;
PFNGLVERTEXATTRIBI2UIVPROC VertexAttribI2uiv;
PFNGLSTENCILOPSEPARATEPROC StencilOpSeparate;
PFNGLGETPROGRAMINTERFACEIVPROC GetProgramInterfaceiv;
PFNGLGETOBJECTPTRLABELPROC GetObjectPtrLabel;
PFNGLUNIFORMMATRIX2FVPROC UniformMatrix2fv;
PFNGLGETINTEGER64VPROC GetInteger64v;
PFNGLGETSTRINGPROC GetString;
PFNGLISSYNCPROC IsSync;
PFNGLCOPYTEXIMAGE1DPROC CopyTexImage1D;
PFNGLSAMPLERPARAMETERIIVPROC SamplerParameterIiv;
PFNGLVERTEXATTRIB3FVPROC VertexAttrib3fv;
PFNGLBEGINQUERYPROC BeginQuery;
PFNGLGETBUFFERPOINTERVPROC GetBufferPointerv;
PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer;
PFNGLGETSAMPLERPARAMETERIVPROC GetSamplerParameteriv;
PFNGLPOINTPARAMETERIPROC PointParameteri;
PFNGLPOLYGONMODEPROC PolygonMode;
PFNGLDRAWELEMENTSINDIRECTPROC DrawElementsIndirect;
PFNGLTEXIMAGE2DMULTISAMPLEPROC TexImage2DMultisample;
PFNGLVERTEXATTRIBL3DPROC VertexAttribL3d;
PFNGLPROGRAMUNIFORM4IPROC ProgramUniform4i;
PFNGLGETUNIFORMFVPROC GetUniformfv;
PFNGLDEBUGMESSAGECONTROLPROC DebugMessageControl;
PFNGLTEXPARAMETERIVPROC TexParameteriv;
PFNGLISBUFFERPROC IsBuffer;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC ProgramUniformMatrix3dv;
PFNGLBINDFRAMEBUFFERPROC BindFramebuffer;
PFNGLBUFFERSTORAGEPROC BufferStorage;
PFNGLPROGRAMUNIFORM4FVPROC ProgramUniform4fv;
PFNGLBINDTEXTURESPROC BindTextures;
PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC ProgramUniformMatrix4x2dv;
PFNGLPUSHDEBUGGROUPPROC PushDebugGroup;
PFNGLSAMPLERPARAMETERIVPROC SamplerParameteriv;
PFNGLVERTEXATTRIBI2IPROC VertexAttribI2i;
PFNGLBINDTRANSFORMFEEDBACKPROC BindTransformFeedback;
PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv;
PFNGLUNIFORM2FVPROC Uniform2fv;
PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv;
PFNGLSAMPLERPARAMETERIPROC SamplerParameteri;
PFNGLTEXBUFFERRANGEPROC TexBufferRange;
PFNGLGETSHADERIVPROC GetShaderiv;
PFNGLSTENCILMASKPROC StencilMask;
PFNGLVERTEXATTRIB3FPROC VertexAttrib3f;
PFNGLGETPROGRAMPIPELINEIVPROC GetProgramPipelineiv;
PFNGLDELETEQUERIESPROC DeleteQueries;
PFNGLPROGRAMUNIFORM3UIVPROC ProgramUniform3uiv;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC ProgramUniformMatrix2x4fv;
PFNGLUNIFORM1FPROC Uniform1f;
PFNGLTEXSUBIMAGE1DPROC TexSubImage1D;
PFNGLCLEARBUFFERIVPROC ClearBufferiv;
PFNGLPROGRAMUNIFORM4UIVPROC ProgramUniform4uiv;
PFNGLINVALIDATETEXIMAGEPROC InvalidateTexImage;
PFNGLCLEARBUFFERSUBDATAPROC ClearBufferSubData;
PFNGLCLEARTEXIMAGEPROC ClearTexImage;
PFNGLVERTEXATTRIB4DPROC VertexAttrib4d;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample;
PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer;
PFNGLUNIFORM2FPROC Uniform2f;
PFNGLVERTEXATTRIBL4DPROC VertexAttribL4d;
PFNGLTEXIMAGE2DPROC TexImage2D;
PFNGLLOGICOPPROC LogicOp;
PFNGLBINDTEXTUREPROC BindTexture;
PFNGLVERTEXATTRIB1FVPROC VertexAttrib1fv;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC ProgramUniformMatrix3fv;
PFNGLGETFRAGDATAINDEXPROC GetFragDataIndex;
PFNGLUNIFORMMATRIX2X3DVPROC UniformMatrix2x3dv;
PFNGLGETVERTEXATTRIBLDVPROC GetVertexAttribLdv;
PFNGLBINDRENDERBUFFERPROC BindRenderbuffer;
PFNGLUNIFORM1DPROC Uniform1d;
PFNGLUNIFORMMATRIX2X4FVPROC UniformMatrix2x4fv;
PFNGLMINSAMPLESHADINGPROC MinSampleShading;
PFNGLCOPYTEXSUBIMAGE1DPROC CopyTexSubImage1D;
PFNGLTEXIMAGE1DPROC TexImage1D;
PFNGLVERTEXATTRIB1FPROC VertexAttrib1f;
PFNGLLINEWIDTHPROC LineWidth;
PFNGLPOINTPARAMETERFPROC PointParameterf;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC DrawElementsInstancedBaseVertexBaseInstance;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GetActiveSubroutineUniformiv;
PFNGLUNIFORM4UIPROC Uniform4ui;
PFNGLVERTEXATTRIBBINDINGPROC VertexAttribBinding;
PFNGLGETTEXPARAMETERIVPROC GetTexParameteriv;
PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage;
PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv;
PFNGLUNIFORMMATRIX3FVPROC UniformMatrix3fv;
PFNGLGETBOOLEANVPROC GetBooleanv;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC ProgramUniformMatrix2x3dv;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC ProgramUniformMatrix4dv;
PFNGLUNIFORM2IVPROC Uniform2iv;
PFNGLBUFFERDATAPROC BufferData;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GetActiveSubroutineUniformName;
PFNGLGETSTRINGIPROC GetStringi;
PFNGLBINDIMAGETEXTUREPROC BindImageTexture;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC ProgramUniformMatrix3x2dv;
PFNGLVERTEXATTRIBL4DVPROC VertexAttribL4dv;
PFNGLTEXSTORAGE3DMULTISAMPLEPROC TexStorage3DMultisample;
PFNGLDEPTHRANGEARRAYVPROC DepthRangeArrayv;
PFNGLGETUNIFORMIVPROC GetUniformiv;
PFNGLDELETETEXTURESPROC DeleteTextures;
PFNGLCREATESHADERPROC CreateShader;
PFNGLVERTEXATTRIB4SPROC VertexAttrib4s;
PFNGLPRIMITIVEBOUNDINGBOXPROC PrimitiveBoundingBox;
PFNGLDRAWBUFFERSPROC DrawBuffers;
PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv;
PFNGLTEXPARAMETERIUIVPROC TexParameterIuiv;
PFNGLQUERYCOUNTERPROC QueryCounter;
PFNGLVERTEXATTRIBL1DVPROC VertexAttribL1dv;
PFNGLPROGRAMUNIFORM1DPROC ProgramUniform1d;
PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers;
PFNGLPOPDEBUGGROUPPROC PopDebugGroup;
PFNGLMULTIDRAWARRAYSPROC MultiDrawArrays;
PFNGLGETACTIVEUNIFORMSIVPROC GetActiveUniformsiv;
PFNGLFLUSHPROC Flush;
PFNGLUNMAPBUFFERPROC UnmapBuffer;
PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D;
PFNGLUNIFORM1FVPROC Uniform1fv;
PFNGLISFRAMEBUFFERPROC IsFramebuffer;
PFNGLVALIDATEPROGRAMPROC ValidateProgram;
PFNGLGETVERTEXATTRIBPOINTERVPROC GetVertexAttribPointerv;
PFNGLREADNPIXELSPROC ReadnPixels;
PFNGLVERTEXATTRIBP2UIPROC VertexAttribP2ui;
PFNGLPROGRAMUNIFORM2IPROC ProgramUniform2i;
PFNGLPATCHPARAMETERIPROC PatchParameteri;
PFNGLVERTEXATTRIB4NUBPROC VertexAttrib4Nub;
PFNGLGENQUERIESPROC GenQueries;
PFNGLPROGRAMUNIFORM2UIPROC ProgramUniform2ui;
PFNGLBINDSAMPLERSPROC BindSamplers;
PFNGLDISABLEVERTEXATTRIBARRAYPROC DisableVertexAttribArray;
PFNGLENABLEIPROC Enablei;
PFNGLGETSYNCIVPROC GetSynciv;
PFNGLVERTEXATTRIB3SPROC VertexAttrib3s;
PFNGLGETTEXPARAMETERIIVPROC GetTexParameterIiv;
PFNGLVERTEXBINDINGDIVISORPROC VertexBindingDivisor;
PFNGLDEPTHRANGEFPROC DepthRangef;
PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv;
PFNGLFINISHPROC Finish;
PFNGLBLENDFUNCPROC BlendFunc;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC DrawTransformFeedbackStreamInstanced;
PFNGLUNIFORMMATRIX4X3FVPROC UniformMatrix4x3fv;
PFNGLUNIFORMMATRIX4X2DVPROC UniformMatrix4x2dv;
PFNGLUNIFORM2DPROC Uniform2d;
PFNGLGETNUNIFORMFVPROC GetnUniformfv;
PFNGLGETFLOATI_VPROC GetFloati_v;
PFNGLGETINTEGER64I_VPROC GetInteger64i_v;
PFNGLPROGRAMUNIFORM3FPROC ProgramUniform3f;
PFNGLGETFRAMEBUFFERPARAMETERIVPROC GetFramebufferParameteriv;
PFNGLVERTEXATTRIBI4BVPROC VertexAttribI4bv;
PFNGLDELETEPROGRAMPROC DeleteProgram;
PFNGLCOPYTEXIMAGE2DPROC CopyTexImage2D;
PFNGLGETUNIFORMUIVPROC GetUniformuiv;
PFNGLDRAWARRAYSINDIRECTPROC DrawArraysIndirect;
PFNGLUNIFORMMATRIX4X2FVPROC UniformMatrix4x2fv;
PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer;
PFNGLUNIFORM2IPROC Uniform2i;
PFNGLPROGRAMUNIFORM3DVPROC ProgramUniform3dv;
PFNGLSCISSORINDEXEDVPROC ScissorIndexedv;
PFNGLPROGRAMUNIFORM2DPROC ProgramUniform2d;
PFNGLVERTEXATTRIB4FPROC VertexAttrib4f;
PFNGLBLENDEQUATIONSEPARATEIPROC BlendEquationSeparatei;
PFNGLGETUNIFORMDVPROC GetUniformdv;
PFNGLDRAWRANGEELEMENTSPROC DrawRangeElements;
PFNGLUNIFORMMATRIX3DVPROC UniformMatrix3dv;
PFNGLPROGRAMUNIFORM2UIVPROC ProgramUniform2uiv;
PFNGLVERTEXATTRIBI1UIVPROC VertexAttribI1uiv;
PFNGLBEGINQUERYINDEXEDPROC BeginQueryIndexed;
PFNGLPOINTPARAMETERFVPROC PointParameterfv;
PFNGLSAMPLECOVERAGEPROC SampleCoverage;
PFNGLRESUMETRANSFORMFEEDBACKPROC ResumeTransformFeedback;
PFNGLREADPIXELSPROC ReadPixels;
PFNGLLINKPROGRAMPROC LinkProgram;
PFNGLWAITSYNCPROC WaitSync;
PFNGLACTIVESHADERPROGRAMPROC ActiveShaderProgram;
PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv;
PFNGLPROGRAMUNIFORM3IPROC ProgramUniform3i;
PFNGLPROGRAMUNIFORM1UIPROC ProgramUniform1ui;
PFNGLBLENDBARRIERPROC BlendBarrier;
PFNGLVERTEXATTRIBI4UBVPROC VertexAttribI4ubv;
PFNGLGETQUERYOBJECTI64VPROC GetQueryObjecti64v;
PFNGLUNIFORMMATRIX4DVPROC UniformMatrix4dv;
PFNGLUNIFORM1IVPROC Uniform1iv;
PFNGLENABLEPROC Enable;
PFNGLGENBUFFERSPROC GenBuffers;
PFNGLTEXSTORAGE3DPROC TexStorage3D;
PFNGLINVALIDATETEXSUBIMAGEPROC InvalidateTexSubImage;
PFNGLPROGRAMUNIFORM1IPROC ProgramUniform1i;
PFNGLBLENDEQUATIONPROC BlendEquation;
PFNGLDEPTHRANGEPROC DepthRange;
PFNGLUNIFORM2DVPROC Uniform2dv;
PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate;
PFNGLUNIFORM1DVPROC Uniform1dv;
PFNGLENDQUERYINDEXEDPROC EndQueryIndexed;
PFNGLDELETETRANSFORMFEEDBACKSPROC DeleteTransformFeedbacks;
PFNGLBLENDFUNCSEPARATEIPROC BlendFuncSeparatei;
PFNGLDEPTHFUNCPROC DepthFunc;
PFNGLINVALIDATEBUFFERDATAPROC InvalidateBufferData;
PFNGLBINDIMAGETEXTURESPROC BindImageTextures;
PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers;
PFNGLVERTEXATTRIBI2IVPROC VertexAttribI2iv;
PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv;
PFNGLVERTEXATTRIBFORMATPROC VertexAttribFormat;
PFNGLMAPBUFFERRANGEPROC MapBufferRange;
PFNGLDETACHSHADERPROC DetachShader;
PFNGLGETBOOLEANI_VPROC GetBooleani_v;
PFNGLDEPTHRANGEINDEXEDPROC DepthRangeIndexed;
PFNGLPAUSETRANSFORMFEEDBACKPROC PauseTransformFeedback;
PFNGLVERTEXATTRIBL3DVPROC VertexAttribL3dv;
PFNGLPRIMITIVERESTARTINDEXPROC PrimitiveRestartIndex;
PFNGLUNIFORM4DPROC Uniform4d;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC TransformFeedbackVaryings;
PFNGLDELETEBUFFERSPROC DeleteBuffers;
PFNGLGETPROGRAMRESOURCELOCATIONPROC GetProgramResourceLocation;
PFNGLUNIFORM4FPROC Uniform4f;
PFNGLGETSAMPLERPARAMETERFVPROC GetSamplerParameterfv;
PFNGLVERTEXATTRIBP4UIPROC VertexAttribP4ui;
PFNGLISRENDERBUFFERPROC IsRenderbuffer;
PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv;
PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv;
PFNGLCULLFACEPROC CullFace;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC MultiDrawElementsBaseVertex;
PFNGLVERTEXATTRIBI3UIPROC VertexAttribI3ui;
PFNGLGETUNIFORMBLOCKINDEXPROC GetUniformBlockIndex;
PFNGLUSEPROGRAMSTAGESPROC UseProgramStages;
PFNGLGETACTIVEATTRIBPROC GetActiveAttrib;
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC DrawArraysInstancedBaseInstance;
PFNGLISPROGRAMPIPELINEPROC IsProgramPipeline;
PFNGLPROGRAMUNIFORM1UIVPROC ProgramUniform1uiv;
PFNGLPROGRAMUNIFORM3IVPROC ProgramUniform3iv;
PFNGLREADBUFFERPROC ReadBuffer;
PFNGLDELETESHADERPROC DeleteShader;
PFNGLCREATESHADERPROGRAMVPROC CreateShaderProgramv;
PFNGLCLIENTWAITSYNCPROC ClientWaitSync;
PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D;
PFNGLVERTEXATTRIB2DPROC VertexAttrib2d;
PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv;
PFNGLVERTEXATTRIBI4IPROC VertexAttribI4i;
PFNGLVERTEXATTRIBL2DVPROC VertexAttribL2dv;
PFNGLGETDOUBLEI_VPROC GetDoublei_v;
PFNGLTEXPARAMETERFVPROC TexParameterfv;
PFNGLGETATTRIBLOCATIONPROC GetAttribLocation;
PFNGLVERTEXATTRIBP1UIPROC VertexAttribP1ui;
PFNGLVERTEXATTRIBIFORMATPROC VertexAttribIFormat;
PFNGLVERTEXATTRIBI1UIPROC VertexAttribI1ui;
PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv;
PFNGLGETACTIVESUBROUTINENAMEPROC GetActiveSubroutineName;
PFNGLISQUERYPROC IsQuery;
PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC ProgramUniformMatrix2fv;
PFNGLUSEPROGRAMPROC UseProgram;
PFNGLCLEARPROC Clear;
PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv;
PFNGLINVALIDATEFRAMEBUFFERPROC InvalidateFramebuffer;
PFNGLPIXELSTOREIPROC PixelStorei;
PFNGLUNIFORM1IPROC Uniform1i;
PFNGLUNIFORM1UIVPROC Uniform1uiv;
PFNGLTEXIMAGE3DMULTISAMPLEPROC TexImage3DMultisample;
PFNGLBINDBUFFERPROC BindBuffer;
PFNGLACTIVETEXTUREPROC ActiveTexture;
PFNGLDELETESYNCPROC DeleteSync;
PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv;
PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv;
PFNGLUNIFORM3FVPROC Uniform3fv;
PFNGLGENVERTEXARRAYSPROC GenVertexArrays;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC ProgramUniformMatrix3x2fv;
PFNGLBINDATTRIBLOCATIONPROC BindAttribLocation;
PFNGLCOPYTEXSUBIMAGE2DPROC CopyTexSubImage2D;
PFNGLBLENDCOLORPROC BlendColor;
PFNGLRELEASESHADERCOMPILERPROC ReleaseShaderCompiler;
PFNGLGENTRANSFORMFEEDBACKSPROC GenTransformFeedbacks;
PFNGLISSHADERPROC IsShader;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC DrawElementsInstancedBaseVertex;
PFNGLVERTEXATTRIBLFORMATPROC VertexAttribLFormat;
PFNGLBINDBUFFERSRANGEPROC BindBuffersRange;
PFNGLCOLORMASKPROC ColorMask;
PFNGLUNIFORMMATRIX2X4DVPROC UniformMatrix2x4dv;
PFNGLGETDOUBLEVPROC GetDoublev;
PFNGLUNIFORMMATRIX3X2DVPROC UniformMatrix3x2dv;
PFNGLVERTEXATTRIBL2DPROC VertexAttribL2d;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC FlushMappedBufferRange;
PFNGLPROGRAMUNIFORM2IVPROC ProgramUniform2iv;
PFNGLPOINTPARAMETERIVPROC PointParameteriv;
PFNGLUNIFORMSUBROUTINESUIVPROC UniformSubroutinesuiv;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC ProgramUniformMatrix4x3fv;
PFNGLGETBUFFERPARAMETERIVPROC GetBufferParameteriv;
PFNGLGETTEXIMAGEPROC GetTexImage;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC ProgramUniformMatrix2x4dv;
PFNGLVERTEXATTRIBI1IVPROC VertexAttribI1iv;
PFNGLISSAMPLERPROC IsSampler;
PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv;
PFNGLTEXSTORAGE1DPROC TexStorage1D;
PFNGLVIEWPORTARRAYVPROC ViewportArrayv;
PFNGLTEXIMAGE3DPROC TexImage3D;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC ProgramUniformMatrix4fv;
PFNGLGETTEXLEVELPARAMETERIVPROC GetTexLevelParameteriv;
PFNGLGETVERTEXATTRIBDVPROC GetVertexAttribdv;
PFNGLINVALIDATEBUFFERSUBDATAPROC InvalidateBufferSubData;
PFNGLPROGRAMUNIFORM4FPROC ProgramUniform4f;
PFNGLVERTEXATTRIB2SPROC VertexAttrib2s;
PFNGLTEXSUBIMAGE3DPROC TexSubImage3D;
PFNGLGETFRAGDATALOCATIONPROC GetFragDataLocation;
PFNGLVERTEXATTRIBI1IPROC VertexAttribI1i;
PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC GetActiveAtomicCounterBufferiv;
PFNGLTEXSTORAGE2DMULTISAMPLEPROC TexStorage2DMultisample;
PFNGLBINDBUFFERSBASEPROC BindBuffersBase;
PFNGLGETUNIFORMSUBROUTINEUIVPROC GetUniformSubroutineuiv;
PFNGLENDTRANSFORMFEEDBACKPROC EndTransformFeedback;
PFNGLSHADERSOURCEPROC ShaderSource;
PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv;
PFNGLGETTEXLEVELPARAMETERFVPROC GetTexLevelParameterfv;
PFNGLUNIFORM3DPROC Uniform3d;
PFNGLCLEARBUFFERFVPROC ClearBufferfv;
PFNGLGETSAMPLERPARAMETERIIVPROC GetSamplerParameterIiv;
PFNGLMEMORYBARRIERBYREGIONPROC MemoryBarrierByRegion;
PFNGLGENPROGRAMPIPELINESPROC GenProgramPipelines;
PFNGLBINDFRAGDATALOCATIONPROC BindFragDataLocation;
PFNGLGETSHADERINFOLOGPROC GetShaderInfoLog;
PFNGLTEXTUREVIEWPROC TextureView;
PFNGLISENABLEDPROC IsEnabled;
PFNGLPATCHPARAMETERFVPROC PatchParameterfv;
PFNGLHINTPROC Hint;
PFNGLPIXELSTOREFPROC PixelStoref;
PFNGLPROGRAMUNIFORM4IVPROC ProgramUniform4iv;
PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate;
PFNGLCLEARBUFFERUIVPROC ClearBufferuiv;
PFNGLOBJECTLABELPROC ObjectLabel;
PFNGLGETPOINTERVPROC GetPointerv;
PFNGLDELETESAMPLERSPROC DeleteSamplers;
PFNGLPROGRAMUNIFORM2DVPROC ProgramUniform2dv;
PFNGLENABLEVERTEXATTRIBARRAYPROC EnableVertexAttribArray;
PFNGLCLAMPCOLORPROC ClampColor;
PFNGLGETSHADERPRECISIONFORMATPROC GetShaderPrecisionFormat;
PFNGLGETNUNIFORMIVPROC GetnUniformiv;
PFNGLUNIFORM3IVPROC Uniform3iv;
PFNGLVERTEXATTRIBI3UIVPROC VertexAttribI3uiv;
PFNGLBUFFERSUBDATAPROC BufferSubData;
PFNGLSAMPLERPARAMETERFVPROC SamplerParameterfv;
PFNGLVERTEXATTRIBI4SVPROC VertexAttribI4sv;
PFNGLTEXBUFFERPROC TexBuffer;
PFNGLCREATEPROGRAMPROC CreateProgram;
PFNGLBINDBUFFERRANGEPROC BindBufferRange;
PFNGLISTEXTUREPROC IsTexture;
PFNGLUNIFORMMATRIX3X2FVPROC UniformMatrix3x2fv;
PFNGLDRAWELEMENTSPROC DrawElements;
PFNGLPROGRAMUNIFORM1FPROC ProgramUniform1f;
PFNGLUNIFORM3DVPROC Uniform3dv;
PFNGLDRAWELEMENTSINSTANCEDPROC DrawElementsInstanced;
PFNGLGENERATEMIPMAPPROC GenerateMipmap;
PFNGLPROGRAMUNIFORM4UIPROC ProgramUniform4ui;
PFNGLGETVERTEXATTRIBIUIVPROC GetVertexAttribIuiv;
PFNGLCLEARDEPTHPROC ClearDepth;
PFNGLDRAWTRANSFORMFEEDBACKPROC DrawTransformFeedback;
PFNGLTEXSUBIMAGE2DPROC TexSubImage2D;
PFNGLVERTEXATTRIBP4UIVPROC VertexAttribP4uiv;
PFNGLGETTEXPARAMETERIUIVPROC GetTexParameterIuiv;
PFNGLPOINTSIZEPROC PointSize;
PFNGLGETCOMPRESSEDTEXIMAGEPROC GetCompressedTexImage;
PFNGLUNIFORM2UIVPROC Uniform2uiv;
PFNGLFENCESYNCPROC FenceSync;
PFNGLMAPBUFFERPROC MapBuffer;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GetFramebufferAttachmentParameteriv;
PFNGLBEGINTRANSFORMFEEDBACKPROC BeginTransformFeedback;
PFNGLTEXPARAMETERIPROC TexParameteri;
PFNGLGETTEXPARAMETERFVPROC GetTexParameterfv;
PFNGLVERTEXATTRIBL1DPROC VertexAttribL1d;
PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv;
PFNGLPROGRAMUNIFORM2FPROC ProgramUniform2f;
PFNGLVERTEXATTRIB1DPROC VertexAttrib1d;
PFNGLGETERRORPROC GetError;
PFNGLVERTEXATTRIBP2UIVPROC VertexAttribP2uiv;
PFNGLUNIFORMMATRIX4X3DVPROC UniformMatrix4x3dv;
PFNGLGETSHADERSOURCEPROC GetShaderSource;
PFNGLSTENCILFUNCSEPARATEPROC StencilFuncSeparate;
PFNGLFRAMEBUFFERTEXTUREPROC FramebufferTexture;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC ProgramUniformMatrix4x3dv;
PFNGLUNIFORM4DVPROC Uniform4dv;
PFNGLGETPROGRAMINFOLOGPROC GetProgramInfoLog;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC ProgramUniformMatrix3x4dv;
PFNGLUNIFORMMATRIX3X4FVPROC UniformMatrix3x4fv;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D;
PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC DrawElementsInstancedBaseInstance;
PFNGLBINDBUFFERBASEPROC BindBufferBase;
PFNGLUNIFORMMATRIX2DVPROC UniformMatrix2dv;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC GetTransformFeedbackVarying;
PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D;
PFNGLGETUNIFORMINDICESPROC GetUniformIndices;
PFNGLTEXSTORAGE2DPROC TexStorage2D;
PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC GetActiveUniformBlockiv;
PFNGLCOPYIMAGESUBDATAPROC CopyImageSubData;
PFNGLVERTEXATTRIBI4UIPROC VertexAttribI4ui;
PFNGLVERTEXATTRIB4FVPROC VertexAttrib4fv;
PFNGLPROGRAMUNIFORM1IVPROC ProgramUniform1iv;
PFNGLBINDVERTEXBUFFERSPROC BindVertexBuffers;
PFNGLPROVOKINGVERTEXPROC ProvokingVertex;
PFNGLUNIFORM3UIVPROC Uniform3uiv;
PFNGLISVERTEXARRAYPROC IsVertexArray;
PFNGLVIEWPORTINDEXEDFVPROC ViewportIndexedfv;
PFNGLDISPATCHCOMPUTEPROC DispatchCompute;
PFNGLDRAWARRAYSPROC DrawArrays;
PFNGLGETQUERYINDEXEDIVPROC GetQueryIndexediv;
PFNGLUNIFORM3UIPROC Uniform3ui;
PFNGLMULTIDRAWELEMENTSPROC MultiDrawElements;
PFNGLCLEARBUFFERFIPROC ClearBufferfi;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC ProgramUniformMatrix2dv;
PFNGLVERTEXATTRIBP3UIPROC VertexAttribP3ui;
PFNGLVERTEXATTRIBI3IVPROC VertexAttribI3iv;
PFNGLPROGRAMPARAMETERIPROC ProgramParameteri;
PFNGLUNIFORM4UIVPROC Uniform4uiv;
PFNGLUNIFORMMATRIX4FVPROC UniformMatrix4fv;
PFNGLVERTEXATTRIB2FVPROC VertexAttrib2fv;
PFNGLGETGRAPHICSRESETSTATUSPROC GetGraphicsResetStatus;
PFNGLSHADERBINARYPROC ShaderBinary;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC ShaderStorageBlockBinding;
PFNGLDRAWARRAYSINSTANCEDPROC DrawArraysInstanced;
PFNGLGETSUBROUTINEINDEXPROC GetSubroutineIndex;
PFNGLGETVERTEXATTRIBIIVPROC GetVertexAttribIiv;
PFNGLDRAWELEMENTSBASEVERTEXPROC DrawElementsBaseVertex;
PFNGLGETPROGRAMRESOURCENAMEPROC GetProgramResourceName;
PFNGLGETINTERNALFORMATIVPROC GetInternalformativ;
PFNGLUNIFORM4FVPROC Uniform4fv;
PFNGLVERTEXATTRIBLPOINTERPROC VertexAttribLPointer;
PFNGLGETSAMPLERPARAMETERIUIVPROC GetSamplerParameterIuiv;
PFNGLVERTEXATTRIB3DPROC VertexAttrib3d;
PFNGLSAMPLERPARAMETERFPROC SamplerParameterf;
PFNGLGENFRAMEBUFFERSPROC GenFramebuffers;
PFNGLGETQUERYOBJECTUI64VPROC GetQueryObjectui64v;
PFNGLGETPROGRAMRESOURCEIVPROC GetProgramResourceiv;
PFNGLVERTEXATTRIBP3UIVPROC VertexAttribP3uiv;
PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv;
PFNGLISTRANSFORMFEEDBACKPROC IsTransformFeedback;
PFNGLDISPATCHCOMPUTEINDIRECTPROC DispatchComputeIndirect;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D;
PFNGLBINDVERTEXBUFFERPROC BindVertexBuffer;
PFNGLPROGRAMUNIFORM1DVPROC ProgramUniform1dv;
PFNGLSTENCILOPPROC StencilOp;
PFNGLVERTEXATTRIB1SPROC VertexAttrib1s;
PFNGLGETMULTISAMPLEFVPROC GetMultisamplefv;
PFNGLGETQUERYIVPROC GetQueryiv;
PFNGLBINDPROGRAMPIPELINEPROC BindProgramPipeline;
PFNGLFRAMEBUFFERPARAMETERIPROC FramebufferParameteri;
PFNGLGETINTEGERI_VPROC GetIntegeri_v;
PFNGLGETINTEGERVPROC GetIntegerv;
PFNGLDELETEPROGRAMPIPELINESPROC DeleteProgramPipelines;
PFNGLCLEARBUFFERDATAPROC ClearBufferData;
PFNGLPROGRAMUNIFORM2FVPROC ProgramUniform2fv;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GetSubroutineUniformLocation;
PFNGLGETPROGRAMIVPROC GetProgramiv;
PFNGLDEPTHMASKPROC DepthMask;
PFNGLVERTEXATTRIBIPOINTERPROC VertexAttribIPointer;
PFNGLGETACTIVEUNIFORMNAMEPROC GetActiveUniformName;
PFNGLVERTEXATTRIBP1UIVPROC VertexAttribP1uiv;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC ProgramUniformMatrix2x3fv;
PFNGLGETUNIFORMLOCATIONPROC GetUniformLocation;
PFNGLSAMPLEMASKIPROC SampleMaski;
PFNGLGETBUFFERSUBDATAPROC GetBufferSubData;
PFNGLUNIFORM4IVPROC Uniform4iv;
PFNGLVERTEXATTRIBPOINTERPROC VertexAttribPointer;
PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D;
PFNGLGETNUNIFORMUIVPROC GetnUniformuiv;
PFNGLGETINTERNALFORMATI64VPROC GetInternalformati64v;
PFNGLCOMPILESHADERPROC CompileShader;
PFNGLDRAWBUFFERPROC DrawBuffer;
PFNGLUNIFORM3FPROC Uniform3f;
PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC DrawTransformFeedbackInstanced;
PFNGLPROGRAMUNIFORM4DVPROC ProgramUniform4dv;
PFNGLGETPROGRAMSTAGEIVPROC GetProgramStageiv;
PFNGLSTENCILFUNCPROC StencilFunc;
PFNGLGETPROGRAMRESOURCEINDEXPROC GetProgramResourceIndex;
PFNGLCLEARSTENCILPROC ClearStencil;
PFNGLSCISSORARRAYVPROC ScissorArrayv;
PFNGLMEMORYBARRIERPROC MemoryBarrier;
PFNGLSAMPLERPARAMETERIUIVPROC SamplerParameterIuiv;
PFNGLGETFLOATVPROC GetFloatv;
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC BindFragDataLocationIndexed;
PFNGLENDQUERYPROC EndQuery;
PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC GetProgramPipelineInfoLog;
PFNGLVERTEXATTRIBDIVISORPROC VertexAttribDivisor;
PFNGLUNIFORM3IPROC Uniform3i;
PFNGLUNIFORM2UIPROC Uniform2ui;
PFNGLINVALIDATESUBFRAMEBUFFERPROC InvalidateSubFramebuffer;
PFNGLGETDEBUGMESSAGELOGPROC GetDebugMessageLog;
} mg_gl_api;
MP_API mg_gl_api* mg_gl_get_api(void);
#define glGetProgramBinary mg_gl_get_api()->GetProgramBinary
#define glFrontFace mg_gl_get_api()->FrontFace
#define glDisablei mg_gl_get_api()->Disablei
#define glBeginConditionalRender mg_gl_get_api()->BeginConditionalRender
#define glCopyTexSubImage3D mg_gl_get_api()->CopyTexSubImage3D
#define glCompressedTexSubImage1D mg_gl_get_api()->CompressedTexSubImage1D
#define glVertexAttribI4usv mg_gl_get_api()->VertexAttribI4usv
#define glVertexAttrib2sv mg_gl_get_api()->VertexAttrib2sv
#define glUniformMatrix2x3fv mg_gl_get_api()->UniformMatrix2x3fv
#define glMultiDrawArraysIndirect mg_gl_get_api()->MultiDrawArraysIndirect
#define glColorMaski mg_gl_get_api()->ColorMaski
#define glBindVertexArray mg_gl_get_api()->BindVertexArray
#define glProgramUniform3d mg_gl_get_api()->ProgramUniform3d
#define glGetBufferParameteri64v mg_gl_get_api()->GetBufferParameteri64v
#define glUniform4i mg_gl_get_api()->Uniform4i
#define glGetAttachedShaders mg_gl_get_api()->GetAttachedShaders
#define glAttachShader mg_gl_get_api()->AttachShader
#define glVertexAttribI2ui mg_gl_get_api()->VertexAttribI2ui
#define glClearColor mg_gl_get_api()->ClearColor
#define glTexParameterIiv mg_gl_get_api()->TexParameterIiv
#define glProgramUniform4d mg_gl_get_api()->ProgramUniform4d
#define glDrawTransformFeedbackStream mg_gl_get_api()->DrawTransformFeedbackStream
#define glVertexAttribI4iv mg_gl_get_api()->VertexAttribI4iv
#define glCopyBufferSubData mg_gl_get_api()->CopyBufferSubData
#define glDebugMessageInsert mg_gl_get_api()->DebugMessageInsert
#define glViewportIndexedf mg_gl_get_api()->ViewportIndexedf
#define glProgramUniform1fv mg_gl_get_api()->ProgramUniform1fv
#define glObjectPtrLabel mg_gl_get_api()->ObjectPtrLabel
#define glStencilMaskSeparate mg_gl_get_api()->StencilMaskSeparate
#define glUniformMatrix3x4dv mg_gl_get_api()->UniformMatrix3x4dv
#define glFramebufferTexture1D mg_gl_get_api()->FramebufferTexture1D
#define glViewport mg_gl_get_api()->Viewport
#define glGenTextures mg_gl_get_api()->GenTextures
#define glUniformBlockBinding mg_gl_get_api()->UniformBlockBinding
#define glVertexAttrib3sv mg_gl_get_api()->VertexAttrib3sv
#define glProgramUniformMatrix3x4fv mg_gl_get_api()->ProgramUniformMatrix3x4fv
#define glVertexAttrib2f mg_gl_get_api()->VertexAttrib2f
#define glGetActiveUniform mg_gl_get_api()->GetActiveUniform
#define glScissorIndexed mg_gl_get_api()->ScissorIndexed
#define glTexParameterf mg_gl_get_api()->TexParameterf
#define glBindSampler mg_gl_get_api()->BindSampler
#define glMultiDrawElementsIndirect mg_gl_get_api()->MultiDrawElementsIndirect
#define glClearTexSubImage mg_gl_get_api()->ClearTexSubImage
#define glIsEnabledi mg_gl_get_api()->IsEnabledi
#define glScissor mg_gl_get_api()->Scissor
#define glProgramBinary mg_gl_get_api()->ProgramBinary
#define glDisable mg_gl_get_api()->Disable
#define glGetActiveUniformBlockName mg_gl_get_api()->GetActiveUniformBlockName
#define glDrawRangeElementsBaseVertex mg_gl_get_api()->DrawRangeElementsBaseVertex
#define glDebugMessageCallback mg_gl_get_api()->DebugMessageCallback
#define glBlendEquationi mg_gl_get_api()->BlendEquationi
#define glVertexAttribI4uiv mg_gl_get_api()->VertexAttribI4uiv
#define glBlendFunci mg_gl_get_api()->BlendFunci
#define glValidateProgramPipeline mg_gl_get_api()->ValidateProgramPipeline
#define glDeleteVertexArrays mg_gl_get_api()->DeleteVertexArrays
#define glGenRenderbuffers mg_gl_get_api()->GenRenderbuffers
#define glCheckFramebufferStatus mg_gl_get_api()->CheckFramebufferStatus
#define glUniform1ui mg_gl_get_api()->Uniform1ui
#define glProgramUniform3ui mg_gl_get_api()->ProgramUniform3ui
#define glVertexAttrib4bv mg_gl_get_api()->VertexAttrib4bv
#define glGetProgramResourceLocationIndex mg_gl_get_api()->GetProgramResourceLocationIndex
#define glProgramUniform3fv mg_gl_get_api()->ProgramUniform3fv
#define glPolygonOffset mg_gl_get_api()->PolygonOffset
#define glIsProgram mg_gl_get_api()->IsProgram
#define glClearDepthf mg_gl_get_api()->ClearDepthf
#define glEndConditionalRender mg_gl_get_api()->EndConditionalRender
#define glGetObjectLabel mg_gl_get_api()->GetObjectLabel
#define glProgramUniformMatrix4x2fv mg_gl_get_api()->ProgramUniformMatrix4x2fv
#define glVertexAttribI3i mg_gl_get_api()->VertexAttribI3i
#define glGenSamplers mg_gl_get_api()->GenSamplers
#define glVertexAttribI2uiv mg_gl_get_api()->VertexAttribI2uiv
#define glStencilOpSeparate mg_gl_get_api()->StencilOpSeparate
#define glGetProgramInterfaceiv mg_gl_get_api()->GetProgramInterfaceiv
#define glGetObjectPtrLabel mg_gl_get_api()->GetObjectPtrLabel
#define glUniformMatrix2fv mg_gl_get_api()->UniformMatrix2fv
#define glGetInteger64v mg_gl_get_api()->GetInteger64v
#define glGetString mg_gl_get_api()->GetString
#define glIsSync mg_gl_get_api()->IsSync
#define glCopyTexImage1D mg_gl_get_api()->CopyTexImage1D
#define glSamplerParameterIiv mg_gl_get_api()->SamplerParameterIiv
#define glVertexAttrib3fv mg_gl_get_api()->VertexAttrib3fv
#define glBeginQuery mg_gl_get_api()->BeginQuery
#define glGetBufferPointerv mg_gl_get_api()->GetBufferPointerv
#define glBlitFramebuffer mg_gl_get_api()->BlitFramebuffer
#define glGetSamplerParameteriv mg_gl_get_api()->GetSamplerParameteriv
#define glPointParameteri mg_gl_get_api()->PointParameteri
#define glPolygonMode mg_gl_get_api()->PolygonMode
#define glDrawElementsIndirect mg_gl_get_api()->DrawElementsIndirect
#define glTexImage2DMultisample mg_gl_get_api()->TexImage2DMultisample
#define glVertexAttribL3d mg_gl_get_api()->VertexAttribL3d
#define glProgramUniform4i mg_gl_get_api()->ProgramUniform4i
#define glGetUniformfv mg_gl_get_api()->GetUniformfv
#define glDebugMessageControl mg_gl_get_api()->DebugMessageControl
#define glTexParameteriv mg_gl_get_api()->TexParameteriv
#define glIsBuffer mg_gl_get_api()->IsBuffer
#define glProgramUniformMatrix3dv mg_gl_get_api()->ProgramUniformMatrix3dv
#define glBindFramebuffer mg_gl_get_api()->BindFramebuffer
#define glBufferStorage mg_gl_get_api()->BufferStorage
#define glProgramUniform4fv mg_gl_get_api()->ProgramUniform4fv
#define glBindTextures mg_gl_get_api()->BindTextures
#define glCompressedTexImage3D mg_gl_get_api()->CompressedTexImage3D
#define glProgramUniformMatrix4x2dv mg_gl_get_api()->ProgramUniformMatrix4x2dv
#define glPushDebugGroup mg_gl_get_api()->PushDebugGroup
#define glSamplerParameteriv mg_gl_get_api()->SamplerParameteriv
#define glVertexAttribI2i mg_gl_get_api()->VertexAttribI2i
#define glBindTransformFeedback mg_gl_get_api()->BindTransformFeedback
#define glGetRenderbufferParameteriv mg_gl_get_api()->GetRenderbufferParameteriv
#define glUniform2fv mg_gl_get_api()->Uniform2fv
#define glVertexAttrib1dv mg_gl_get_api()->VertexAttrib1dv
#define glSamplerParameteri mg_gl_get_api()->SamplerParameteri
#define glTexBufferRange mg_gl_get_api()->TexBufferRange
#define glGetShaderiv mg_gl_get_api()->GetShaderiv
#define glStencilMask mg_gl_get_api()->StencilMask
#define glVertexAttrib3f mg_gl_get_api()->VertexAttrib3f
#define glGetProgramPipelineiv mg_gl_get_api()->GetProgramPipelineiv
#define glDeleteQueries mg_gl_get_api()->DeleteQueries
#define glProgramUniform3uiv mg_gl_get_api()->ProgramUniform3uiv
#define glProgramUniformMatrix2x4fv mg_gl_get_api()->ProgramUniformMatrix2x4fv
#define glUniform1f mg_gl_get_api()->Uniform1f
#define glTexSubImage1D mg_gl_get_api()->TexSubImage1D
#define glClearBufferiv mg_gl_get_api()->ClearBufferiv
#define glProgramUniform4uiv mg_gl_get_api()->ProgramUniform4uiv
#define glInvalidateTexImage mg_gl_get_api()->InvalidateTexImage
#define glClearBufferSubData mg_gl_get_api()->ClearBufferSubData
#define glClearTexImage mg_gl_get_api()->ClearTexImage
#define glVertexAttrib4d mg_gl_get_api()->VertexAttrib4d
#define glRenderbufferStorageMultisample mg_gl_get_api()->RenderbufferStorageMultisample
#define glFramebufferTextureLayer mg_gl_get_api()->FramebufferTextureLayer
#define glUniform2f mg_gl_get_api()->Uniform2f
#define glVertexAttribL4d mg_gl_get_api()->VertexAttribL4d
#define glTexImage2D mg_gl_get_api()->TexImage2D
#define glLogicOp mg_gl_get_api()->LogicOp
#define glBindTexture mg_gl_get_api()->BindTexture
#define glVertexAttrib1fv mg_gl_get_api()->VertexAttrib1fv
#define glProgramUniformMatrix3fv mg_gl_get_api()->ProgramUniformMatrix3fv
#define glGetFragDataIndex mg_gl_get_api()->GetFragDataIndex
#define glUniformMatrix2x3dv mg_gl_get_api()->UniformMatrix2x3dv
#define glGetVertexAttribLdv mg_gl_get_api()->GetVertexAttribLdv
#define glBindRenderbuffer mg_gl_get_api()->BindRenderbuffer
#define glUniform1d mg_gl_get_api()->Uniform1d
#define glUniformMatrix2x4fv mg_gl_get_api()->UniformMatrix2x4fv
#define glMinSampleShading mg_gl_get_api()->MinSampleShading
#define glCopyTexSubImage1D mg_gl_get_api()->CopyTexSubImage1D
#define glTexImage1D mg_gl_get_api()->TexImage1D
#define glVertexAttrib1f mg_gl_get_api()->VertexAttrib1f
#define glLineWidth mg_gl_get_api()->LineWidth
#define glPointParameterf mg_gl_get_api()->PointParameterf
#define glDrawElementsInstancedBaseVertexBaseInstance mg_gl_get_api()->DrawElementsInstancedBaseVertexBaseInstance
#define glGetActiveSubroutineUniformiv mg_gl_get_api()->GetActiveSubroutineUniformiv
#define glUniform4ui mg_gl_get_api()->Uniform4ui
#define glVertexAttribBinding mg_gl_get_api()->VertexAttribBinding
#define glGetTexParameteriv mg_gl_get_api()->GetTexParameteriv
#define glRenderbufferStorage mg_gl_get_api()->RenderbufferStorage
#define glVertexAttrib4iv mg_gl_get_api()->VertexAttrib4iv
#define glUniformMatrix3fv mg_gl_get_api()->UniformMatrix3fv
#define glGetBooleanv mg_gl_get_api()->GetBooleanv
#define glProgramUniformMatrix2x3dv mg_gl_get_api()->ProgramUniformMatrix2x3dv
#define glProgramUniformMatrix4dv mg_gl_get_api()->ProgramUniformMatrix4dv
#define glUniform2iv mg_gl_get_api()->Uniform2iv
#define glBufferData mg_gl_get_api()->BufferData
#define glGetActiveSubroutineUniformName mg_gl_get_api()->GetActiveSubroutineUniformName
#define glGetStringi mg_gl_get_api()->GetStringi
#define glBindImageTexture mg_gl_get_api()->BindImageTexture
#define glProgramUniformMatrix3x2dv mg_gl_get_api()->ProgramUniformMatrix3x2dv
#define glVertexAttribL4dv mg_gl_get_api()->VertexAttribL4dv
#define glTexStorage3DMultisample mg_gl_get_api()->TexStorage3DMultisample
#define glDepthRangeArrayv mg_gl_get_api()->DepthRangeArrayv
#define glGetUniformiv mg_gl_get_api()->GetUniformiv
#define glDeleteTextures mg_gl_get_api()->DeleteTextures
#define glCreateShader mg_gl_get_api()->CreateShader
#define glVertexAttrib4s mg_gl_get_api()->VertexAttrib4s
#define glPrimitiveBoundingBox mg_gl_get_api()->PrimitiveBoundingBox
#define glDrawBuffers mg_gl_get_api()->DrawBuffers
#define glVertexAttrib2dv mg_gl_get_api()->VertexAttrib2dv
#define glTexParameterIuiv mg_gl_get_api()->TexParameterIuiv
#define glQueryCounter mg_gl_get_api()->QueryCounter
#define glVertexAttribL1dv mg_gl_get_api()->VertexAttribL1dv
#define glProgramUniform1d mg_gl_get_api()->ProgramUniform1d
#define glDeleteRenderbuffers mg_gl_get_api()->DeleteRenderbuffers
#define glPopDebugGroup mg_gl_get_api()->PopDebugGroup
#define glMultiDrawArrays mg_gl_get_api()->MultiDrawArrays
#define glGetActiveUniformsiv mg_gl_get_api()->GetActiveUniformsiv
#define glFlush mg_gl_get_api()->Flush
#define glUnmapBuffer mg_gl_get_api()->UnmapBuffer
#define glFramebufferTexture3D mg_gl_get_api()->FramebufferTexture3D
#define glUniform1fv mg_gl_get_api()->Uniform1fv
#define glIsFramebuffer mg_gl_get_api()->IsFramebuffer
#define glValidateProgram mg_gl_get_api()->ValidateProgram
#define glGetVertexAttribPointerv mg_gl_get_api()->GetVertexAttribPointerv
#define glReadnPixels mg_gl_get_api()->ReadnPixels
#define glVertexAttribP2ui mg_gl_get_api()->VertexAttribP2ui
#define glProgramUniform2i mg_gl_get_api()->ProgramUniform2i
#define glPatchParameteri mg_gl_get_api()->PatchParameteri
#define glVertexAttrib4Nub mg_gl_get_api()->VertexAttrib4Nub
#define glGenQueries mg_gl_get_api()->GenQueries
#define glProgramUniform2ui mg_gl_get_api()->ProgramUniform2ui
#define glBindSamplers mg_gl_get_api()->BindSamplers
#define glDisableVertexAttribArray mg_gl_get_api()->DisableVertexAttribArray
#define glEnablei mg_gl_get_api()->Enablei
#define glGetSynciv mg_gl_get_api()->GetSynciv
#define glVertexAttrib3s mg_gl_get_api()->VertexAttrib3s
#define glGetTexParameterIiv mg_gl_get_api()->GetTexParameterIiv
#define glVertexBindingDivisor mg_gl_get_api()->VertexBindingDivisor
#define glDepthRangef mg_gl_get_api()->DepthRangef
#define glVertexAttrib4Nuiv mg_gl_get_api()->VertexAttrib4Nuiv
#define glFinish mg_gl_get_api()->Finish
#define glBlendFunc mg_gl_get_api()->BlendFunc
#define glDrawTransformFeedbackStreamInstanced mg_gl_get_api()->DrawTransformFeedbackStreamInstanced
#define glUniformMatrix4x3fv mg_gl_get_api()->UniformMatrix4x3fv
#define glUniformMatrix4x2dv mg_gl_get_api()->UniformMatrix4x2dv
#define glUniform2d mg_gl_get_api()->Uniform2d
#define glGetnUniformfv mg_gl_get_api()->GetnUniformfv
#define glGetFloati_v mg_gl_get_api()->GetFloati_v
#define glGetInteger64i_v mg_gl_get_api()->GetInteger64i_v
#define glProgramUniform3f mg_gl_get_api()->ProgramUniform3f
#define glGetFramebufferParameteriv mg_gl_get_api()->GetFramebufferParameteriv
#define glVertexAttribI4bv mg_gl_get_api()->VertexAttribI4bv
#define glDeleteProgram mg_gl_get_api()->DeleteProgram
#define glCopyTexImage2D mg_gl_get_api()->CopyTexImage2D
#define glGetUniformuiv mg_gl_get_api()->GetUniformuiv
#define glDrawArraysIndirect mg_gl_get_api()->DrawArraysIndirect
#define glUniformMatrix4x2fv mg_gl_get_api()->UniformMatrix4x2fv
#define glFramebufferRenderbuffer mg_gl_get_api()->FramebufferRenderbuffer
#define glUniform2i mg_gl_get_api()->Uniform2i
#define glProgramUniform3dv mg_gl_get_api()->ProgramUniform3dv
#define glScissorIndexedv mg_gl_get_api()->ScissorIndexedv
#define glProgramUniform2d mg_gl_get_api()->ProgramUniform2d
#define glVertexAttrib4f mg_gl_get_api()->VertexAttrib4f
#define glBlendEquationSeparatei mg_gl_get_api()->BlendEquationSeparatei
#define glGetUniformdv mg_gl_get_api()->GetUniformdv
#define glDrawRangeElements mg_gl_get_api()->DrawRangeElements
#define glUniformMatrix3dv mg_gl_get_api()->UniformMatrix3dv
#define glProgramUniform2uiv mg_gl_get_api()->ProgramUniform2uiv
#define glVertexAttribI1uiv mg_gl_get_api()->VertexAttribI1uiv
#define glBeginQueryIndexed mg_gl_get_api()->BeginQueryIndexed
#define glPointParameterfv mg_gl_get_api()->PointParameterfv
#define glSampleCoverage mg_gl_get_api()->SampleCoverage
#define glResumeTransformFeedback mg_gl_get_api()->ResumeTransformFeedback
#define glReadPixels mg_gl_get_api()->ReadPixels
#define glLinkProgram mg_gl_get_api()->LinkProgram
#define glWaitSync mg_gl_get_api()->WaitSync
#define glActiveShaderProgram mg_gl_get_api()->ActiveShaderProgram
#define glGetQueryObjectiv mg_gl_get_api()->GetQueryObjectiv
#define glProgramUniform3i mg_gl_get_api()->ProgramUniform3i
#define glProgramUniform1ui mg_gl_get_api()->ProgramUniform1ui
#define glBlendBarrier mg_gl_get_api()->BlendBarrier
#define glVertexAttribI4ubv mg_gl_get_api()->VertexAttribI4ubv
#define glGetQueryObjecti64v mg_gl_get_api()->GetQueryObjecti64v
#define glUniformMatrix4dv mg_gl_get_api()->UniformMatrix4dv
#define glUniform1iv mg_gl_get_api()->Uniform1iv
#define glEnable mg_gl_get_api()->Enable
#define glGenBuffers mg_gl_get_api()->GenBuffers
#define glTexStorage3D mg_gl_get_api()->TexStorage3D
#define glInvalidateTexSubImage mg_gl_get_api()->InvalidateTexSubImage
#define glProgramUniform1i mg_gl_get_api()->ProgramUniform1i
#define glBlendEquation mg_gl_get_api()->BlendEquation
#define glDepthRange mg_gl_get_api()->DepthRange
#define glUniform2dv mg_gl_get_api()->Uniform2dv
#define glBlendFuncSeparate mg_gl_get_api()->BlendFuncSeparate
#define glUniform1dv mg_gl_get_api()->Uniform1dv
#define glEndQueryIndexed mg_gl_get_api()->EndQueryIndexed
#define glDeleteTransformFeedbacks mg_gl_get_api()->DeleteTransformFeedbacks
#define glBlendFuncSeparatei mg_gl_get_api()->BlendFuncSeparatei
#define glDepthFunc mg_gl_get_api()->DepthFunc
#define glInvalidateBufferData mg_gl_get_api()->InvalidateBufferData
#define glBindImageTextures mg_gl_get_api()->BindImageTextures
#define glDeleteFramebuffers mg_gl_get_api()->DeleteFramebuffers
#define glVertexAttribI2iv mg_gl_get_api()->VertexAttribI2iv
#define glVertexAttrib4sv mg_gl_get_api()->VertexAttrib4sv
#define glVertexAttribFormat mg_gl_get_api()->VertexAttribFormat
#define glMapBufferRange mg_gl_get_api()->MapBufferRange
#define glDetachShader mg_gl_get_api()->DetachShader
#define glGetBooleani_v mg_gl_get_api()->GetBooleani_v
#define glDepthRangeIndexed mg_gl_get_api()->DepthRangeIndexed
#define glPauseTransformFeedback mg_gl_get_api()->PauseTransformFeedback
#define glVertexAttribL3dv mg_gl_get_api()->VertexAttribL3dv
#define glPrimitiveRestartIndex mg_gl_get_api()->PrimitiveRestartIndex
#define glUniform4d mg_gl_get_api()->Uniform4d
#define glTransformFeedbackVaryings mg_gl_get_api()->TransformFeedbackVaryings
#define glDeleteBuffers mg_gl_get_api()->DeleteBuffers
#define glGetProgramResourceLocation mg_gl_get_api()->GetProgramResourceLocation
#define glUniform4f mg_gl_get_api()->Uniform4f
#define glGetSamplerParameterfv mg_gl_get_api()->GetSamplerParameterfv
#define glVertexAttribP4ui mg_gl_get_api()->VertexAttribP4ui
#define glIsRenderbuffer mg_gl_get_api()->IsRenderbuffer
#define glVertexAttrib4Nbv mg_gl_get_api()->VertexAttrib4Nbv
#define glVertexAttrib4Nsv mg_gl_get_api()->VertexAttrib4Nsv
#define glCullFace mg_gl_get_api()->CullFace
#define glMultiDrawElementsBaseVertex mg_gl_get_api()->MultiDrawElementsBaseVertex
#define glVertexAttribI3ui mg_gl_get_api()->VertexAttribI3ui
#define glGetUniformBlockIndex mg_gl_get_api()->GetUniformBlockIndex
#define glUseProgramStages mg_gl_get_api()->UseProgramStages
#define glGetActiveAttrib mg_gl_get_api()->GetActiveAttrib
#define glDrawArraysInstancedBaseInstance mg_gl_get_api()->DrawArraysInstancedBaseInstance
#define glIsProgramPipeline mg_gl_get_api()->IsProgramPipeline
#define glProgramUniform1uiv mg_gl_get_api()->ProgramUniform1uiv
#define glProgramUniform3iv mg_gl_get_api()->ProgramUniform3iv
#define glReadBuffer mg_gl_get_api()->ReadBuffer
#define glDeleteShader mg_gl_get_api()->DeleteShader
#define glCreateShaderProgramv mg_gl_get_api()->CreateShaderProgramv
#define glClientWaitSync mg_gl_get_api()->ClientWaitSync
#define glCompressedTexImage1D mg_gl_get_api()->CompressedTexImage1D
#define glVertexAttrib2d mg_gl_get_api()->VertexAttrib2d
#define glVertexAttrib3dv mg_gl_get_api()->VertexAttrib3dv
#define glVertexAttribI4i mg_gl_get_api()->VertexAttribI4i
#define glVertexAttribL2dv mg_gl_get_api()->VertexAttribL2dv
#define glGetDoublei_v mg_gl_get_api()->GetDoublei_v
#define glTexParameterfv mg_gl_get_api()->TexParameterfv
#define glGetAttribLocation mg_gl_get_api()->GetAttribLocation
#define glVertexAttribP1ui mg_gl_get_api()->VertexAttribP1ui
#define glVertexAttribIFormat mg_gl_get_api()->VertexAttribIFormat
#define glVertexAttribI1ui mg_gl_get_api()->VertexAttribI1ui
#define glGetVertexAttribiv mg_gl_get_api()->GetVertexAttribiv
#define glGetActiveSubroutineName mg_gl_get_api()->GetActiveSubroutineName
#define glIsQuery mg_gl_get_api()->IsQuery
#define glVertexAttrib1sv mg_gl_get_api()->VertexAttrib1sv
#define glProgramUniformMatrix2fv mg_gl_get_api()->ProgramUniformMatrix2fv
#define glUseProgram mg_gl_get_api()->UseProgram
#define glClear mg_gl_get_api()->Clear
#define glVertexAttrib4ubv mg_gl_get_api()->VertexAttrib4ubv
#define glInvalidateFramebuffer mg_gl_get_api()->InvalidateFramebuffer
#define glPixelStorei mg_gl_get_api()->PixelStorei
#define glUniform1i mg_gl_get_api()->Uniform1i
#define glUniform1uiv mg_gl_get_api()->Uniform1uiv
#define glTexImage3DMultisample mg_gl_get_api()->TexImage3DMultisample
#define glBindBuffer mg_gl_get_api()->BindBuffer
#define glActiveTexture mg_gl_get_api()->ActiveTexture
#define glDeleteSync mg_gl_get_api()->DeleteSync
#define glVertexAttrib4Niv mg_gl_get_api()->VertexAttrib4Niv
#define glVertexAttrib4uiv mg_gl_get_api()->VertexAttrib4uiv
#define glUniform3fv mg_gl_get_api()->Uniform3fv
#define glGenVertexArrays mg_gl_get_api()->GenVertexArrays
#define glProgramUniformMatrix3x2fv mg_gl_get_api()->ProgramUniformMatrix3x2fv
#define glBindAttribLocation mg_gl_get_api()->BindAttribLocation
#define glCopyTexSubImage2D mg_gl_get_api()->CopyTexSubImage2D
#define glBlendColor mg_gl_get_api()->BlendColor
#define glReleaseShaderCompiler mg_gl_get_api()->ReleaseShaderCompiler
#define glGenTransformFeedbacks mg_gl_get_api()->GenTransformFeedbacks
#define glIsShader mg_gl_get_api()->IsShader
#define glDrawElementsInstancedBaseVertex mg_gl_get_api()->DrawElementsInstancedBaseVertex
#define glVertexAttribLFormat mg_gl_get_api()->VertexAttribLFormat
#define glBindBuffersRange mg_gl_get_api()->BindBuffersRange
#define glColorMask mg_gl_get_api()->ColorMask
#define glUniformMatrix2x4dv mg_gl_get_api()->UniformMatrix2x4dv
#define glGetDoublev mg_gl_get_api()->GetDoublev
#define glUniformMatrix3x2dv mg_gl_get_api()->UniformMatrix3x2dv
#define glVertexAttribL2d mg_gl_get_api()->VertexAttribL2d
#define glFlushMappedBufferRange mg_gl_get_api()->FlushMappedBufferRange
#define glProgramUniform2iv mg_gl_get_api()->ProgramUniform2iv
#define glPointParameteriv mg_gl_get_api()->PointParameteriv
#define glUniformSubroutinesuiv mg_gl_get_api()->UniformSubroutinesuiv
#define glProgramUniformMatrix4x3fv mg_gl_get_api()->ProgramUniformMatrix4x3fv
#define glGetBufferParameteriv mg_gl_get_api()->GetBufferParameteriv
#define glGetTexImage mg_gl_get_api()->GetTexImage
#define glProgramUniformMatrix2x4dv mg_gl_get_api()->ProgramUniformMatrix2x4dv
#define glVertexAttribI1iv mg_gl_get_api()->VertexAttribI1iv
#define glIsSampler mg_gl_get_api()->IsSampler
#define glGetVertexAttribfv mg_gl_get_api()->GetVertexAttribfv
#define glTexStorage1D mg_gl_get_api()->TexStorage1D
#define glViewportArrayv mg_gl_get_api()->ViewportArrayv
#define glTexImage3D mg_gl_get_api()->TexImage3D
#define glProgramUniformMatrix4fv mg_gl_get_api()->ProgramUniformMatrix4fv
#define glGetTexLevelParameteriv mg_gl_get_api()->GetTexLevelParameteriv
#define glGetVertexAttribdv mg_gl_get_api()->GetVertexAttribdv
#define glInvalidateBufferSubData mg_gl_get_api()->InvalidateBufferSubData
#define glProgramUniform4f mg_gl_get_api()->ProgramUniform4f
#define glVertexAttrib2s mg_gl_get_api()->VertexAttrib2s
#define glTexSubImage3D mg_gl_get_api()->TexSubImage3D
#define glGetFragDataLocation mg_gl_get_api()->GetFragDataLocation
#define glVertexAttribI1i mg_gl_get_api()->VertexAttribI1i
#define glGetActiveAtomicCounterBufferiv mg_gl_get_api()->GetActiveAtomicCounterBufferiv
#define glTexStorage2DMultisample mg_gl_get_api()->TexStorage2DMultisample
#define glBindBuffersBase mg_gl_get_api()->BindBuffersBase
#define glGetUniformSubroutineuiv mg_gl_get_api()->GetUniformSubroutineuiv
#define glEndTransformFeedback mg_gl_get_api()->EndTransformFeedback
#define glShaderSource mg_gl_get_api()->ShaderSource
#define glGetQueryObjectuiv mg_gl_get_api()->GetQueryObjectuiv
#define glGetTexLevelParameterfv mg_gl_get_api()->GetTexLevelParameterfv
#define glUniform3d mg_gl_get_api()->Uniform3d
#define glClearBufferfv mg_gl_get_api()->ClearBufferfv
#define glGetSamplerParameterIiv mg_gl_get_api()->GetSamplerParameterIiv
#define glMemoryBarrierByRegion mg_gl_get_api()->MemoryBarrierByRegion
#define glGenProgramPipelines mg_gl_get_api()->GenProgramPipelines
#define glBindFragDataLocation mg_gl_get_api()->BindFragDataLocation
#define glGetShaderInfoLog mg_gl_get_api()->GetShaderInfoLog
#define glTextureView mg_gl_get_api()->TextureView
#define glIsEnabled mg_gl_get_api()->IsEnabled
#define glPatchParameterfv mg_gl_get_api()->PatchParameterfv
#define glHint mg_gl_get_api()->Hint
#define glPixelStoref mg_gl_get_api()->PixelStoref
#define glProgramUniform4iv mg_gl_get_api()->ProgramUniform4iv
#define glBlendEquationSeparate mg_gl_get_api()->BlendEquationSeparate
#define glClearBufferuiv mg_gl_get_api()->ClearBufferuiv
#define glObjectLabel mg_gl_get_api()->ObjectLabel
#define glGetPointerv mg_gl_get_api()->GetPointerv
#define glDeleteSamplers mg_gl_get_api()->DeleteSamplers
#define glProgramUniform2dv mg_gl_get_api()->ProgramUniform2dv
#define glEnableVertexAttribArray mg_gl_get_api()->EnableVertexAttribArray
#define glClampColor mg_gl_get_api()->ClampColor
#define glGetShaderPrecisionFormat mg_gl_get_api()->GetShaderPrecisionFormat
#define glGetnUniformiv mg_gl_get_api()->GetnUniformiv
#define glUniform3iv mg_gl_get_api()->Uniform3iv
#define glVertexAttribI3uiv mg_gl_get_api()->VertexAttribI3uiv
#define glBufferSubData mg_gl_get_api()->BufferSubData
#define glSamplerParameterfv mg_gl_get_api()->SamplerParameterfv
#define glVertexAttribI4sv mg_gl_get_api()->VertexAttribI4sv
#define glTexBuffer mg_gl_get_api()->TexBuffer
#define glCreateProgram mg_gl_get_api()->CreateProgram
#define glBindBufferRange mg_gl_get_api()->BindBufferRange
#define glIsTexture mg_gl_get_api()->IsTexture
#define glUniformMatrix3x2fv mg_gl_get_api()->UniformMatrix3x2fv
#define glDrawElements mg_gl_get_api()->DrawElements
#define glProgramUniform1f mg_gl_get_api()->ProgramUniform1f
#define glUniform3dv mg_gl_get_api()->Uniform3dv
#define glDrawElementsInstanced mg_gl_get_api()->DrawElementsInstanced
#define glGenerateMipmap mg_gl_get_api()->GenerateMipmap
#define glProgramUniform4ui mg_gl_get_api()->ProgramUniform4ui
#define glGetVertexAttribIuiv mg_gl_get_api()->GetVertexAttribIuiv
#define glClearDepth mg_gl_get_api()->ClearDepth
#define glDrawTransformFeedback mg_gl_get_api()->DrawTransformFeedback
#define glTexSubImage2D mg_gl_get_api()->TexSubImage2D
#define glVertexAttribP4uiv mg_gl_get_api()->VertexAttribP4uiv
#define glGetTexParameterIuiv mg_gl_get_api()->GetTexParameterIuiv
#define glPointSize mg_gl_get_api()->PointSize
#define glGetCompressedTexImage mg_gl_get_api()->GetCompressedTexImage
#define glUniform2uiv mg_gl_get_api()->Uniform2uiv
#define glFenceSync mg_gl_get_api()->FenceSync
#define glMapBuffer mg_gl_get_api()->MapBuffer
#define glGetFramebufferAttachmentParameteriv mg_gl_get_api()->GetFramebufferAttachmentParameteriv
#define glBeginTransformFeedback mg_gl_get_api()->BeginTransformFeedback
#define glTexParameteri mg_gl_get_api()->TexParameteri
#define glGetTexParameterfv mg_gl_get_api()->GetTexParameterfv
#define glVertexAttribL1d mg_gl_get_api()->VertexAttribL1d
#define glVertexAttrib4Nusv mg_gl_get_api()->VertexAttrib4Nusv
#define glProgramUniform2f mg_gl_get_api()->ProgramUniform2f
#define glVertexAttrib1d mg_gl_get_api()->VertexAttrib1d
#define glGetError mg_gl_get_api()->GetError
#define glVertexAttribP2uiv mg_gl_get_api()->VertexAttribP2uiv
#define glUniformMatrix4x3dv mg_gl_get_api()->UniformMatrix4x3dv
#define glGetShaderSource mg_gl_get_api()->GetShaderSource
#define glStencilFuncSeparate mg_gl_get_api()->StencilFuncSeparate
#define glFramebufferTexture mg_gl_get_api()->FramebufferTexture
#define glProgramUniformMatrix4x3dv mg_gl_get_api()->ProgramUniformMatrix4x3dv
#define glUniform4dv mg_gl_get_api()->Uniform4dv
#define glGetProgramInfoLog mg_gl_get_api()->GetProgramInfoLog
#define glProgramUniformMatrix3x4dv mg_gl_get_api()->ProgramUniformMatrix3x4dv
#define glUniformMatrix3x4fv mg_gl_get_api()->UniformMatrix3x4fv
#define glCompressedTexSubImage3D mg_gl_get_api()->CompressedTexSubImage3D
#define glDrawElementsInstancedBaseInstance mg_gl_get_api()->DrawElementsInstancedBaseInstance
#define glBindBufferBase mg_gl_get_api()->BindBufferBase
#define glUniformMatrix2dv mg_gl_get_api()->UniformMatrix2dv
#define glGetTransformFeedbackVarying mg_gl_get_api()->GetTransformFeedbackVarying
#define glCompressedTexImage2D mg_gl_get_api()->CompressedTexImage2D
#define glGetUniformIndices mg_gl_get_api()->GetUniformIndices
#define glTexStorage2D mg_gl_get_api()->TexStorage2D
#define glVertexAttrib4usv mg_gl_get_api()->VertexAttrib4usv
#define glGetActiveUniformBlockiv mg_gl_get_api()->GetActiveUniformBlockiv
#define glCopyImageSubData mg_gl_get_api()->CopyImageSubData
#define glVertexAttribI4ui mg_gl_get_api()->VertexAttribI4ui
#define glVertexAttrib4fv mg_gl_get_api()->VertexAttrib4fv
#define glProgramUniform1iv mg_gl_get_api()->ProgramUniform1iv
#define glBindVertexBuffers mg_gl_get_api()->BindVertexBuffers
#define glProvokingVertex mg_gl_get_api()->ProvokingVertex
#define glUniform3uiv mg_gl_get_api()->Uniform3uiv
#define glIsVertexArray mg_gl_get_api()->IsVertexArray
#define glViewportIndexedfv mg_gl_get_api()->ViewportIndexedfv
#define glDispatchCompute mg_gl_get_api()->DispatchCompute
#define glDrawArrays mg_gl_get_api()->DrawArrays
#define glGetQueryIndexediv mg_gl_get_api()->GetQueryIndexediv
#define glUniform3ui mg_gl_get_api()->Uniform3ui
#define glMultiDrawElements mg_gl_get_api()->MultiDrawElements
#define glClearBufferfi mg_gl_get_api()->ClearBufferfi
#define glProgramUniformMatrix2dv mg_gl_get_api()->ProgramUniformMatrix2dv
#define glVertexAttribP3ui mg_gl_get_api()->VertexAttribP3ui
#define glVertexAttribI3iv mg_gl_get_api()->VertexAttribI3iv
#define glProgramParameteri mg_gl_get_api()->ProgramParameteri
#define glUniform4uiv mg_gl_get_api()->Uniform4uiv
#define glUniformMatrix4fv mg_gl_get_api()->UniformMatrix4fv
#define glVertexAttrib2fv mg_gl_get_api()->VertexAttrib2fv
#define glGetGraphicsResetStatus mg_gl_get_api()->GetGraphicsResetStatus
#define glShaderBinary mg_gl_get_api()->ShaderBinary
#define glShaderStorageBlockBinding mg_gl_get_api()->ShaderStorageBlockBinding
#define glDrawArraysInstanced mg_gl_get_api()->DrawArraysInstanced
#define glGetSubroutineIndex mg_gl_get_api()->GetSubroutineIndex
#define glGetVertexAttribIiv mg_gl_get_api()->GetVertexAttribIiv
#define glDrawElementsBaseVertex mg_gl_get_api()->DrawElementsBaseVertex
#define glGetProgramResourceName mg_gl_get_api()->GetProgramResourceName
#define glGetInternalformativ mg_gl_get_api()->GetInternalformativ
#define glUniform4fv mg_gl_get_api()->Uniform4fv
#define glVertexAttribLPointer mg_gl_get_api()->VertexAttribLPointer
#define glGetSamplerParameterIuiv mg_gl_get_api()->GetSamplerParameterIuiv
#define glVertexAttrib3d mg_gl_get_api()->VertexAttrib3d
#define glSamplerParameterf mg_gl_get_api()->SamplerParameterf
#define glGenFramebuffers mg_gl_get_api()->GenFramebuffers
#define glGetQueryObjectui64v mg_gl_get_api()->GetQueryObjectui64v
#define glGetProgramResourceiv mg_gl_get_api()->GetProgramResourceiv
#define glVertexAttribP3uiv mg_gl_get_api()->VertexAttribP3uiv
#define glVertexAttrib4dv mg_gl_get_api()->VertexAttrib4dv
#define glIsTransformFeedback mg_gl_get_api()->IsTransformFeedback
#define glDispatchComputeIndirect mg_gl_get_api()->DispatchComputeIndirect
#define glCompressedTexSubImage2D mg_gl_get_api()->CompressedTexSubImage2D
#define glBindVertexBuffer mg_gl_get_api()->BindVertexBuffer
#define glProgramUniform1dv mg_gl_get_api()->ProgramUniform1dv
#define glStencilOp mg_gl_get_api()->StencilOp
#define glVertexAttrib1s mg_gl_get_api()->VertexAttrib1s
#define glGetMultisamplefv mg_gl_get_api()->GetMultisamplefv
#define glGetQueryiv mg_gl_get_api()->GetQueryiv
#define glBindProgramPipeline mg_gl_get_api()->BindProgramPipeline
#define glFramebufferParameteri mg_gl_get_api()->FramebufferParameteri
#define glGetIntegeri_v mg_gl_get_api()->GetIntegeri_v
#define glGetIntegerv mg_gl_get_api()->GetIntegerv
#define glDeleteProgramPipelines mg_gl_get_api()->DeleteProgramPipelines
#define glClearBufferData mg_gl_get_api()->ClearBufferData
#define glProgramUniform2fv mg_gl_get_api()->ProgramUniform2fv
#define glGetSubroutineUniformLocation mg_gl_get_api()->GetSubroutineUniformLocation
#define glGetProgramiv mg_gl_get_api()->GetProgramiv
#define glDepthMask mg_gl_get_api()->DepthMask
#define glVertexAttribIPointer mg_gl_get_api()->VertexAttribIPointer
#define glGetActiveUniformName mg_gl_get_api()->GetActiveUniformName
#define glVertexAttribP1uiv mg_gl_get_api()->VertexAttribP1uiv
#define glProgramUniformMatrix2x3fv mg_gl_get_api()->ProgramUniformMatrix2x3fv
#define glGetUniformLocation mg_gl_get_api()->GetUniformLocation
#define glSampleMaski mg_gl_get_api()->SampleMaski
#define glGetBufferSubData mg_gl_get_api()->GetBufferSubData
#define glUniform4iv mg_gl_get_api()->Uniform4iv
#define glVertexAttribPointer mg_gl_get_api()->VertexAttribPointer
#define glFramebufferTexture2D mg_gl_get_api()->FramebufferTexture2D
#define glGetnUniformuiv mg_gl_get_api()->GetnUniformuiv
#define glGetInternalformati64v mg_gl_get_api()->GetInternalformati64v
#define glCompileShader mg_gl_get_api()->CompileShader
#define glDrawBuffer mg_gl_get_api()->DrawBuffer
#define glUniform3f mg_gl_get_api()->Uniform3f
#define glDrawTransformFeedbackInstanced mg_gl_get_api()->DrawTransformFeedbackInstanced
#define glProgramUniform4dv mg_gl_get_api()->ProgramUniform4dv
#define glGetProgramStageiv mg_gl_get_api()->GetProgramStageiv
#define glStencilFunc mg_gl_get_api()->StencilFunc
#define glGetProgramResourceIndex mg_gl_get_api()->GetProgramResourceIndex
#define glClearStencil mg_gl_get_api()->ClearStencil
#define glScissorArrayv mg_gl_get_api()->ScissorArrayv
#define glMemoryBarrier mg_gl_get_api()->MemoryBarrier
#define glSamplerParameterIuiv mg_gl_get_api()->SamplerParameterIuiv
#define glGetFloatv mg_gl_get_api()->GetFloatv
#define glBindFragDataLocationIndexed mg_gl_get_api()->BindFragDataLocationIndexed
#define glEndQuery mg_gl_get_api()->EndQuery
#define glVertexAttrib4Nubv mg_gl_get_api()->VertexAttrib4Nubv
#define glGetProgramPipelineInfoLog mg_gl_get_api()->GetProgramPipelineInfoLog
#define glVertexAttribDivisor mg_gl_get_api()->VertexAttribDivisor
#define glUniform3i mg_gl_get_api()->Uniform3i
#define glUniform2ui mg_gl_get_api()->Uniform2ui
#define glInvalidateSubFramebuffer mg_gl_get_api()->InvalidateSubFramebuffer
#define glGetDebugMessageLog mg_gl_get_api()->GetDebugMessageLog
#endif // __GL_API_H__