// GENERATED FILE - DO NOT EDIT.
// Generated by generate_gl_dispatch_table.py using data from gl_bindings_data.json and gl.xml.
//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// DispatchTableGL_autogen.h:
//   Defines the native binding interface for ANGLE's OpenGL back-end.

#ifndef LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_
#define LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_

#include "common/angleutils.h"
#include "libANGLE/renderer/gl/functionsgl_typedefs.h"

#include <set>

namespace gl
{
struct Version;
}  // namespace gl

namespace rx
{
class DispatchTableGL : angle::NonCopyable
{
  public:
    // clang-format off
    // 1.0
    PFNGLBLENDFUNCPROC blendFunc = nullptr;
    PFNGLCLEARPROC clear = nullptr;
    PFNGLCLEARCOLORPROC clearColor = nullptr;
    PFNGLCLEARDEPTHPROC clearDepth = nullptr;
    PFNGLCLEARSTENCILPROC clearStencil = nullptr;
    PFNGLCOLORMASKPROC colorMask = nullptr;
    PFNGLCULLFACEPROC cullFace = nullptr;
    PFNGLDEPTHFUNCPROC depthFunc = nullptr;
    PFNGLDEPTHMASKPROC depthMask = nullptr;
    PFNGLDEPTHRANGEPROC depthRange = nullptr;
    PFNGLDISABLEPROC disable = nullptr;
    PFNGLDRAWBUFFERPROC drawBuffer = nullptr;
    PFNGLENABLEPROC enable = nullptr;
    PFNGLFINISHPROC finish = nullptr;
    PFNGLFLUSHPROC flush = nullptr;
    PFNGLFRONTFACEPROC frontFace = nullptr;
    PFNGLGETBOOLEANVPROC getBooleanv = nullptr;
    PFNGLGETDOUBLEVPROC getDoublev = nullptr;
    PFNGLGETERRORPROC getError = nullptr;
    PFNGLGETFLOATVPROC getFloatv = nullptr;
    PFNGLGETINTEGERVPROC getIntegerv = nullptr;
    PFNGLGETSTRINGPROC getString = nullptr;
    PFNGLGETTEXIMAGEPROC getTexImage = nullptr;
    PFNGLGETTEXLEVELPARAMETERFVPROC getTexLevelParameterfv = nullptr;
    PFNGLGETTEXLEVELPARAMETERIVPROC getTexLevelParameteriv = nullptr;
    PFNGLGETTEXPARAMETERFVPROC getTexParameterfv = nullptr;
    PFNGLGETTEXPARAMETERIVPROC getTexParameteriv = nullptr;
    PFNGLHINTPROC hint = nullptr;
    PFNGLISENABLEDPROC isEnabled = nullptr;
    PFNGLLINEWIDTHPROC lineWidth = nullptr;
    PFNGLLOGICOPPROC logicOp = nullptr;
    PFNGLPIXELSTOREFPROC pixelStoref = nullptr;
    PFNGLPIXELSTOREIPROC pixelStorei = nullptr;
    PFNGLPOINTSIZEPROC pointSize = nullptr;
    PFNGLPOLYGONMODEPROC polygonMode = nullptr;
    PFNGLREADBUFFERPROC readBuffer = nullptr;
    PFNGLREADPIXELSPROC readPixels = nullptr;
    PFNGLSCISSORPROC scissor = nullptr;
    PFNGLSTENCILFUNCPROC stencilFunc = nullptr;
    PFNGLSTENCILMASKPROC stencilMask = nullptr;
    PFNGLSTENCILOPPROC stencilOp = nullptr;
    PFNGLTEXIMAGE1DPROC texImage1D = nullptr;
    PFNGLTEXIMAGE2DPROC texImage2D = nullptr;
    PFNGLTEXPARAMETERFPROC texParameterf = nullptr;
    PFNGLTEXPARAMETERFVPROC texParameterfv = nullptr;
    PFNGLTEXPARAMETERIPROC texParameteri = nullptr;
    PFNGLTEXPARAMETERIVPROC texParameteriv = nullptr;
    PFNGLVIEWPORTPROC viewport = nullptr;

    // 1.1
    PFNGLBINDTEXTUREPROC bindTexture = nullptr;
    PFNGLCOPYTEXIMAGE1DPROC copyTexImage1D = nullptr;
    PFNGLCOPYTEXIMAGE2DPROC copyTexImage2D = nullptr;
    PFNGLCOPYTEXSUBIMAGE1DPROC copyTexSubImage1D = nullptr;
    PFNGLCOPYTEXSUBIMAGE2DPROC copyTexSubImage2D = nullptr;
    PFNGLDELETETEXTURESPROC deleteTextures = nullptr;
    PFNGLDRAWARRAYSPROC drawArrays = nullptr;
    PFNGLDRAWELEMENTSPROC drawElements = nullptr;
    PFNGLGENTEXTURESPROC genTextures = nullptr;
    PFNGLISTEXTUREPROC isTexture = nullptr;
    PFNGLPOLYGONOFFSETPROC polygonOffset = nullptr;
    PFNGLTEXSUBIMAGE1DPROC texSubImage1D = nullptr;
    PFNGLTEXSUBIMAGE2DPROC texSubImage2D = nullptr;

    // 1.2
    PFNGLBLENDCOLORPROC blendColor = nullptr;
    PFNGLBLENDEQUATIONPROC blendEquation = nullptr;
    PFNGLCOPYTEXSUBIMAGE3DPROC copyTexSubImage3D = nullptr;
    PFNGLDRAWRANGEELEMENTSPROC drawRangeElements = nullptr;
    PFNGLTEXIMAGE3DPROC texImage3D = nullptr;
    PFNGLTEXSUBIMAGE3DPROC texSubImage3D = nullptr;

    // 1.2 Extensions
    PFNGLDELETEFENCESNVPROC deleteFencesNV = nullptr;
    PFNGLFINISHFENCENVPROC finishFenceNV = nullptr;
    PFNGLGENFENCESNVPROC genFencesNV = nullptr;
    PFNGLGETFENCEIVNVPROC getFenceivNV = nullptr;
    PFNGLISFENCENVPROC isFenceNV = nullptr;
    PFNGLSETFENCENVPROC setFenceNV = nullptr;
    PFNGLTESTFENCENVPROC testFenceNV = nullptr;

    // 1.3
    PFNGLACTIVETEXTUREPROC activeTexture = nullptr;
    PFNGLCOMPRESSEDTEXIMAGE1DPROC compressedTexImage1D = nullptr;
    PFNGLCOMPRESSEDTEXIMAGE2DPROC compressedTexImage2D = nullptr;
    PFNGLCOMPRESSEDTEXIMAGE3DPROC compressedTexImage3D = nullptr;
    PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC compressedTexSubImage1D = nullptr;
    PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC compressedTexSubImage2D = nullptr;
    PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC compressedTexSubImage3D = nullptr;
    PFNGLGETCOMPRESSEDTEXIMAGEPROC getCompressedTexImage = nullptr;
    PFNGLSAMPLECOVERAGEPROC sampleCoverage = nullptr;

    // 1.4
    PFNGLBLENDFUNCSEPARATEPROC blendFuncSeparate = nullptr;
    PFNGLMULTIDRAWARRAYSPROC multiDrawArrays = nullptr;
    PFNGLMULTIDRAWELEMENTSPROC multiDrawElements = nullptr;
    PFNGLPOINTPARAMETERFPROC pointParameterf = nullptr;
    PFNGLPOINTPARAMETERFVPROC pointParameterfv = nullptr;
    PFNGLPOINTPARAMETERIPROC pointParameteri = nullptr;
    PFNGLPOINTPARAMETERIVPROC pointParameteriv = nullptr;

