chromium/third_party/angle/src/libANGLE/renderer/gl/functionsgl_typedefs.h

//
// Copyright 2015 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.
//

// functionsgl_typedefs.h: Typedefs of OpenGL types and functions for versions 1.0 through 4.5.

#ifndef LIBANGLE_RENDERER_GL_FUNCTIONSGLTYPEDEFS_H_
#define LIBANGLE_RENDERER_GL_FUNCTIONSGLTYPEDEFS_H_

#include "common/platform.h"

#include <KHR/khrplatform.h>
#include <stdint.h>

#ifndef INTERNAL_GL_APIENTRY
#    ifdef ANGLE_PLATFORM_WINDOWS
#define INTERNAL_GL_APIENTRY
#    else
#define INTERNAL_GL_APIENTRY
#    endif
#endif

GLvoid;
GLchar;
GLenum;
GLboolean;
GLbitfield;
GLbyte;
GLshort;
GLint;
GLsizei;
GLubyte;
GLushort;
GLuint;
GLfloat;
GLclampf;
GLdouble;
GLclampd;
GLfixed;
GLintptr;
GLsizeiptr;
GLhalf;
GLint64;
GLuint64;
GLsync;

// TODO(jmadill): It's likely we can auto-generate this file from gl.xml.

namespace rx
{
GLDEBUGPROC;
GLDEBUGPROCARB;
GLDEBUGPROCAMD;

// 1.0
PFNGLBLENDFUNCPROC;
PFNGLCLEARPROC;
PFNGLCLEARCOLORPROC;
PFNGLCLEARDEPTHPROC;
PFNGLCLEARSTENCILPROC;
PFNGLCOLORMASKPROC;
PFNGLCULLFACEPROC;
PFNGLDEPTHFUNCPROC;
PFNGLDEPTHMASKPROC;
PFNGLDEPTHRANGEPROC;
PFNGLDISABLEPROC;
PFNGLDRAWBUFFERPROC;
PFNGLENABLEPROC;
PFNGLFINISHPROC;
PFNGLFLUSHPROC;
PFNGLFRONTFACEPROC;
PFNGLGETBOOLEANVPROC;
PFNGLGETDOUBLEVPROC;
PFNGLGETERRORPROC;
PFNGLGETFLOATVPROC;
PFNGLGETINTEGERVPROC;
PFNGLGETSTRINGPROC;
PFNGLGETTEXIMAGEPROC;
PFNGLGETTEXLEVELPARAMETERFVPROC;
PFNGLGETTEXLEVELPARAMETERIVPROC;
PFNGLGETTEXPARAMETERFVPROC;
PFNGLGETTEXPARAMETERIVPROC;
PFNGLHINTPROC;
PFNGLISENABLEDPROC;
PFNGLLINEWIDTHPROC;
PFNGLLOGICOPPROC;
PFNGLPIXELSTOREFPROC;
PFNGLPIXELSTOREIPROC;
PFNGLPOINTSIZEPROC;
PFNGLPOLYGONMODEPROC;
PFNGLREADBUFFERPROC;
PFNGLREADPIXELSPROC;
PFNGLSCISSORPROC;
PFNGLSTENCILFUNCPROC;
PFNGLSTENCILMASKPROC;
PFNGLSTENCILOPPROC;
PFNGLTEXIMAGE1DPROC;
PFNGLTEXIMAGE2DPROC;
PFNGLTEXPARAMETERFPROC;
PFNGLTEXPARAMETERFVPROC;
PFNGLTEXPARAMETERIPROC;
PFNGLTEXPARAMETERIVPROC;
PFNGLVIEWPORTPROC;

// 1.1
PFNGLBINDTEXTUREPROC;
PFNGLCOPYTEXIMAGE1DPROC;
PFNGLCOPYTEXIMAGE2DPROC;
PFNGLCOPYTEXSUBIMAGE1DPROC;
PFNGLCOPYTEXSUBIMAGE2DPROC;
PFNGLDELETETEXTURESPROC;
PFNGLDRAWARRAYSPROC;
PFNGLDRAWELEMENTSPROC;
PFNGLGENTEXTURESPROC;
PFNGLISTEXTUREPROC;
PFNGLPOLYGONOFFSETPROC;
PFNGLTEXSUBIMAGE1DPROC;
PFNGLTEXSUBIMAGE2DPROC;

// 1.2
PFNGLBLENDCOLORPROC;
PFNGLBLENDEQUATIONPROC;
PFNGLCOPYTEXSUBIMAGE3DPROC;
PFNGLDRAWRANGEELEMENTSPROC;
PFNGLTEXIMAGE3DPROC;
PFNGLTEXSUBIMAGE3DPROC;

// 1.2 Extensions
PFNGLDELETEFENCESNVPROC;
PFNGLGENFENCESNVPROC;
PFNGLISFENCENVPROC;
PFNGLTESTFENCENVPROC;
PFNGLGETFENCEIVNVPROC;
PFNGLFINISHFENCENVPROC;
PFNGLSETFENCENVPROC;

// 1.3
PFNGLACTIVETEXTUREPROC;
PFNGLCOMPRESSEDTEXIMAGE1DPROC;
PFNGLCOMPRESSEDTEXIMAGE2DPROC;
PFNGLCOMPRESSEDTEXIMAGE3DPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
PFNGLGETCOMPRESSEDTEXIMAGEPROC;
PFNGLSAMPLECOVERAGEPROC;

// 1.4
PFNGLBLENDFUNCSEPARATEPROC;
PFNGLMULTIDRAWARRAYSPROC;
PFNGLMULTIDRAWELEMENTSPROC;
PFNGLPOINTPARAMETERFPROC;
PFNGLPOINTPARAMETERFVPROC;
PFNGLPOINTPARAMETERIPROC;
PFNGLPOINTPARAMETERIVPROC;

// 1.5
PFNGLBEGINQUERYPROC;
PFNGLBINDBUFFERPROC;
PFNGLBUFFERDATAPROC;
PFNGLBUFFERSUBDATAPROC;
PFNGLDELETEBUFFERSPROC;
PFNGLDELETEQUERIESPROC;
PFNGLENDQUERYPROC;
PFNGLGENBUFFERSPROC;
PFNGLGENQUERIESPROC;
PFNGLGETBUFFERPARAMETERIVPROC;
PFNGLGETBUFFERPOINTERVPROC;
PFNGLGETBUFFERSUBDATAPROC;
PFNGLGETQUERYOBJECTIVPROC;
PFNGLGETQUERYOBJECTUIVPROC;
PFNGLGETQUERYIVPROC;
PFNGLISBUFFERPROC;
PFNGLISQUERYPROC;
PFNGLMAPBUFFERPROC;
PFNGLUNMAPBUFFERPROC;

// 2.0
PFNGLATTACHSHADERPROC;
PFNGLBINDATTRIBLOCATIONPROC;
PFNGLBLENDEQUATIONSEPARATEPROC;
PFNGLCOMPILESHADERPROC;
PFNGLCREATEPROGRAMPROC;
PFNGLCREATESHADERPROC;
PFNGLDELETEPROGRAMPROC;
PFNGLDELETESHADERPROC;
PFNGLDETACHSHADERPROC;
PFNGLDISABLEVERTEXATTRIBARRAYPROC;
PFNGLDRAWBUFFERSPROC;
PFNGLENABLEVERTEXATTRIBARRAYPROC;
PFNGLGETACTIVEATTRIBPROC;
PFNGLGETACTIVEUNIFORMPROC;
PFNGLGETATTACHEDSHADERSPROC;
PFNGLGETATTRIBLOCATIONPROC;
PFNGLGETPROGRAMINFOLOGPROC;
PFNGLGETPROGRAMIVPROC;
PFNGLGETSHADERINFOLOGPROC;
PFNGLGETSHADERSOURCEPROC;
PFNGLGETSHADERIVPROC;
PFNGLGETUNIFORMLOCATIONPROC;
PFNGLGETUNIFORMFVPROC;
PFNGLGETUNIFORMIVPROC;
PFNGLGETVERTEXATTRIBPOINTERVPROC;
PFNGLGETVERTEXATTRIBDVPROC;
PFNGLGETVERTEXATTRIBFVPROC;
PFNGLGETVERTEXATTRIBIVPROC;
PFNGLISPROGRAMPROC;
PFNGLISSHADERPROC;
PFNGLLINKPROGRAMPROC;
PFNGLSHADERSOURCEPROC;
PFNGLSTENCILFUNCSEPARATEPROC;
PFNGLSTENCILMASKSEPARATEPROC;
PFNGLSTENCILOPSEPARATEPROC;
PFNGLUNIFORM1FPROC;
PFNGLUNIFORM1FVPROC;
PFNGLUNIFORM1IPROC;
PFNGLUNIFORM1IVPROC;
PFNGLUNIFORM2FPROC;
PFNGLUNIFORM2FVPROC;
PFNGLUNIFORM2IPROC;
PFNGLUNIFORM2IVPROC;
PFNGLUNIFORM3FPROC;
PFNGLUNIFORM3FVPROC;
PFNGLUNIFORM3IPROC;
PFNGLUNIFORM3IVPROC;
PFNGLUNIFORM4FPROC;
PFNGLUNIFORM4FVPROC;
PFNGLUNIFORM4IPROC;
PFNGLUNIFORM4IVPROC;
PFNGLUNIFORMMATRIX2FVPROC;
PFNGLUNIFORMMATRIX3FVPROC;
PFNGLUNIFORMMATRIX4FVPROC;
PFNGLUSEPROGRAMPROC;
PFNGLVALIDATEPROGRAMPROC;
PFNGLVERTEXATTRIB1DPROC;
PFNGLVERTEXATTRIB1DVPROC;
PFNGLVERTEXATTRIB1FPROC;
PFNGLVERTEXATTRIB1FVPROC;
PFNGLVERTEXATTRIB1SPROC;
PFNGLVERTEXATTRIB1SVPROC;
PFNGLVERTEXATTRIB2DPROC;
PFNGLVERTEXATTRIB2DVPROC;
PFNGLVERTEXATTRIB2FPROC;
PFNGLVERTEXATTRIB2FVPROC;
PFNGLVERTEXATTRIB2SPROC;
PFNGLVERTEXATTRIB2SVPROC;
PFNGLVERTEXATTRIB3DPROC;
PFNGLVERTEXATTRIB3DVPROC;
PFNGLVERTEXATTRIB3FPROC;
PFNGLVERTEXATTRIB3FVPROC;
PFNGLVERTEXATTRIB3SPROC;
PFNGLVERTEXATTRIB3SVPROC;
PFNGLVERTEXATTRIB4NBVPROC;
PFNGLVERTEXATTRIB4NIVPROC;
PFNGLVERTEXATTRIB4NSVPROC;
PFNGLVERTEXATTRIB4NUBPROC;
PFNGLVERTEXATTRIB4NUBVPROC;
PFNGLVERTEXATTRIB4NUIVPROC;
PFNGLVERTEXATTRIB4NUSVPROC;
PFNGLVERTEXATTRIB4BVPROC;
PFNGLVERTEXATTRIB4DPROC;
PFNGLVERTEXATTRIB4DVPROC;
PFNGLVERTEXATTRIB4FPROC;
PFNGLVERTEXATTRIB4FVPROC;
PFNGLVERTEXATTRIB4IVPROC;
PFNGLVERTEXATTRIB4SPROC;
PFNGLVERTEXATTRIB4SVPROC;
PFNGLVERTEXATTRIB4UBVPROC;
PFNGLVERTEXATTRIB4UIVPROC;
PFNGLVERTEXATTRIB4USVPROC;
PFNGLVERTEXATTRIBPOINTERPROC;

// 2.1
PFNGLUNIFORMMATRIX2X3FVPROC;
PFNGLUNIFORMMATRIX2X4FVPROC;
PFNGLUNIFORMMATRIX3X2FVPROC;
PFNGLUNIFORMMATRIX3X4FVPROC;
PFNGLUNIFORMMATRIX4X2FVPROC;
PFNGLUNIFORMMATRIX4X3FVPROC;

// 3.0
PFNGLBEGINCONDITIONALRENDERPROC;
PFNGLBEGINTRANSFORMFEEDBACKPROC;
PFNGLBINDBUFFERBASEPROC;
PFNGLBINDBUFFERRANGEPROC;
PFNGLBINDFRAGDATALOCATIONPROC;
PFNGLBINDFRAMEBUFFERPROC;
PFNGLBINDRENDERBUFFERPROC;
PFNGLBINDVERTEXARRAYPROC;
PFNGLBLITFRAMEBUFFERPROC;
PFNGLCHECKFRAMEBUFFERSTATUSPROC;
PFNGLCLAMPCOLORPROC;
PFNGLCLEARBUFFERFIPROC;
PFNGLCLEARBUFFERFVPROC;
PFNGLCLEARBUFFERIVPROC;
PFNGLCLEARBUFFERUIVPROC;
PFNGLCOLORMASKIPROC;
PFNGLDELETEFRAMEBUFFERSPROC;
PFNGLDELETERENDERBUFFERSPROC;
PFNGLDELETEVERTEXARRAYSPROC;
PFNGLDISABLEIPROC;
PFNGLENABLEIPROC;
PFNGLENDCONDITIONALRENDERPROC;
PFNGLENDTRANSFORMFEEDBACKPROC;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
PFNGLFRAMEBUFFERRENDERBUFFERPROC;
PFNGLFRAMEBUFFERTEXTURE1DPROC;
PFNGLFRAMEBUFFERTEXTURE2DPROC;
PFNGLFRAMEBUFFERTEXTURE3DPROC;
PFNGLFRAMEBUFFERTEXTURELAYERPROC;
PFNGLGENFRAMEBUFFERSPROC;
PFNGLGENRENDERBUFFERSPROC;
PFNGLGENVERTEXARRAYSPROC;
PFNGLGENERATEMIPMAPPROC;
PFNGLGETBOOLEANI_VPROC;
PFNGLGETFRAGDATALOCATIONPROC;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
PFNGLGETINTEGERI_VPROC;
PFNGLGETRENDERBUFFERPARAMETERIVPROC;
PFNGLGETSTRINGIPROC;
PFNGLGETTEXPARAMETERIIVPROC;
PFNGLGETTEXPARAMETERIUIVPROC;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
PFNGLGETUNIFORMUIVPROC;
PFNGLGETVERTEXATTRIBIIVPROC;
PFNGLGETVERTEXATTRIBIUIVPROC;
PFNGLISENABLEDIPROC;
PFNGLISFRAMEBUFFERPROC;
PFNGLISRENDERBUFFERPROC;
PFNGLISVERTEXARRAYPROC;
PFNGLMAPBUFFERRANGEPROC;
PFNGLRENDERBUFFERSTORAGEPROC;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
PFNGLTEXPARAMETERIIVPROC;
PFNGLTEXPARAMETERIUIVPROC;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC;
PFNGLUNIFORM1UIPROC;
PFNGLUNIFORM1UIVPROC;
PFNGLUNIFORM2UIPROC;
PFNGLUNIFORM2UIVPROC;
PFNGLUNIFORM3UIPROC;
PFNGLUNIFORM3UIVPROC;
PFNGLUNIFORM4UIPROC;
PFNGLUNIFORM4UIVPROC;
PFNGLVERTEXATTRIBI1IPROC;
PFNGLVERTEXATTRIBI1IVPROC;
PFNGLVERTEXATTRIBI1UIPROC;
PFNGLVERTEXATTRIBI1UIVPROC;
PFNGLVERTEXATTRIBI2IPROC;
PFNGLVERTEXATTRIBI2IVPROC;
PFNGLVERTEXATTRIBI2UIPROC;
PFNGLVERTEXATTRIBI2UIVPROC;
PFNGLVERTEXATTRIBI3IPROC;
PFNGLVERTEXATTRIBI3IVPROC;
PFNGLVERTEXATTRIBI3UIPROC;
PFNGLVERTEXATTRIBI3UIVPROC;
PFNGLVERTEXATTRIBI4BVPROC;
PFNGLVERTEXATTRIBI4IPROC;
PFNGLVERTEXATTRIBI4IVPROC;
PFNGLVERTEXATTRIBI4SVPROC;
PFNGLVERTEXATTRIBI4UBVPROC;
PFNGLVERTEXATTRIBI4UIPROC;
PFNGLVERTEXATTRIBI4UIVPROC;
PFNGLVERTEXATTRIBI4USVPROC;
PFNGLVERTEXATTRIBIPOINTERPROC;

// 3.1
PFNGLCOPYBUFFERSUBDATAPROC;
PFNGLDRAWARRAYSINSTANCEDPROC;
PFNGLDRAWELEMENTSINSTANCEDPROC;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
PFNGLGETACTIVEUNIFORMNAMEPROC;
PFNGLGETACTIVEUNIFORMSIVPROC;
PFNGLGETUNIFORMBLOCKINDEXPROC;
PFNGLGETUNIFORMINDICESPROC;
PFNGLPRIMITIVERESTARTINDEXPROC;
PFNGLTEXBUFFERPROC;
PFNGLUNIFORMBLOCKBINDINGPROC;

// 3.2
PFNGLCLIENTWAITSYNCPROC;
PFNGLDELETESYNCPROC;
PFNGLDRAWELEMENTSBASEVERTEXPROC;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC;
PFNGLFENCESYNCPROC;
PFNGLFRAMEBUFFERTEXTUREPROC;
PFNGLGETBUFFERPARAMETERI64VPROC;
PFNGLGETINTEGER64I_VPROC;
PFNGLGETINTEGER64VPROC;
PFNGLGETMULTISAMPLEFVPROC;
PFNGLGETSYNCIVPROC;
PFNGLISSYNCPROC;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC;
PFNGLPROVOKINGVERTEXPROC;
PFNGLSAMPLEMASKIPROC;
PFNGLTEXIMAGE2DMULTISAMPLEPROC;
PFNGLTEXIMAGE3DMULTISAMPLEPROC;
PFNGLWAITSYNCPROC;

// 3.3
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC;
PFNGLBINDSAMPLERPROC;
PFNGLDELETESAMPLERSPROC;
PFNGLGENSAMPLERSPROC;
PFNGLGETFRAGDATAINDEXPROC;
PFNGLGETQUERYOBJECTI64VPROC;
PFNGLGETQUERYOBJECTUI64VPROC;
PFNGLGETSAMPLERPARAMETERIIVPROC;
PFNGLGETSAMPLERPARAMETERIUIVPROC;
PFNGLGETSAMPLERPARAMETERFVPROC;
PFNGLGETSAMPLERPARAMETERIVPROC;
PFNGLISSAMPLERPROC;
PFNGLQUERYCOUNTERPROC;
PFNGLSAMPLERPARAMETERIIVPROC;
PFNGLSAMPLERPARAMETERIUIVPROC;
PFNGLSAMPLERPARAMETERFPROC;
PFNGLSAMPLERPARAMETERFVPROC;
PFNGLSAMPLERPARAMETERIPROC;
PFNGLSAMPLERPARAMETERIVPROC;
PFNGLVERTEXATTRIBDIVISORPROC;
PFNGLVERTEXATTRIBP1UIPROC;
PFNGLVERTEXATTRIBP1UIVPROC;
PFNGLVERTEXATTRIBP2UIPROC;
PFNGLVERTEXATTRIBP2UIVPROC;
PFNGLVERTEXATTRIBP3UIPROC;
PFNGLVERTEXATTRIBP3UIVPROC;
PFNGLVERTEXATTRIBP4UIPROC;
PFNGLVERTEXATTRIBP4UIVPROC;

// 4.0
PFNGLBEGINQUERYINDEXEDPROC;
PFNGLBINDTRANSFORMFEEDBACKPROC;
PFNGLBLENDEQUATIONSEPARATEIPROC;
PFNGLBLENDEQUATIONIPROC;
PFNGLBLENDFUNCSEPARATEIPROC;
PFNGLBLENDFUNCIPROC;
PFNGLDELETETRANSFORMFEEDBACKSPROC;
PFNGLDRAWARRAYSINDIRECTPROC;
PFNGLDRAWELEMENTSINDIRECTPROC;
PFNGLDRAWTRANSFORMFEEDBACKPROC;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC;
PFNGLENDQUERYINDEXEDPROC;
PFNGLGENTRANSFORMFEEDBACKSPROC;
PFNGLGETACTIVESUBROUTINENAMEPROC;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC;
PFNGLGETPROGRAMSTAGEIVPROC;
PFNGLGETQUERYINDEXEDIVPROC;
PFNGLGETSUBROUTINEINDEXPROC;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC;
PFNGLGETUNIFORMSUBROUTINEUIVPROC;
PFNGLGETUNIFORMDVPROC;
PFNGLISTRANSFORMFEEDBACKPROC;
PFNGLMINSAMPLESHADINGPROC;
PFNGLPATCHPARAMETERFVPROC;
PFNGLPATCHPARAMETERIPROC;
PFNGLPAUSETRANSFORMFEEDBACKPROC;
PFNGLRESUMETRANSFORMFEEDBACKPROC;
PFNGLUNIFORM1DPROC;
PFNGLUNIFORM1DVPROC;
PFNGLUNIFORM2DPROC;
PFNGLUNIFORM2DVPROC;
PFNGLUNIFORM3DPROC;
PFNGLUNIFORM3DVPROC;
PFNGLUNIFORM4DPROC;
PFNGLUNIFORM4DVPROC;
PFNGLUNIFORMMATRIX2DVPROC;
PFNGLUNIFORMMATRIX2X3DVPROC;
PFNGLUNIFORMMATRIX2X4DVPROC;
PFNGLUNIFORMMATRIX3DVPROC;
PFNGLUNIFORMMATRIX3X2DVPROC;
PFNGLUNIFORMMATRIX3X4DVPROC;
PFNGLUNIFORMMATRIX4DVPROC;
PFNGLUNIFORMMATRIX4X2DVPROC;
PFNGLUNIFORMMATRIX4X3DVPROC;
PFNGLUNIFORMSUBROUTINESUIVPROC;

// 4.1
PFNGLACTIVESHADERPROGRAMPROC;
PFNGLBINDPROGRAMPIPELINEPROC;
PFNGLCLEARDEPTHFPROC;
PFNGLCREATESHADERPROGRAMVPROC;
PFNGLDELETEPROGRAMPIPELINESPROC;
PFNGLDEPTHRANGEARRAYVPROC;
PFNGLDEPTHRANGEINDEXEDPROC;
PFNGLDEPTHRANGEFPROC;
PFNGLGENPROGRAMPIPELINESPROC;
PFNGLGETDOUBLEI_VPROC;
PFNGLGETFLOATI_VPROC;
PFNGLGETPROGRAMBINARYPROC;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC;
PFNGLGETPROGRAMPIPELINEIVPROC;
PFNGLGETSHADERPRECISIONFORMATPROC;
PFNGLGETVERTEXATTRIBLDVPROC;
PFNGLISPROGRAMPIPELINEPROC;
PFNGLPROGRAMBINARYPROC;
PFNGLPROGRAMPARAMETERIPROC;
PFNGLPROGRAMUNIFORM1DPROC;
PFNGLPROGRAMUNIFORM1DVPROC;
PFNGLPROGRAMUNIFORM1FPROC;
PFNGLPROGRAMUNIFORM1FVPROC;
PFNGLPROGRAMUNIFORM1IPROC;
PFNGLPROGRAMUNIFORM1IVPROC;
PFNGLPROGRAMUNIFORM1UIPROC;
PFNGLPROGRAMUNIFORM1UIVPROC;
PFNGLPROGRAMUNIFORM2DPROC;
PFNGLPROGRAMUNIFORM2DVPROC;
PFNGLPROGRAMUNIFORM2FPROC;
PFNGLPROGRAMUNIFORM2FVPROC;
PFNGLPROGRAMUNIFORM2IPROC;
PFNGLPROGRAMUNIFORM2IVPROC;
PFNGLPROGRAMUNIFORM2UIPROC;
PFNGLPROGRAMUNIFORM2UIVPROC;
PFNGLPROGRAMUNIFORM3DPROC;
PFNGLPROGRAMUNIFORM3DVPROC;
PFNGLPROGRAMUNIFORM3FPROC;
PFNGLPROGRAMUNIFORM3FVPROC;
PFNGLPROGRAMUNIFORM3IPROC;
PFNGLPROGRAMUNIFORM3IVPROC;
PFNGLPROGRAMUNIFORM3UIPROC;
PFNGLPROGRAMUNIFORM3UIVPROC;
PFNGLPROGRAMUNIFORM4DPROC;
PFNGLPROGRAMUNIFORM4DVPROC;
PFNGLPROGRAMUNIFORM4FPROC;
PFNGLPROGRAMUNIFORM4FVPROC;
PFNGLPROGRAMUNIFORM4IPROC;
PFNGLPROGRAMUNIFORM4IVPROC;
PFNGLPROGRAMUNIFORM4UIPROC;
PFNGLPROGRAMUNIFORM4UIVPROC;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC;
PFNGLRELEASESHADERCOMPILERPROC;
PFNGLSCISSORARRAYVPROC;
PFNGLSCISSORINDEXEDPROC;
PFNGLSCISSORINDEXEDVPROC;
PFNGLSHADERBINARYPROC;
PFNGLUSEPROGRAMSTAGESPROC;
PFNGLVALIDATEPROGRAMPIPELINEPROC;
PFNGLVERTEXATTRIBL1DPROC;
PFNGLVERTEXATTRIBL1DVPROC;
PFNGLVERTEXATTRIBL2DPROC;
PFNGLVERTEXATTRIBL2DVPROC;
PFNGLVERTEXATTRIBL3DPROC;
PFNGLVERTEXATTRIBL3DVPROC;
PFNGLVERTEXATTRIBL4DPROC;
PFNGLVERTEXATTRIBL4DVPROC;
PFNGLVERTEXATTRIBLPOINTERPROC;
PFNGLVIEWPORTARRAYVPROC;
PFNGLVIEWPORTINDEXEDFPROC;
PFNGLVIEWPORTINDEXEDFVPROC;

// 4.2
PFNGLBINDIMAGETEXTUREPROC;
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC;
PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC;
PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC;
PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC;
PFNGLGETINTERNALFORMATIVPROC;
PFNGLMEMORYBARRIERPROC;
PFNGLTEXSTORAGE1DPROC;
PFNGLTEXSTORAGE2DPROC;
PFNGLTEXSTORAGE3DPROC;

// 4.3
PFNGLBINDVERTEXBUFFERPROC;
PFNGLCLEARBUFFERDATAPROC;
PFNGLCLEARBUFFERSUBDATAPROC;
PFNGLCOPYIMAGESUBDATAPROC;
PFNGLDEBUGMESSAGECALLBACKPROC;
PFNGLDEBUGMESSAGECONTROLPROC;
PFNGLDEBUGMESSAGEINSERTPROC;
PFNGLDISPATCHCOMPUTEPROC;
PFNGLDISPATCHCOMPUTEINDIRECTPROC;
PFNGLFRAMEBUFFERPARAMETERIPROC;
PFNGLGETDEBUGMESSAGELOGPROC;
PFNGLGETFRAMEBUFFERPARAMETERIVPROC;
PFNGLGETINTERNALFORMATI64VPROC;
PFNGLGETPOINTERVPROC;
PFNGLGETOBJECTLABELPROC;
PFNGLGETOBJECTPTRLABELPROC;
PFNGLGETPROGRAMINTERFACEIVPROC;
PFNGLGETPROGRAMRESOURCEINDEXPROC;
PFNGLGETPROGRAMRESOURCELOCATIONPROC;
PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC;
PFNGLGETPROGRAMRESOURCENAMEPROC;
PFNGLGETPROGRAMRESOURCEIVPROC;
PFNGLINVALIDATEBUFFERDATAPROC;
PFNGLINVALIDATEBUFFERSUBDATAPROC;
PFNGLINVALIDATEFRAMEBUFFERPROC;
PFNGLINVALIDATESUBFRAMEBUFFERPROC;
PFNGLINVALIDATETEXIMAGEPROC;
PFNGLINVALIDATETEXSUBIMAGEPROC;
PFNGLMULTIDRAWARRAYSINDIRECTPROC;
PFNGLMULTIDRAWELEMENTSINDIRECTPROC;
PFNGLOBJECTLABELPROC;
PFNGLOBJECTPTRLABELPROC;
PFNGLPOPDEBUGGROUPPROC;
PFNGLPUSHDEBUGGROUPPROC;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC;
PFNGLTEXBUFFERRANGEPROC;
PFNGLTEXSTORAGE2DMULTISAMPLEPROC;
PFNGLTEXSTORAGE3DMULTISAMPLEPROC;
PFNGLTEXTUREVIEWPROC;
PFNGLVERTEXATTRIBBINDINGPROC;
PFNGLVERTEXATTRIBFORMATPROC;
PFNGLVERTEXATTRIBIFORMATPROC;
PFNGLVERTEXATTRIBLFORMATPROC;
PFNGLVERTEXBINDINGDIVISORPROC;

// NV_framebuffer_mixed_samples
PFNGLCOVERAGEMODULATIONNVPROC;

// 4.4
PFNGLBINDBUFFERSBASEPROC;
PFNGLBINDBUFFERSRANGEPROC;
PFNGLBINDIMAGETEXTURESPROC;
PFNGLBINDSAMPLERSPROC;
PFNGLBINDTEXTURESPROC;
PFNGLBINDVERTEXBUFFERSPROC;
PFNGLBUFFERSTORAGEPROC;
PFNGLCLEARTEXIMAGEPROC;
PFNGLCLEARTEXSUBIMAGEPROC;

// 4.5
PFNGLBINDTEXTUREUNITPROC;
PFNGLBLITNAMEDFRAMEBUFFERPROC;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC;
PFNGLCLEARNAMEDBUFFERDATAPROC;
PFNGLCLEARNAMEDBUFFERSUBDATAPROC;
PFNGLCLEARNAMEDFRAMEBUFFERFIPROC;
PFNGLCLEARNAMEDFRAMEBUFFERFVPROC;
PFNGLCLEARNAMEDFRAMEBUFFERIVPROC;
PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC;
PFNGLCLIPCONTROLPROC;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC;
PFNGLCOPYNAMEDBUFFERSUBDATAPROC;
PFNGLCOPYTEXTURESUBIMAGE1DPROC;
PFNGLCOPYTEXTURESUBIMAGE2DPROC;
PFNGLCOPYTEXTURESUBIMAGE3DPROC;
PFNGLCREATEBUFFERSPROC;
PFNGLCREATEFRAMEBUFFERSPROC;
PFNGLCREATEPROGRAMPIPELINESPROC;
PFNGLCREATEQUERIESPROC;
PFNGLCREATERENDERBUFFERSPROC;
PFNGLCREATESAMPLERSPROC;
PFNGLCREATETEXTURESPROC;
PFNGLCREATETRANSFORMFEEDBACKSPROC;
PFNGLCREATEVERTEXARRAYSPROC;
PFNGLDISABLEVERTEXARRAYATTRIBPROC;
PFNGLENABLEVERTEXARRAYATTRIBPROC;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC;
PFNGLGENERATETEXTUREMIPMAPPROC;
PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC;
PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC;
PFNGLGETGRAPHICSRESETSTATUSPROC;
PFNGLGETNAMEDBUFFERPARAMETERI64VPROC;
PFNGLGETNAMEDBUFFERPARAMETERIVPROC;
PFNGLGETNAMEDBUFFERPOINTERVPROC;
PFNGLGETNAMEDBUFFERSUBDATAPROC;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC;
PFNGLGETQUERYBUFFEROBJECTI64VPROC;
PFNGLGETQUERYBUFFEROBJECTIVPROC;
PFNGLGETQUERYBUFFEROBJECTUI64VPROC;
PFNGLGETQUERYBUFFEROBJECTUIVPROC;
PFNGLGETTEXTUREIMAGEPROC;
PFNGLGETTEXTURELEVELPARAMETERFVPROC;
PFNGLGETTEXTURELEVELPARAMETERIVPROC;
PFNGLGETTEXTUREPARAMETERIIVPROC;
PFNGLGETTEXTUREPARAMETERIUIVPROC;
PFNGLGETTEXTUREPARAMETERFVPROC;
PFNGLGETTEXTUREPARAMETERIVPROC;
PFNGLGETTEXTURESUBIMAGEPROC;
PFNGLGETTRANSFORMFEEDBACKI64_VPROC;
PFNGLGETTRANSFORMFEEDBACKI_VPROC;
PFNGLGETTRANSFORMFEEDBACKIVPROC;
PFNGLGETVERTEXARRAYINDEXED64IVPROC;
PFNGLGETVERTEXARRAYINDEXEDIVPROC;
PFNGLGETVERTEXARRAYIVPROC;
PFNGLGETNCOMPRESSEDTEXIMAGEPROC;
PFNGLGETNTEXIMAGEPROC;
PFNGLGETNUNIFORMDVPROC;
PFNGLGETNUNIFORMFVPROC;
PFNGLGETNUNIFORMIVPROC;
PFNGLGETNUNIFORMUIVPROC;
PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC;
PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC;
PFNGLMAPNAMEDBUFFERPROC;
PFNGLMAPNAMEDBUFFERRANGEPROC;
PFNGLMEMORYBARRIERBYREGIONPROC;
PFNGLNAMEDBUFFERDATAPROC;
PFNGLNAMEDBUFFERSTORAGEPROC;
PFNGLNAMEDBUFFERSUBDATAPROC;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC;
PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC;
PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC;
PFNGLNAMEDFRAMEBUFFERTEXTUREPROC;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC;
PFNGLNAMEDRENDERBUFFERSTORAGEPROC;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC;
PFNGLREADNPIXELSPROC;
PFNGLTEXTUREBARRIERPROC;
PFNGLTEXTUREBUFFERPROC;
PFNGLTEXTUREBUFFERRANGEPROC;
PFNGLTEXTUREPARAMETERIIVPROC;
PFNGLTEXTUREPARAMETERIUIVPROC;
PFNGLTEXTUREPARAMETERFPROC;
PFNGLTEXTUREPARAMETERFVPROC;
PFNGLTEXTUREPARAMETERIPROC;
PFNGLTEXTUREPARAMETERIVPROC;
PFNGLTEXTURESTORAGE1DPROC;
PFNGLTEXTURESTORAGE2DPROC;
PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC;
PFNGLTEXTURESTORAGE3DPROC;
PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC;
PFNGLTEXTURESUBIMAGE1DPROC;
PFNGLTEXTURESUBIMAGE2DPROC;
PFNGLTEXTURESUBIMAGE3DPROC;
PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC;
PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC;
PFNGLUNMAPNAMEDBUFFERPROC;
PFNGLVERTEXARRAYATTRIBBINDINGPROC;
PFNGLVERTEXARRAYATTRIBFORMATPROC;
PFNGLVERTEXARRAYATTRIBIFORMATPROC;
PFNGLVERTEXARRAYATTRIBLFORMATPROC;
PFNGLVERTEXARRAYBINDINGDIVISORPROC;
PFNGLVERTEXARRAYELEMENTBUFFERPROC;
PFNGLVERTEXARRAYVERTEXBUFFERPROC;
PFNGLVERTEXARRAYVERTEXBUFFERSPROC;

// GL_EXT_discard_framebuffer
PFNGLDISCARDFRAMEBUFFEREXTPROC;

// GL_OES_EGL_image
GLeglImageOES;
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC;
PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC;

// ES 3.2
PFNGLBLENDBARRIERPROC;
PFNGLPRIMITIVEBOUNDINGBOXPROC;

// GL_NV_internalformat_sample_query
PFNGLGETINTERNALFORMATSAMPLEIVNVPROC;

// GL_OVR_multiview2
PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC;
// EXT_debug_marker
PFNGLINSERTEVENTMARKEREXTPROC;
PFNGLPUSHGROUPMARKEREXTPROC;
PFNGLPOPGROUPMARKEREXTPROC;

// KHR_parallel_shader_compile
PFNGLMAXSHADERCOMPILERTHREADSKHRPROC;

// ARB_parallel_shader_compile
PFNGLMAXSHADERCOMPILERTHREADSARBPROC;

// GL_EXT_memory_object
PFNGLGETUNSIGNEDBYTEVEXTPROC;
PFNGLGETUNSIGNEDBYTEI_VEXTPROC;
PFNGLDELETEMEMORYOBJECTSEXTPROC;
PFNGLISMEMORYOBJECTEXTPROC;
PFNGLCREATEMEMORYOBJECTSEXTPROC;
PFNGLMEMORYOBJECTPARAMETERIVEXTPROC;
PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC;
PFNGLTEXSTORAGEMEM2DEXTPROC;
PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC;
PFNGLTEXSTORAGEMEM3DEXTPROC;
PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC;
PFNGLBUFFERSTORAGEMEMEXTPROC;
PFNGLTEXTURESTORAGEMEM2DEXTPROC;
PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC;
PFNGLTEXTURESTORAGEMEM3DEXTPROC;
PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC;
PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC;
PFNGLTEXSTORAGEMEM1DEXTPROC;
PFNGLTEXTURESTORAGEMEM1DEXTPROC;

// GL_EXT_semaphore
PFNGLGENSEMAPHORESEXTPROC;
PFNGLDELETESEMAPHORESEXTPROC;
PFNGLISSEMAPHOREEXTPROC;
PFNGLSEMAPHOREPARAMETERUI64VEXTPROC;
PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC;
PFNGLWAITSEMAPHOREEXTPROC;
PFNGLSIGNALSEMAPHOREEXTPROC;

// GL_EXT_memory_object_fd
PFNGLIMPORTMEMORYFDEXTPROC;

// GL_EXT_semaphore_fd
PFNGLIMPORTSEMAPHOREFDEXTPROC;

// GL_EXT_memory_object_win32
PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC;
PFNGLIMPORTMEMORYWIN32NAMEEXTPROC;

// GL_EXT_semaphore_win32
PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC;
PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC;

// GL_OES_texture_buffer
PFNGLTEXBUFFEROESPROC;
PFNGLTEXBUFFERRANGEOESPROC;

// GL_EXT_texture_buffer
PFNGLTEXBUFFEREXTPROC;
PFNGLTEXBUFFERRANGEEXTPROC;

// GL_EXT_framebuffer_blit
PFNGLBLITFRAMEBUFFEREXTPROC;

// GL_NV_framebuffer_blit
PFNGLBLITFRAMEBUFFERNVPROC;

// GL_EXT_multisampled_render_to_texture
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC;
PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC;

// GL_IMG_multisampled_render_to_texture
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC;
PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC;

// GL_NV_polygon_mode
PFNGLPOLYGONMODENVPROC;

// GL_EXT_polygon_offset_clamp
PFNGLPOLYGONOFFSETCLAMPEXTPROC;

// GL_EXT_shader_framebuffer_fetch_non_coherent
PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC;

// GL_MESA_framebuffer_flip_y
PFNGLFRAMEBUFFERPARAMETERIMESAPROC;

// GL_QCOM_tiled_rendering
PFNGLSTARTTILINGQCOMPROC;
PFNGLENDTILINGQCOMPROC;

// GL_EXT_clear_texture
PFNGLCLEARTEXIMAGEEXTPROC;
PFNGLCLEARTEXSUBIMAGEEXTPROC;

}  // namespace rx

#endif  // LIBANGLE_RENDERER_GL_FUNCTIONSGLTYPEDEFS_H_