    // 1.5
    PFNGLBEGINQUERYPROC beginQuery = nullptr;
    PFNGLBINDBUFFERPROC bindBuffer = nullptr;
    PFNGLBUFFERDATAPROC bufferData = nullptr;
    PFNGLBUFFERSUBDATAPROC bufferSubData = nullptr;
    PFNGLDELETEBUFFERSPROC deleteBuffers = nullptr;
    PFNGLDELETEQUERIESPROC deleteQueries = nullptr;
    PFNGLENDQUERYPROC endQuery = nullptr;
    PFNGLGENBUFFERSPROC genBuffers = nullptr;
    PFNGLGENQUERIESPROC genQueries = nullptr;
    PFNGLGETBUFFERPARAMETERIVPROC getBufferParameteriv = nullptr;
    PFNGLGETBUFFERPOINTERVPROC getBufferPointerv = nullptr;
    PFNGLGETBUFFERSUBDATAPROC getBufferSubData = nullptr;
    PFNGLGETQUERYOBJECTIVPROC getQueryObjectiv = nullptr;
    PFNGLGETQUERYOBJECTUIVPROC getQueryObjectuiv = nullptr;
    PFNGLGETQUERYIVPROC getQueryiv = nullptr;
    PFNGLISBUFFERPROC isBuffer = nullptr;
    PFNGLISQUERYPROC isQuery = nullptr;
    PFNGLMAPBUFFERPROC mapBuffer = nullptr;
    PFNGLUNMAPBUFFERPROC unmapBuffer = nullptr;

    // 2.0
    PFNGLATTACHSHADERPROC attachShader = nullptr;
    PFNGLBINDATTRIBLOCATIONPROC bindAttribLocation = nullptr;
    PFNGLBLENDEQUATIONSEPARATEPROC blendEquationSeparate = nullptr;
    PFNGLCOMPILESHADERPROC compileShader = nullptr;
    PFNGLCREATEPROGRAMPROC createProgram = nullptr;
    PFNGLCREATESHADERPROC createShader = nullptr;
    PFNGLDELETEPROGRAMPROC deleteProgram = nullptr;
    PFNGLDELETESHADERPROC deleteShader = nullptr;
    PFNGLDETACHSHADERPROC detachShader = nullptr;
    PFNGLDISABLEVERTEXATTRIBARRAYPROC disableVertexAttribArray = nullptr;
    PFNGLDRAWBUFFERSPROC drawBuffers = nullptr;
    PFNGLENABLEVERTEXATTRIBARRAYPROC enableVertexAttribArray = nullptr;
    PFNGLGETACTIVEATTRIBPROC getActiveAttrib = nullptr;
    PFNGLGETACTIVEUNIFORMPROC getActiveUniform = nullptr;
    PFNGLGETATTACHEDSHADERSPROC getAttachedShaders = nullptr;
    PFNGLGETATTRIBLOCATIONPROC getAttribLocation = nullptr;
    PFNGLGETPROGRAMINFOLOGPROC getProgramInfoLog = nullptr;
    PFNGLGETPROGRAMIVPROC getProgramiv = nullptr;
    PFNGLGETSHADERINFOLOGPROC getShaderInfoLog = nullptr;
    PFNGLGETSHADERSOURCEPROC getShaderSource = nullptr;
    PFNGLGETSHADERIVPROC getShaderiv = nullptr;
    PFNGLGETUNIFORMLOCATIONPROC getUniformLocation = nullptr;
    PFNGLGETUNIFORMFVPROC getUniformfv = nullptr;
    PFNGLGETUNIFORMIVPROC getUniformiv = nullptr;
    PFNGLGETVERTEXATTRIBPOINTERVPROC getVertexAttribPointerv = nullptr;
    PFNGLGETVERTEXATTRIBDVPROC getVertexAttribdv = nullptr;
    PFNGLGETVERTEXATTRIBFVPROC getVertexAttribfv = nullptr;
    PFNGLGETVERTEXATTRIBIVPROC getVertexAttribiv = nullptr;
    PFNGLISPROGRAMPROC isProgram = nullptr;
    PFNGLISSHADERPROC isShader = nullptr;
    PFNGLLINKPROGRAMPROC linkProgram = nullptr;
    PFNGLSHADERSOURCEPROC shaderSource = nullptr;
    PFNGLSTENCILFUNCSEPARATEPROC stencilFuncSeparate = nullptr;
    PFNGLSTENCILMASKSEPARATEPROC stencilMaskSeparate = nullptr;
    PFNGLSTENCILOPSEPARATEPROC stencilOpSeparate = nullptr;
    PFNGLUNIFORM1FPROC uniform1f = nullptr;
    PFNGLUNIFORM1FVPROC uniform1fv = nullptr;
    PFNGLUNIFORM1IPROC uniform1i = nullptr;
    PFNGLUNIFORM1IVPROC uniform1iv = nullptr;
    PFNGLUNIFORM2FPROC uniform2f = nullptr;
    PFNGLUNIFORM2FVPROC uniform2fv = nullptr;
    PFNGLUNIFORM2IPROC uniform2i = nullptr;
    PFNGLUNIFORM2IVPROC uniform2iv = nullptr;
    PFNGLUNIFORM3FPROC uniform3f = nullptr;
    PFNGLUNIFORM3FVPROC uniform3fv = nullptr;
    PFNGLUNIFORM3IPROC uniform3i = nullptr;
    PFNGLUNIFORM3IVPROC uniform3iv = nullptr;
    PFNGLUNIFORM4FPROC uniform4f = nullptr;
    PFNGLUNIFORM4FVPROC uniform4fv = nullptr;
    PFNGLUNIFORM4IPROC uniform4i = nullptr;
    PFNGLUNIFORM4IVPROC uniform4iv = nullptr;
    PFNGLUNIFORMMATRIX2FVPROC uniformMatrix2fv = nullptr;
    PFNGLUNIFORMMATRIX3FVPROC uniformMatrix3fv = nullptr;
    PFNGLUNIFORMMATRIX4FVPROC uniformMatrix4fv = nullptr;
    PFNGLUSEPROGRAMPROC useProgram = nullptr;
    PFNGLVALIDATEPROGRAMPROC validateProgram = nullptr;
    PFNGLVERTEXATTRIB1DPROC vertexAttrib1d = nullptr;
    PFNGLVERTEXATTRIB1DVPROC vertexAttrib1dv = nullptr;
    PFNGLVERTEXATTRIB1FPROC vertexAttrib1f = nullptr;
    PFNGLVERTEXATTRIB1FVPROC vertexAttrib1fv = nullptr;
    PFNGLVERTEXATTRIB1SPROC vertexAttrib1s = nullptr;
    PFNGLVERTEXATTRIB1SVPROC vertexAttrib1sv = nullptr;
    PFNGLVERTEXATTRIB2DPROC vertexAttrib2d = nullptr;
    PFNGLVERTEXATTRIB2DVPROC vertexAttrib2dv = nullptr;
    PFNGLVERTEXATTRIB2FPROC vertexAttrib2f = nullptr;
    PFNGLVERTEXATTRIB2FVPROC vertexAttrib2fv = nullptr;
    PFNGLVERTEXATTRIB2SPROC vertexAttrib2s = nullptr;
    PFNGLVERTEXATTRIB2SVPROC vertexAttrib2sv = nullptr;
    PFNGLVERTEXATTRIB3DPROC vertexAttrib3d = nullptr;
    PFNGLVERTEXATTRIB3DVPROC vertexAttrib3dv = nullptr;
    PFNGLVERTEXATTRIB3FPROC vertexAttrib3f = nullptr;
    PFNGLVERTEXATTRIB3FVPROC vertexAttrib3fv = nullptr;
    PFNGLVERTEXATTRIB3SPROC vertexAttrib3s = nullptr;
    PFNGLVERTEXATTRIB3SVPROC vertexAttrib3sv = nullptr;
    PFNGLVERTEXATTRIB4NBVPROC vertexAttrib4Nbv = nullptr;
    PFNGLVERTEXATTRIB4NIVPROC vertexAttrib4Niv = nullptr;
    PFNGLVERTEXATTRIB4NSVPROC vertexAttrib4Nsv = nullptr;
    PFNGLVERTEXATTRIB4NUBPROC vertexAttrib4Nub = nullptr;
    PFNGLVERTEXATTRIB4NUBVPROC vertexAttrib4Nubv = nullptr;
    PFNGLVERTEXATTRIB4NUIVPROC vertexAttrib4Nuiv = nullptr;
    PFNGLVERTEXATTRIB4NUSVPROC vertexAttrib4Nusv = nullptr;
    PFNGLVERTEXATTRIB4BVPROC vertexAttrib4bv = nullptr;
    PFNGLVERTEXATTRIB4DPROC vertexAttrib4d = nullptr;
    PFNGLVERTEXATTRIB4DVPROC vertexAttrib4dv = nullptr;
    PFNGLVERTEXATTRIB4FPROC vertexAttrib4f = nullptr;
    PFNGLVERTEXATTRIB4FVPROC vertexAttrib4fv = nullptr;
    PFNGLVERTEXATTRIB4IVPROC vertexAttrib4iv = nullptr;
    PFNGLVERTEXATTRIB4SPROC vertexAttrib4s = nullptr;
    PFNGLVERTEXATTRIB4SVPROC vertexAttrib4sv = nullptr;
    PFNGLVERTEXATTRIB4UBVPROC vertexAttrib4ubv = nullptr;
    PFNGLVERTEXATTRIB4UIVPROC vertexAttrib4uiv = nullptr;
    PFNGLVERTEXATTRIB4USVPROC vertexAttrib4usv = nullptr;
    PFNGLVERTEXATTRIBPOINTERPROC vertexAttribPointer = nullptr;

    // 2.1
    PFNGLUNIFORMMATRIX2X3FVPROC uniformMatrix2x3fv = nullptr;
    PFNGLUNIFORMMATRIX2X4FVPROC uniformMatrix2x4fv = nullptr;
    PFNGLUNIFORMMATRIX3X2FVPROC uniformMatrix3x2fv = nullptr;
    PFNGLUNIFORMMATRIX3X4FVPROC uniformMatrix3x4fv = nullptr;
    PFNGLUNIFORMMATRIX4X2FVPROC uniformMatrix4x2fv = nullptr;
    PFNGLUNIFORMMATRIX4X3FVPROC uniformMatrix4x3fv = nullptr;

    // 3.0
    PFNGLBEGINCONDITIONALRENDERPROC beginConditionalRender = nullptr;
    PFNGLBEGINTRANSFORMFEEDBACKPROC beginTransformFeedback = nullptr;
    PFNGLBINDBUFFERBASEPROC bindBufferBase = nullptr;
    PFNGLBINDBUFFERRANGEPROC bindBufferRange = nullptr;
    PFNGLBINDFRAGDATALOCATIONPROC bindFragDataLocation = nullptr;
    PFNGLBINDFRAMEBUFFERPROC bindFramebuffer = nullptr;
    PFNGLBINDRENDERBUFFERPROC bindRenderbuffer = nullptr;
    PFNGLBINDVERTEXARRAYPROC bindVertexArray = nullptr;
    PFNGLBLITFRAMEBUFFERPROC blitFramebuffer = nullptr;
    PFNGLCHECKFRAMEBUFFERSTATUSPROC checkFramebufferStatus = nullptr;
    PFNGLCLAMPCOLORPROC clampColor = nullptr;
    PFNGLCLEARBUFFERFIPROC clearBufferfi = nullptr;
    PFNGLCLEARBUFFERFVPROC clearBufferfv = nullptr;
    PFNGLCLEARBUFFERIVPROC clearBufferiv = nullptr;
    PFNGLCLEARBUFFERUIVPROC clearBufferuiv = nullptr;
    PFNGLCOLORMASKIPROC colorMaski = nullptr;
    PFNGLDELETEFRAMEBUFFERSPROC deleteFramebuffers = nullptr;
    PFNGLDELETERENDERBUFFERSPROC deleteRenderbuffers = nullptr;
    PFNGLDELETEVERTEXARRAYSPROC deleteVertexArrays = nullptr;
    PFNGLDISABLEIPROC disablei = nullptr;
    PFNGLENABLEIPROC enablei = nullptr;
    PFNGLENDCONDITIONALRENDERPROC endConditionalRender = nullptr;
    PFNGLENDTRANSFORMFEEDBACKPROC endTransformFeedback = nullptr;
    PFNGLFLUSHMAPPEDBUFFERRANGEPROC flushMappedBufferRange = nullptr;
    PFNGLFRAMEBUFFERRENDERBUFFERPROC framebufferRenderbuffer = nullptr;
    PFNGLFRAMEBUFFERTEXTURE1DPROC framebufferTexture1D = nullptr;
    PFNGLFRAMEBUFFERTEXTURE2DPROC framebufferTexture2D = nullptr;
    PFNGLFRAMEBUFFERTEXTURE3DPROC framebufferTexture3D = nullptr;
    PFNGLFRAMEBUFFERTEXTURELAYERPROC framebufferTextureLayer = nullptr;
    PFNGLGENFRAMEBUFFERSPROC genFramebuffers = nullptr;
    PFNGLGENRENDERBUFFERSPROC genRenderbuffers = nullptr;
    PFNGLGENVERTEXARRAYSPROC genVertexArrays = nullptr;
    PFNGLGENERATEMIPMAPPROC generateMipmap = nullptr;
    PFNGLGETBOOLEANI_VPROC getBooleani_v = nullptr;
    PFNGLGETFRAGDATALOCATIONPROC getFragDataLocation = nullptr;
    PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC getFramebufferAttachmentParameteriv = nullptr;
    PFNGLGETINTEGERI_VPROC getIntegeri_v = nullptr;
    PFNGLGETRENDERBUFFERPARAMETERIVPROC getRenderbufferParameteriv = nullptr;
    PFNGLGETSTRINGIPROC getStringi = nullptr;
    PFNGLGETTEXPARAMETERIIVPROC getTexParameterIiv = nullptr;
    PFNGLGETTEXPARAMETERIUIVPROC getTexParameterIuiv = nullptr;
    PFNGLGETTRANSFORMFEEDBACKVARYINGPROC getTransformFeedbackVarying = nullptr;
    PFNGLGETUNIFORMUIVPROC getUniformuiv = nullptr;
    PFNGLGETVERTEXATTRIBIIVPROC getVertexAttribIiv = nullptr;
    PFNGLGETVERTEXATTRIBIUIVPROC getVertexAttribIuiv = nullptr;
    PFNGLISENABLEDIPROC isEnabledi = nullptr;
    PFNGLISFRAMEBUFFERPROC isFramebuffer = nullptr;
    PFNGLISRENDERBUFFERPROC isRenderbuffer = nullptr;
    PFNGLISVERTEXARRAYPROC isVertexArray = nullptr;
    PFNGLMAPBUFFERRANGEPROC mapBufferRange = nullptr;
    PFNGLRENDERBUFFERSTORAGEPROC renderbufferStorage = nullptr;
    PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC renderbufferStorageMultisample = nullptr;
    PFNGLTEXPARAMETERIIVPROC texParameterIiv = nullptr;
    PFNGLTEXPARAMETERIUIVPROC texParameterIuiv = nullptr;
    PFNGLTRANSFORMFEEDBACKVARYINGSPROC transformFeedbackVaryings = nullptr;
    PFNGLUNIFORM1UIPROC uniform1ui = nullptr;
    PFNGLUNIFORM1UIVPROC uniform1uiv = nullptr;
    PFNGLUNIFORM2UIPROC uniform2ui = nullptr;
    PFNGLUNIFORM2UIVPROC uniform2uiv = nullptr;
    PFNGLUNIFORM3UIPROC uniform3ui = nullptr;
    PFNGLUNIFORM3UIVPROC uniform3uiv = nullptr;
    PFNGLUNIFORM4UIPROC uniform4ui = nullptr;
    PFNGLUNIFORM4UIVPROC uniform4uiv = nullptr;
    PFNGLVERTEXATTRIBI1IPROC vertexAttribI1i = nullptr;
    PFNGLVERTEXATTRIBI1IVPROC vertexAttribI1iv = nullptr;
    PFNGLVERTEXATTRIBI1UIPROC vertexAttribI1ui = nullptr;
    PFNGLVERTEXATTRIBI1UIVPROC vertexAttribI1uiv = nullptr;
    PFNGLVERTEXATTRIBI2IPROC vertexAttribI2i = nullptr;
    PFNGLVERTEXATTRIBI2IVPROC vertexAttribI2iv = nullptr;
    PFNGLVERTEXATTRIBI2UIPROC vertexAttribI2ui = nullptr;
    PFNGLVERTEXATTRIBI2UIVPROC vertexAttribI2uiv = nullptr;
    PFNGLVERTEXATTRIBI3IPROC vertexAttribI3i = nullptr;
    PFNGLVERTEXATTRIBI3IVPROC vertexAttribI3iv = nullptr;
    PFNGLVERTEXATTRIBI3UIPROC vertexAttribI3ui = nullptr;
    PFNGLVERTEXATTRIBI3UIVPROC vertexAttribI3uiv = nullptr;
    PFNGLVERTEXATTRIBI4BVPROC vertexAttribI4bv = nullptr;
    PFNGLVERTEXATTRIBI4IPROC vertexAttribI4i = nullptr;
    PFNGLVERTEXATTRIBI4IVPROC vertexAttribI4iv = nullptr;
    PFNGLVERTEXATTRIBI4SVPROC vertexAttribI4sv = nullptr;
    PFNGLVERTEXATTRIBI4UBVPROC vertexAttribI4ubv = nullptr;
    PFNGLVERTEXATTRIBI4UIPROC vertexAttribI4ui = nullptr;
    PFNGLVERTEXATTRIBI4UIVPROC vertexAttribI4uiv = nullptr;
    PFNGLVERTEXATTRIBI4USVPROC vertexAttribI4usv = nullptr;
    PFNGLVERTEXATTRIBIPOINTERPROC vertexAttribIPointer = nullptr;

    // 3.1
    PFNGLCOPYBUFFERSUBDATAPROC copyBufferSubData = nullptr;
    PFNGLDRAWARRAYSINSTANCEDPROC drawArraysInstanced = nullptr;
    PFNGLDRAWELEMENTSINSTANCEDPROC drawElementsInstanced = nullptr;
    PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC getActiveUniformBlockName = nullptr;
    PFNGLGETACTIVEUNIFORMBLOCKIVPROC getActiveUniformBlockiv = nullptr;
    PFNGLGETACTIVEUNIFORMNAMEPROC getActiveUniformName = nullptr;
    PFNGLGETACTIVEUNIFORMSIVPROC getActiveUniformsiv = nullptr;
    PFNGLGETUNIFORMBLOCKINDEXPROC getUniformBlockIndex = nullptr;
    PFNGLGETUNIFORMINDICESPROC getUniformIndices = nullptr;
    PFNGLPRIMITIVERESTARTINDEXPROC primitiveRestartIndex = nullptr;
    PFNGLTEXBUFFERPROC texBuffer = nullptr;
    PFNGLUNIFORMBLOCKBINDINGPROC uniformBlockBinding = nullptr;

    // 3.2
    PFNGLCLIENTWAITSYNCPROC clientWaitSync = nullptr;
    PFNGLDELETESYNCPROC deleteSync = nullptr;
    PFNGLDRAWELEMENTSBASEVERTEXPROC drawElementsBaseVertex = nullptr;
    PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC drawElementsInstancedBaseVertex = nullptr;
    PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC drawRangeElementsBaseVertex = nullptr;
    PFNGLFENCESYNCPROC fenceSync = nullptr;
    PFNGLFRAMEBUFFERTEXTUREPROC framebufferTexture = nullptr;
    PFNGLGETBUFFERPARAMETERI64VPROC getBufferParameteri64v = nullptr;
    PFNGLGETINTEGER64I_VPROC getInteger64i_v = nullptr;
    PFNGLGETINTEGER64VPROC getInteger64v = nullptr;
    PFNGLGETMULTISAMPLEFVPROC getMultisamplefv = nullptr;
    PFNGLGETSYNCIVPROC getSynciv = nullptr;
    PFNGLISSYNCPROC isSync = nullptr;
    PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC multiDrawElementsBaseVertex = nullptr;
    PFNGLPROVOKINGVERTEXPROC provokingVertex = nullptr;
    PFNGLSAMPLEMASKIPROC sampleMaski = nullptr;
    PFNGLTEXIMAGE2DMULTISAMPLEPROC texImage2DMultisample = nullptr;
    PFNGLTEXIMAGE3DMULTISAMPLEPROC texImage3DMultisample = nullptr;
    PFNGLWAITSYNCPROC waitSync = nullptr;

    // 3.3
    PFNGLBINDFRAGDATALOCATIONINDEXEDPROC bindFragDataLocationIndexed = nullptr;
    PFNGLBINDSAMPLERPROC bindSampler = nullptr;
    PFNGLDELETESAMPLERSPROC deleteSamplers = nullptr;
    PFNGLGENSAMPLERSPROC genSamplers = nullptr;
    PFNGLGETFRAGDATAINDEXPROC getFragDataIndex = nullptr;
    PFNGLGETQUERYOBJECTI64VPROC getQueryObjecti64v = nullptr;
    PFNGLGETQUERYOBJECTUI64VPROC getQueryObjectui64v = nullptr;
    PFNGLGETSAMPLERPARAMETERIIVPROC getSamplerParameterIiv = nullptr;
    PFNGLGETSAMPLERPARAMETERIUIVPROC getSamplerParameterIuiv = nullptr;
    PFNGLGETSAMPLERPARAMETERFVPROC getSamplerParameterfv = nullptr;
    PFNGLGETSAMPLERPARAMETERIVPROC getSamplerParameteriv = nullptr;
    PFNGLISSAMPLERPROC isSampler = nullptr;
    PFNGLQUERYCOUNTERPROC queryCounter = nullptr;
    PFNGLSAMPLERPARAMETERIIVPROC samplerParameterIiv = nullptr;
    PFNGLSAMPLERPARAMETERIUIVPROC samplerParameterIuiv = nullptr;
    PFNGLSAMPLERPARAMETERFPROC samplerParameterf = nullptr;
    PFNGLSAMPLERPARAMETERFVPROC samplerParameterfv = nullptr;
    PFNGLSAMPLERPARAMETERIPROC samplerParameteri = nullptr;
    PFNGLSAMPLERPARAMETERIVPROC samplerParameteriv = nullptr;
    PFNGLVERTEXATTRIBDIVISORPROC vertexAttribDivisor = nullptr;
    PFNGLVERTEXATTRIBP1UIPROC vertexAttribP1ui = nullptr;
    PFNGLVERTEXATTRIBP1UIVPROC vertexAttribP1uiv = nullptr;
    PFNGLVERTEXATTRIBP2UIPROC vertexAttribP2ui = nullptr;
    PFNGLVERTEXATTRIBP2UIVPROC vertexAttribP2uiv = nullptr;
    PFNGLVERTEXATTRIBP3UIPROC vertexAttribP3ui = nullptr;
    PFNGLVERTEXATTRIBP3UIVPROC vertexAttribP3uiv = nullptr;
    PFNGLVERTEXATTRIBP4UIPROC vertexAttribP4ui = nullptr;
    PFNGLVERTEXATTRIBP4UIVPROC vertexAttribP4uiv = nullptr;

    // 4.0
    PFNGLBEGINQUERYINDEXEDPROC beginQueryIndexed = nullptr;
    PFNGLBINDTRANSFORMFEEDBACKPROC bindTransformFeedback = nullptr;
    PFNGLBLENDEQUATIONSEPARATEIPROC blendEquationSeparatei = nullptr;
    PFNGLBLENDEQUATIONIPROC blendEquationi = nullptr;
    PFNGLBLENDFUNCSEPARATEIPROC blendFuncSeparatei = nullptr;
    PFNGLBLENDFUNCIPROC blendFunci = nullptr;
    PFNGLDELETETRANSFORMFEEDBACKSPROC deleteTransformFeedbacks = nullptr;
    PFNGLDRAWARRAYSINDIRECTPROC drawArraysIndirect = nullptr;
    PFNGLDRAWELEMENTSINDIRECTPROC drawElementsIndirect = nullptr;
    PFNGLDRAWTRANSFORMFEEDBACKPROC drawTransformFeedback = nullptr;
    PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC drawTransformFeedbackStream = nullptr;
    PFNGLENDQUERYINDEXEDPROC endQueryIndexed = nullptr;
    PFNGLGENTRANSFORMFEEDBACKSPROC genTransformFeedbacks = nullptr;
    PFNGLGETACTIVESUBROUTINENAMEPROC getActiveSubroutineName = nullptr;
    PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC getActiveSubroutineUniformName = nullptr;
    PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC getActiveSubroutineUniformiv = nullptr;
    PFNGLGETPROGRAMSTAGEIVPROC getProgramStageiv = nullptr;
    PFNGLGETQUERYINDEXEDIVPROC getQueryIndexediv = nullptr;
    PFNGLGETSUBROUTINEINDEXPROC getSubroutineIndex = nullptr;
    PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC getSubroutineUniformLocation = nullptr;
    PFNGLGETUNIFORMSUBROUTINEUIVPROC getUniformSubroutineuiv = nullptr;
    PFNGLGETUNIFORMDVPROC getUniformdv = nullptr;
    PFNGLISTRANSFORMFEEDBACKPROC isTransformFeedback = nullptr;
    PFNGLMINSAMPLESHADINGPROC minSampleShading = nullptr;
    PFNGLPATCHPARAMETERFVPROC patchParameterfv = nullptr;
    PFNGLPATCHPARAMETERIPROC patchParameteri = nullptr;
    PFNGLPAUSETRANSFORMFEEDBACKPROC pauseTransformFeedback = nullptr;
    PFNGLRESUMETRANSFORMFEEDBACKPROC resumeTransformFeedback = nullptr;
    PFNGLUNIFORM1DPROC uniform1d = nullptr;
    PFNGLUNIFORM1DVPROC uniform1dv = nullptr;
    PFNGLUNIFORM2DPROC uniform2d = nullptr;
    PFNGLUNIFORM2DVPROC uniform2dv = nullptr;
    PFNGLUNIFORM3DPROC uniform3d = nullptr;
    PFNGLUNIFORM3DVPROC uniform3dv = nullptr;
    PFNGLUNIFORM4DPROC uniform4d = nullptr;
    PFNGLUNIFORM4DVPROC uniform4dv = nullptr;
    PFNGLUNIFORMMATRIX2DVPROC uniformMatrix2dv = nullptr;
    PFNGLUNIFORMMATRIX2X3DVPROC uniformMatrix2x3dv = nullptr;
    PFNGLUNIFORMMATRIX2X4DVPROC uniformMatrix2x4dv = nullptr;
    PFNGLUNIFORMMATRIX3DVPROC uniformMatrix3dv = nullptr;
    PFNGLUNIFORMMATRIX3X2DVPROC uniformMatrix3x2dv = nullptr;
    PFNGLUNIFORMMATRIX3X4DVPROC uniformMatrix3x4dv = nullptr;
    PFNGLUNIFORMMATRIX4DVPROC uniformMatrix4dv = nullptr;
    PFNGLUNIFORMMATRIX4X2DVPROC uniformMatrix4x2dv = nullptr;
    PFNGLUNIFORMMATRIX4X3DVPROC uniformMatrix4x3dv = nullptr;
    PFNGLUNIFORMSUBROUTINESUIVPROC uniformSubroutinesuiv = nullptr;

    // 4.1
    PFNGLACTIVESHADERPROGRAMPROC activeShaderProgram = nullptr;
    PFNGLBINDPROGRAMPIPELINEPROC bindProgramPipeline = nullptr;
    PFNGLCLEARDEPTHFPROC clearDepthf = nullptr;
    PFNGLCREATESHADERPROGRAMVPROC createShaderProgramv = nullptr;
    PFNGLDELETEPROGRAMPIPELINESPROC deleteProgramPipelines = nullptr;
    PFNGLDEPTHRANGEARRAYVPROC depthRangeArrayv = nullptr;
    PFNGLDEPTHRANGEINDEXEDPROC depthRangeIndexed = nullptr;
    PFNGLDEPTHRANGEFPROC depthRangef = nullptr;
    PFNGLGENPROGRAMPIPELINESPROC genProgramPipelines = nullptr;
    PFNGLGETDOUBLEI_VPROC getDoublei_v = nullptr;
    PFNGLGETFLOATI_VPROC getFloati_v = nullptr;
    PFNGLGETPROGRAMBINARYPROC getProgramBinary = nullptr;
    PFNGLGETPROGRAMPIPELINEINFOLOGPROC getProgramPipelineInfoLog = nullptr;
    PFNGLGETPROGRAMPIPELINEIVPROC getProgramPipelineiv = nullptr;
    PFNGLGETSHADERPRECISIONFORMATPROC getShaderPrecisionFormat = nullptr;
    PFNGLGETVERTEXATTRIBLDVPROC getVertexAttribLdv = nullptr;
    PFNGLISPROGRAMPIPELINEPROC isProgramPipeline = nullptr;
    PFNGLPROGRAMBINARYPROC programBinary = nullptr;
    PFNGLPROGRAMPARAMETERIPROC programParameteri = nullptr;
    PFNGLPROGRAMUNIFORM1DPROC programUniform1d = nullptr;
    PFNGLPROGRAMUNIFORM1DVPROC programUniform1dv = nullptr;
    PFNGLPROGRAMUNIFORM1FPROC programUniform1f = nullptr;
    PFNGLPROGRAMUNIFORM1FVPROC programUniform1fv = nullptr;
    PFNGLPROGRAMUNIFORM1IPROC programUniform1i = nullptr;
    PFNGLPROGRAMUNIFORM1IVPROC programUniform1iv = nullptr;
    PFNGLPROGRAMUNIFORM1UIPROC programUniform1ui = nullptr;
    PFNGLPROGRAMUNIFORM1UIVPROC programUniform1uiv = nullptr;
    PFNGLPROGRAMUNIFORM2DPROC programUniform2d = nullptr;
    PFNGLPROGRAMUNIFORM2DVPROC programUniform2dv = nullptr;
    PFNGLPROGRAMUNIFORM2FPROC programUniform2f = nullptr;
    PFNGLPROGRAMUNIFORM2FVPROC programUniform2fv = nullptr;
    PFNGLPROGRAMUNIFORM2IPROC programUniform2i = nullptr;
    PFNGLPROGRAMUNIFORM2IVPROC programUniform2iv = nullptr;
    PFNGLPROGRAMUNIFORM2UIPROC programUniform2ui = nullptr;
    PFNGLPROGRAMUNIFORM2UIVPROC programUniform2uiv = nullptr;
    PFNGLPROGRAMUNIFORM3DPROC programUniform3d = nullptr;
    PFNGLPROGRAMUNIFORM3DVPROC programUniform3dv = nullptr;
    PFNGLPROGRAMUNIFORM3FPROC programUniform3f = nullptr;
    PFNGLPROGRAMUNIFORM3FVPROC programUniform3fv = nullptr;
    PFNGLPROGRAMUNIFORM3IPROC programUniform3i = nullptr;
    PFNGLPROGRAMUNIFORM3IVPROC programUniform3iv = nullptr;
    PFNGLPROGRAMUNIFORM3UIPROC programUniform3ui = nullptr;
    PFNGLPROGRAMUNIFORM3UIVPROC programUniform3uiv = nullptr;
    PFNGLPROGRAMUNIFORM4DPROC programUniform4d = nullptr;
    PFNGLPROGRAMUNIFORM4DVPROC programUniform4dv = nullptr;
    PFNGLPROGRAMUNIFORM4FPROC programUniform4f = nullptr;
    PFNGLPROGRAMUNIFORM4FVPROC programUniform4fv = nullptr;
    PFNGLPROGRAMUNIFORM4IPROC programUniform4i = nullptr;
    PFNGLPROGRAMUNIFORM4IVPROC programUniform4iv = nullptr;
    PFNGLPROGRAMUNIFORM4UIPROC programUniform4ui = nullptr;
    PFNGLPROGRAMUNIFORM4UIVPROC programUniform4uiv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2DVPROC programUniformMatrix2dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2FVPROC programUniformMatrix2fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC programUniformMatrix2x3dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC programUniformMatrix2x3fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC programUniformMatrix2x4dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC programUniformMatrix2x4fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3DVPROC programUniformMatrix3dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3FVPROC programUniformMatrix3fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC programUniformMatrix3x2dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC programUniformMatrix3x2fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC programUniformMatrix3x4dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC programUniformMatrix3x4fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4DVPROC programUniformMatrix4dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4FVPROC programUniformMatrix4fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC programUniformMatrix4x2dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC programUniformMatrix4x2fv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC programUniformMatrix4x3dv = nullptr;
    PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC programUniformMatrix4x3fv = nullptr;
    PFNGLRELEASESHADERCOMPILERPROC releaseShaderCompiler = nullptr;
    PFNGLSCISSORARRAYVPROC scissorArrayv = nullptr;
    PFNGLSCISSORINDEXEDPROC scissorIndexed = nullptr;
    PFNGLSCISSORINDEXEDVPROC scissorIndexedv = nullptr;
    PFNGLSHADERBINARYPROC shaderBinary = nullptr;
    PFNGLUSEPROGRAMSTAGESPROC useProgramStages = nullptr;
    PFNGLVALIDATEPROGRAMPIPELINEPROC validateProgramPipeline = nullptr;
    PFNGLVERTEXATTRIBL1DPROC vertexAttribL1d = nullptr;
    PFNGLVERTEXATTRIBL1DVPROC vertexAttribL1dv = nullptr;
    PFNGLVERTEXATTRIBL2DPROC vertexAttribL2d = nullptr;
    PFNGLVERTEXATTRIBL2DVPROC vertexAttribL2dv = nullptr;
    PFNGLVERTEXATTRIBL3DPROC vertexAttribL3d = nullptr;
    PFNGLVERTEXATTRIBL3DVPROC vertexAttribL3dv = nullptr;
    PFNGLVERTEXATTRIBL4DPROC vertexAttribL4d = nullptr;
    PFNGLVERTEXATTRIBL4DVPROC vertexAttribL4dv = nullptr;
    PFNGLVERTEXATTRIBLPOINTERPROC vertexAttribLPointer = nullptr;
    PFNGLVIEWPORTARRAYVPROC viewportArrayv = nullptr;
    PFNGLVIEWPORTINDEXEDFPROC viewportIndexedf = nullptr;
    PFNGLVIEWPORTINDEXEDFVPROC viewportIndexedfv = nullptr;

    // 4.2
    PFNGLBINDIMAGETEXTUREPROC bindImageTexture = nullptr;
    PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC drawArraysInstancedBaseInstance = nullptr;
    PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC drawElementsInstancedBaseInstance = nullptr;
    PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC drawElementsInstancedBaseVertexBaseInstance = nullptr;
    PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC drawTransformFeedbackInstanced = nullptr;
    PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC drawTransformFeedbackStreamInstanced = nullptr;
    PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC getActiveAtomicCounterBufferiv = nullptr;
    PFNGLGETINTERNALFORMATIVPROC getInternalformativ = nullptr;
    PFNGLMEMORYBARRIERPROC memoryBarrier = nullptr;
    PFNGLTEXSTORAGE1DPROC texStorage1D = nullptr;
    PFNGLTEXSTORAGE2DPROC texStorage2D = nullptr;
    PFNGLTEXSTORAGE3DPROC texStorage3D = nullptr;

    // 4.3
    PFNGLBINDVERTEXBUFFERPROC bindVertexBuffer = nullptr;
    PFNGLCLEARBUFFERDATAPROC clearBufferData = nullptr;
    PFNGLCLEARBUFFERSUBDATAPROC clearBufferSubData = nullptr;
    PFNGLCOPYIMAGESUBDATAPROC copyImageSubData = nullptr;
    PFNGLCOVERAGEMODULATIONNVPROC coverageModulationNV = nullptr;
    PFNGLDEBUGMESSAGECALLBACKPROC debugMessageCallback = nullptr;
    PFNGLDEBUGMESSAGECONTROLPROC debugMessageControl = nullptr;
    PFNGLDEBUGMESSAGEINSERTPROC debugMessageInsert = nullptr;
    PFNGLDISPATCHCOMPUTEPROC dispatchCompute = nullptr;
    PFNGLDISPATCHCOMPUTEINDIRECTPROC dispatchComputeIndirect = nullptr;
    PFNGLFRAMEBUFFERPARAMETERIPROC framebufferParameteri = nullptr;
    PFNGLGETDEBUGMESSAGELOGPROC getDebugMessageLog = nullptr;
    PFNGLGETFRAMEBUFFERPARAMETERIVPROC getFramebufferParameteriv = nullptr;
    PFNGLGETINTERNALFORMATI64VPROC getInternalformati64v = nullptr;
    PFNGLGETOBJECTLABELPROC getObjectLabel = nullptr;
    PFNGLGETOBJECTPTRLABELPROC getObjectPtrLabel = nullptr;
    PFNGLGETPOINTERVPROC getPointerv = nullptr;
    PFNGLGETPROGRAMINTERFACEIVPROC getProgramInterfaceiv = nullptr;
    PFNGLGETPROGRAMRESOURCEINDEXPROC getProgramResourceIndex = nullptr;
    PFNGLGETPROGRAMRESOURCELOCATIONPROC getProgramResourceLocation = nullptr;
    PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC getProgramResourceLocationIndex = nullptr;
    PFNGLGETPROGRAMRESOURCENAMEPROC getProgramResourceName = nullptr;
    PFNGLGETPROGRAMRESOURCEIVPROC getProgramResourceiv = nullptr;
    PFNGLINVALIDATEBUFFERDATAPROC invalidateBufferData = nullptr;
    PFNGLINVALIDATEBUFFERSUBDATAPROC invalidateBufferSubData = nullptr;
    PFNGLINVALIDATEFRAMEBUFFERPROC invalidateFramebuffer = nullptr;
    PFNGLINVALIDATESUBFRAMEBUFFERPROC invalidateSubFramebuffer = nullptr;
    PFNGLINVALIDATETEXIMAGEPROC invalidateTexImage = nullptr;
    PFNGLINVALIDATETEXSUBIMAGEPROC invalidateTexSubImage = nullptr;
    PFNGLMULTIDRAWARRAYSINDIRECTPROC multiDrawArraysIndirect = nullptr;
    PFNGLMULTIDRAWELEMENTSINDIRECTPROC multiDrawElementsIndirect = nullptr;
    PFNGLOBJECTLABELPROC objectLabel = nullptr;
    PFNGLOBJECTPTRLABELPROC objectPtrLabel = nullptr;
    PFNGLPOPDEBUGGROUPPROC popDebugGroup = nullptr;
    PFNGLPUSHDEBUGGROUPPROC pushDebugGroup = nullptr;
    PFNGLSHADERSTORAGEBLOCKBINDINGPROC shaderStorageBlockBinding = nullptr;
    PFNGLTEXBUFFERRANGEPROC texBufferRange = nullptr;
    PFNGLTEXSTORAGE2DMULTISAMPLEPROC texStorage2DMultisample = nullptr;
    PFNGLTEXSTORAGE3DMULTISAMPLEPROC texStorage3DMultisample = nullptr;
    PFNGLTEXTUREVIEWPROC textureView = nullptr;
    PFNGLVERTEXATTRIBBINDINGPROC vertexAttribBinding = nullptr;
    PFNGLVERTEXATTRIBFORMATPROC vertexAttribFormat = nullptr;
    PFNGLVERTEXATTRIBIFORMATPROC vertexAttribIFormat = nullptr;
    PFNGLVERTEXATTRIBLFORMATPROC vertexAttribLFormat = nullptr;
    PFNGLVERTEXBINDINGDIVISORPROC vertexBindingDivisor = nullptr;

    // 4.4
    PFNGLBINDBUFFERSBASEPROC bindBuffersBase = nullptr;
    PFNGLBINDBUFFERSRANGEPROC bindBuffersRange = nullptr;
    PFNGLBINDIMAGETEXTURESPROC bindImageTextures = nullptr;
    PFNGLBINDSAMPLERSPROC bindSamplers = nullptr;
    PFNGLBINDTEXTURESPROC bindTextures = nullptr;
    PFNGLBINDVERTEXBUFFERSPROC bindVertexBuffers = nullptr;
    PFNGLBUFFERSTORAGEPROC bufferStorage = nullptr;
    PFNGLCLEARTEXIMAGEPROC clearTexImage = nullptr;
    PFNGLCLEARTEXSUBIMAGEPROC clearTexSubImage = nullptr;

    // 4.5
    PFNGLBINDTEXTUREUNITPROC bindTextureUnit = nullptr;
    PFNGLBLITNAMEDFRAMEBUFFERPROC blitNamedFramebuffer = nullptr;
    PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC checkNamedFramebufferStatus = nullptr;
    PFNGLCLEARNAMEDBUFFERDATAPROC clearNamedBufferData = nullptr;
    PFNGLCLEARNAMEDBUFFERSUBDATAPROC clearNamedBufferSubData = nullptr;
    PFNGLCLEARNAMEDFRAMEBUFFERFIPROC clearNamedFramebufferfi = nullptr;
    PFNGLCLEARNAMEDFRAMEBUFFERFVPROC clearNamedFramebufferfv = nullptr;
    PFNGLCLEARNAMEDFRAMEBUFFERIVPROC clearNamedFramebufferiv = nullptr;
    PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC clearNamedFramebufferuiv = nullptr;
    PFNGLCLIPCONTROLPROC clipControl = nullptr;
    PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC compressedTextureSubImage1D = nullptr;
    PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC compressedTextureSubImage2D = nullptr;
    PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC compressedTextureSubImage3D = nullptr;
    PFNGLCOPYNAMEDBUFFERSUBDATAPROC copyNamedBufferSubData = nullptr;
    PFNGLCOPYTEXTURESUBIMAGE1DPROC copyTextureSubImage1D = nullptr;
    PFNGLCOPYTEXTURESUBIMAGE2DPROC copyTextureSubImage2D = nullptr;
    PFNGLCOPYTEXTURESUBIMAGE3DPROC copyTextureSubImage3D = nullptr;
    PFNGLCREATEBUFFERSPROC createBuffers = nullptr;
    PFNGLCREATEFRAMEBUFFERSPROC createFramebuffers = nullptr;
    PFNGLCREATEPROGRAMPIPELINESPROC createProgramPipelines = nullptr;
    PFNGLCREATEQUERIESPROC createQueries = nullptr;
    PFNGLCREATERENDERBUFFERSPROC createRenderbuffers = nullptr;
    PFNGLCREATESAMPLERSPROC createSamplers = nullptr;
    PFNGLCREATETEXTURESPROC createTextures = nullptr;
    PFNGLCREATETRANSFORMFEEDBACKSPROC createTransformFeedbacks = nullptr;
    PFNGLCREATEVERTEXARRAYSPROC createVertexArrays = nullptr;
    PFNGLDISABLEVERTEXARRAYATTRIBPROC disableVertexArrayAttrib = nullptr;
    PFNGLENABLEVERTEXARRAYATTRIBPROC enableVertexArrayAttrib = nullptr;
    PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC flushMappedNamedBufferRange = nullptr;
    PFNGLGENERATETEXTUREMIPMAPPROC generateTextureMipmap = nullptr;
    PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC getCompressedTextureImage = nullptr;
    PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC getCompressedTextureSubImage = nullptr;
    PFNGLGETGRAPHICSRESETSTATUSPROC getGraphicsResetStatus = nullptr;
    PFNGLGETNAMEDBUFFERPARAMETERI64VPROC getNamedBufferParameteri64v = nullptr;
    PFNGLGETNAMEDBUFFERPARAMETERIVPROC getNamedBufferParameteriv = nullptr;
    PFNGLGETNAMEDBUFFERPOINTERVPROC getNamedBufferPointerv = nullptr;
    PFNGLGETNAMEDBUFFERSUBDATAPROC getNamedBufferSubData = nullptr;
    PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC getNamedFramebufferAttachmentParameteriv = nullptr;
    PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC getNamedFramebufferParameteriv = nullptr;
    PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC getNamedRenderbufferParameteriv = nullptr;
    PFNGLGETQUERYBUFFEROBJECTI64VPROC getQueryBufferObjecti64v = nullptr;
    PFNGLGETQUERYBUFFEROBJECTIVPROC getQueryBufferObjectiv = nullptr;
    PFNGLGETQUERYBUFFEROBJECTUI64VPROC getQueryBufferObjectui64v = nullptr;
    PFNGLGETQUERYBUFFEROBJECTUIVPROC getQueryBufferObjectuiv = nullptr;
    PFNGLGETTEXTUREIMAGEPROC getTextureImage = nullptr;
    PFNGLGETTEXTURELEVELPARAMETERFVPROC getTextureLevelParameterfv = nullptr;
    PFNGLGETTEXTURELEVELPARAMETERIVPROC getTextureLevelParameteriv = nullptr;
    PFNGLGETTEXTUREPARAMETERIIVPROC getTextureParameterIiv = nullptr;
    PFNGLGETTEXTUREPARAMETERIUIVPROC getTextureParameterIuiv = nullptr;
    PFNGLGETTEXTUREPARAMETERFVPROC getTextureParameterfv = nullptr;
    PFNGLGETTEXTUREPARAMETERIVPROC getTextureParameteriv = nullptr;
    PFNGLGETTEXTURESUBIMAGEPROC getTextureSubImage = nullptr;
    PFNGLGETTRANSFORMFEEDBACKI64_VPROC getTransformFeedbacki64_v = nullptr;
    PFNGLGETTRANSFORMFEEDBACKI_VPROC getTransformFeedbacki_v = nullptr;
    PFNGLGETTRANSFORMFEEDBACKIVPROC getTransformFeedbackiv = nullptr;
    PFNGLGETVERTEXARRAYINDEXED64IVPROC getVertexArrayIndexed64iv = nullptr;
    PFNGLGETVERTEXARRAYINDEXEDIVPROC getVertexArrayIndexediv = nullptr;
    PFNGLGETVERTEXARRAYIVPROC getVertexArrayiv = nullptr;
    PFNGLGETNCOMPRESSEDTEXIMAGEPROC getnCompressedTexImage = nullptr;
    PFNGLGETNTEXIMAGEPROC getnTexImage = nullptr;
    PFNGLGETNUNIFORMDVPROC getnUniformdv = nullptr;
    PFNGLGETNUNIFORMFVPROC getnUniformfv = nullptr;
    PFNGLGETNUNIFORMIVPROC getnUniformiv = nullptr;
    PFNGLGETNUNIFORMUIVPROC getnUniformuiv = nullptr;
    PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC invalidateNamedFramebufferData = nullptr;
    PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC invalidateNamedFramebufferSubData = nullptr;
    PFNGLMAPNAMEDBUFFERPROC mapNamedBuffer = nullptr;
    PFNGLMAPNAMEDBUFFERRANGEPROC mapNamedBufferRange = nullptr;
    PFNGLMEMORYBARRIERBYREGIONPROC memoryBarrierByRegion = nullptr;
    PFNGLNAMEDBUFFERDATAPROC namedBufferData = nullptr;
    PFNGLNAMEDBUFFERSTORAGEPROC namedBufferStorage = nullptr;
    PFNGLNAMEDBUFFERSUBDATAPROC namedBufferSubData = nullptr;
    PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC namedFramebufferDrawBuffer = nullptr;
    PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC namedFramebufferDrawBuffers = nullptr;
    PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC namedFramebufferParameteri = nullptr;
    PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC namedFramebufferReadBuffer = nullptr;
    PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC namedFramebufferRenderbuffer = nullptr;
    PFNGLNAMEDFRAMEBUFFERTEXTUREPROC namedFramebufferTexture = nullptr;
    PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC namedFramebufferTextureLayer = nullptr;
    PFNGLNAMEDRENDERBUFFERSTORAGEPROC namedRenderbufferStorage = nullptr;
    PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC namedRenderbufferStorageMultisample = nullptr;
    PFNGLREADNPIXELSPROC readnPixels = nullptr;
    PFNGLTEXTUREBARRIERPROC textureBarrier = nullptr;
    PFNGLTEXTUREBUFFERPROC textureBuffer = nullptr;
    PFNGLTEXTUREBUFFERRANGEPROC textureBufferRange = nullptr;
    PFNGLTEXTUREPARAMETERIIVPROC textureParameterIiv = nullptr;
    PFNGLTEXTUREPARAMETERIUIVPROC textureParameterIuiv = nullptr;
    PFNGLTEXTUREPARAMETERFPROC textureParameterf = nullptr;
    PFNGLTEXTUREPARAMETERFVPROC textureParameterfv = nullptr;
    PFNGLTEXTUREPARAMETERIPROC textureParameteri = nullptr;
    PFNGLTEXTUREPARAMETERIVPROC textureParameteriv = nullptr;
    PFNGLTEXTURESTORAGE1DPROC textureStorage1D = nullptr;
    PFNGLTEXTURESTORAGE2DPROC textureStorage2D = nullptr;
    PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC textureStorage2DMultisample = nullptr;
    PFNGLTEXTURESTORAGE3DPROC textureStorage3D = nullptr;
    PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC textureStorage3DMultisample = nullptr;
    PFNGLTEXTURESUBIMAGE1DPROC textureSubImage1D = nullptr;
    PFNGLTEXTURESUBIMAGE2DPROC textureSubImage2D = nullptr;
    PFNGLTEXTURESUBIMAGE3DPROC textureSubImage3D = nullptr;
    PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC transformFeedbackBufferBase = nullptr;
    PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC transformFeedbackBufferRange = nullptr;
    PFNGLUNMAPNAMEDBUFFERPROC unmapNamedBuffer = nullptr;
    PFNGLVERTEXARRAYATTRIBBINDINGPROC vertexArrayAttribBinding = nullptr;
    PFNGLVERTEXARRAYATTRIBFORMATPROC vertexArrayAttribFormat = nullptr;
    PFNGLVERTEXARRAYATTRIBIFORMATPROC vertexArrayAttribIFormat = nullptr;
    PFNGLVERTEXARRAYATTRIBLFORMATPROC vertexArrayAttribLFormat = nullptr;
    PFNGLVERTEXARRAYBINDINGDIVISORPROC vertexArrayBindingDivisor = nullptr;
    PFNGLVERTEXARRAYELEMENTBUFFERPROC vertexArrayElementBuffer = nullptr;
    PFNGLVERTEXARRAYVERTEXBUFFERPROC vertexArrayVertexBuffer = nullptr;
    PFNGLVERTEXARRAYVERTEXBUFFERSPROC vertexArrayVertexBuffers = nullptr;

    // ES 3.2
    PFNGLBLENDBARRIERPROC blendBarrier = nullptr;
    PFNGLPRIMITIVEBOUNDINGBOXPROC primitiveBoundingBox = nullptr;

    // GL_ARB_parallel_shader_compile
    PFNGLMAXSHADERCOMPILERTHREADSARBPROC maxShaderCompilerThreadsARB = nullptr;

    // GL_EXT_debug_marker
    PFNGLINSERTEVENTMARKEREXTPROC insertEventMarkerEXT = nullptr;
    PFNGLPOPGROUPMARKEREXTPROC popGroupMarkerEXT = nullptr;
    PFNGLPUSHGROUPMARKEREXTPROC pushGroupMarkerEXT = nullptr;

    // GL_EXT_discard_framebuffer
    PFNGLDISCARDFRAMEBUFFEREXTPROC discardFramebufferEXT = nullptr;

    // GL_EXT_memory_object
    PFNGLBUFFERSTORAGEMEMEXTPROC bufferStorageMemEXT = nullptr;
    PFNGLCREATEMEMORYOBJECTSEXTPROC createMemoryObjectsEXT = nullptr;
    PFNGLDELETEMEMORYOBJECTSEXTPROC deleteMemoryObjectsEXT = nullptr;
    PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC getMemoryObjectParameterivEXT = nullptr;
    PFNGLGETUNSIGNEDBYTEI_VEXTPROC getUnsignedBytei_vEXT = nullptr;
    PFNGLGETUNSIGNEDBYTEVEXTPROC getUnsignedBytevEXT = nullptr;
    PFNGLISMEMORYOBJECTEXTPROC isMemoryObjectEXT = nullptr;
    PFNGLMEMORYOBJECTPARAMETERIVEXTPROC memoryObjectParameterivEXT = nullptr;
    PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC namedBufferStorageMemEXT = nullptr;
    PFNGLTEXSTORAGEMEM2DEXTPROC texStorageMem2DEXT = nullptr;
    PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC texStorageMem2DMultisampleEXT = nullptr;
    PFNGLTEXSTORAGEMEM3DEXTPROC texStorageMem3DEXT = nullptr;
    PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC texStorageMem3DMultisampleEXT = nullptr;
    PFNGLTEXTURESTORAGEMEM2DEXTPROC textureStorageMem2DEXT = nullptr;
    PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC textureStorageMem2DMultisampleEXT = nullptr;
    PFNGLTEXTURESTORAGEMEM3DEXTPROC textureStorageMem3DEXT = nullptr;
    PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC textureStorageMem3DMultisampleEXT = nullptr;

    // GL_EXT_memory_object_fd
    PFNGLIMPORTMEMORYFDEXTPROC importMemoryFdEXT = nullptr;

    // GL_EXT_memory_object_win32
    PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC importMemoryWin32HandleEXT = nullptr;
    PFNGLIMPORTMEMORYWIN32NAMEEXTPROC importMemoryWin32NameEXT = nullptr;

    // GL_EXT_semaphore
    PFNGLDELETESEMAPHORESEXTPROC deleteSemaphoresEXT = nullptr;
    PFNGLGENSEMAPHORESEXTPROC genSemaphoresEXT = nullptr;
    PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC getSemaphoreParameterui64vEXT = nullptr;
    PFNGLISSEMAPHOREEXTPROC isSemaphoreEXT = nullptr;
    PFNGLSEMAPHOREPARAMETERUI64VEXTPROC semaphoreParameterui64vEXT = nullptr;
    PFNGLSIGNALSEMAPHOREEXTPROC signalSemaphoreEXT = nullptr;
    PFNGLWAITSEMAPHOREEXTPROC waitSemaphoreEXT = nullptr;

    // GL_EXT_semaphore_fd
    PFNGLIMPORTSEMAPHOREFDEXTPROC importSemaphoreFdEXT = nullptr;

    // GL_EXT_semaphore_win32
    PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC importSemaphoreWin32HandleEXT = nullptr;
    PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC importSemaphoreWin32NameEXT = nullptr;

    // GL_KHR_parallel_shader_compile
    PFNGLMAXSHADERCOMPILERTHREADSKHRPROC maxShaderCompilerThreadsKHR = nullptr;

    // GL_NV_internalformat_sample_query
    PFNGLGETINTERNALFORMATSAMPLEIVNVPROC getInternalformatSampleivNV = nullptr;

    // GL_OES_EGL_image
    PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC eGLImageTargetRenderbufferStorageOES = nullptr;
    PFNGLEGLIMAGETARGETTEXTURE2DOESPROC eGLImageTargetTexture2DOES = nullptr;

    // GL_OVR_multiview2
    PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC framebufferTextureMultiviewOVR = nullptr;

    // NV_path_rendering (originally written against 3.2 compatibility profile)
    PFNGLCOVERFILLPATHINSTANCEDNVPROC coverFillPathInstancedNV = nullptr;
    PFNGLCOVERFILLPATHNVPROC coverFillPathNV = nullptr;
    PFNGLCOVERSTROKEPATHINSTANCEDNVPROC coverStrokePathInstancedNV = nullptr;
    PFNGLCOVERSTROKEPATHNVPROC coverStrokePathNV = nullptr;
    PFNGLDELETEPATHSNVPROC deletePathsNV = nullptr;
    PFNGLGENPATHSNVPROC genPathsNV = nullptr;
    PFNGLGETPATHPARAMETERFVNVPROC getPathParameterfvNV = nullptr;
    PFNGLGETPATHPARAMETERIVNVPROC getPathParameterivNV = nullptr;
    PFNGLISPATHNVPROC isPathNV = nullptr;
    PFNGLMATRIXLOADFEXTPROC matrixLoadfEXT = nullptr;
    PFNGLPATHCOMMANDSNVPROC pathCommandsNV = nullptr;
    PFNGLPATHPARAMETERFNVPROC pathParameterfNV = nullptr;
    PFNGLPATHPARAMETERINVPROC pathParameteriNV = nullptr;
    PFNGLPATHSTENCILFUNCNVPROC pathStencilFuncNV = nullptr;
    PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC programPathFragmentInputGenNV = nullptr;
    PFNGLSTENCILFILLPATHINSTANCEDNVPROC stencilFillPathInstancedNV = nullptr;
    PFNGLSTENCILFILLPATHNVPROC stencilFillPathNV = nullptr;
    PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC stencilStrokePathInstancedNV = nullptr;
    PFNGLSTENCILSTROKEPATHNVPROC stencilStrokePathNV = nullptr;
    PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC stencilThenCoverFillPathInstancedNV = nullptr;
    PFNGLSTENCILTHENCOVERFILLPATHNVPROC stencilThenCoverFillPathNV = nullptr;
    PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC stencilThenCoverStrokePathInstancedNV = nullptr;
    PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC stencilThenCoverStrokePathNV = nullptr;
    // clang-format on

    DispatchTableGL();
    virtual ~DispatchTableGL() = default;

  protected:
    virtual void *loadProcAddress(const std::string &function) const = 0;

    void initProcsDesktopGL(const gl::Version &version, const std::set<std::string> &extensions);
    void initProcsGLES(const gl::Version &version, const std::set<std::string> &extensions);
    void initProcsSharedExtensions(const std::set<std::string> &extensions);

#if defined(ANGLE_ENABLE_OPENGL_NULL)
    void initProcsDesktopGLNULL(const gl::Version &version,
                                const std::set<std::string> &extensions);
    void initProcsGLESNULL(const gl::Version &version, const std::set<std::string> &extensions);
    void initProcsSharedExtensionsNULL(const std::set<std::string> &extensions);
#endif  // defined(ANGLE_ENABLE_OPENGL_NULL)
};

}  // namespace rx

#endif  // LIBGLESV2_RENDERER_GL_DISPATCH_TABLE_GL_AUTOGEN_H_
