{
global:
	# OpenGL ES 2.0 core functions
	glActiveTexture;
	glAttachShader;
	glBindAttribLocation;
	glBindBuffer;
	glBindFramebuffer;
	glBindRenderbuffer;
	glBindTexture;
	glBlendColor;
	glBlendEquation;
	glBlendEquationSeparate;
	glBlendFunc;
	glBlendFuncSeparate;
	glBufferData;
	glBufferSubData;
	glCheckFramebufferStatus;
	glClear;
	glClearColor;
	glClearDepthf;
	glClearStencil;
	glColorMask;
	glCompileShader;
	glCompressedTexImage2D;
	glCompressedTexSubImage2D;
	glCopyTexImage2D;
	glCopyTexSubImage2D;
	glCreateProgram;
	glCreateShader;
	glCullFace;
	glDeleteBuffers;
	glDeleteFramebuffers;
	glDeleteProgram;
	glDeleteRenderbuffers;
	glDeleteShader;
	glDeleteTextures;
	glDepthFunc;
	glDepthMask;
	glDepthRangef;
	glDetachShader;
	glDisable;
	glDisableVertexAttribArray;
	glDrawArrays;
	glDrawElements;
	glEnable;
	glEnableVertexAttribArray;
	glFinish;
	glFlush;
	glFramebufferRenderbuffer;
	glFramebufferTexture2D;
	glFrontFace;
	glGenBuffers;
	glGenFramebuffers;
	glGenRenderbuffers;
	glGenTextures;
	glGenerateMipmap;
	glGetActiveAttrib;
	glGetActiveUniform;
	glGetAttachedShaders;
	glGetAttribLocation;
	glGetBooleanv;
	glGetBufferParameteriv;
	glGetError;
	glGetFloatv;
	glGetFramebufferAttachmentParameteriv;
	glGetIntegerv;
	glGetProgramInfoLog;
	glGetProgramiv;
	glGetRenderbufferParameteriv;
	glGetShaderInfoLog;
	glGetShaderPrecisionFormat;
	glGetShaderSource;
	glGetShaderiv;
	glGetString;
	glGetTexParameterfv;
	glGetTexParameteriv;
	glGetUniformLocation;
	glGetUniformfv;
	glGetUniformiv;
	glGetVertexAttribPointerv;
	glGetVertexAttribfv;
	glGetVertexAttribiv;
	glHint;
	glIsBuffer;
	glIsEnabled;
	glIsFramebuffer;
	glIsProgram;
	glIsRenderbuffer;
	glIsShader;
	glIsTexture;
	glLineWidth;
	glLinkProgram;
	glPixelStorei;
	glPolygonOffset;
	glReadPixels;
	glReleaseShaderCompiler;
	glRenderbufferStorage;
	glSampleCoverage;
	glScissor;
	glShaderBinary;
	glShaderSource;
	glStencilFunc;
	glStencilFuncSeparate;
	glStencilMask;
	glStencilMaskSeparate;
	glStencilOp;
	glStencilOpSeparate;
	glTexImage2D;
	glTexParameterf;
	glTexParameterfv;
	glTexParameteri;
	glTexParameteriv;
	glTexSubImage2D;
	glUniform1f;
	glUniform1fv;
	glUniform1i;
	glUniform1iv;
	glUniform2f;
	glUniform2fv;
	glUniform2i;
	glUniform2iv;
	glUniform3f;
	glUniform3fv;
	glUniform3i;
	glUniform3iv;
	glUniform4f;
	glUniform4fv;
	glUniform4i;
	glUniform4iv;
	glUniformMatrix2fv;
	glUniformMatrix3fv;
	glUniformMatrix4fv;
	glUseProgram;
	glValidateProgram;
	glVertexAttrib1f;
	glVertexAttrib1fv;
	glVertexAttrib2f;
	glVertexAttrib2fv;
	glVertexAttrib3f;
	glVertexAttrib3fv;
	glVertexAttrib4f;
	glVertexAttrib4fv;
	glVertexAttribPointer;
	glViewport;

	# OpenGL ES 3.0 core functions
	glReadBuffer;
	glDrawRangeElements;
	glTexImage3D;
	glTexSubImage3D;
	glCopyTexSubImage3D;
	glCompressedTexImage3D;
	glCompressedTexSubImage3D;
	glGenQueries;
	glDeleteQueries;
	glIsQuery;
	glBeginQuery;
	glEndQuery;
	glGetQueryiv;
	glGetQueryObjectuiv;
	glUnmapBuffer;
	glGetBufferPointerv;
	glDrawBuffers;
	glUniformMatrix2x3fv;
	glUniformMatrix3x2fv;
	glUniformMatrix2x4fv;
	glUniformMatrix4x2fv;
	glUniformMatrix3x4fv;
	glUniformMatrix4x3fv;
	glBlitFramebuffer;
	glRenderbufferStorageMultisample;
	glFramebufferTextureLayer;
	glMapBufferRange;
	glFlushMappedBufferRange;
	glBindVertexArray;
	glDeleteVertexArrays;
	glGenVertexArrays;
	glIsVertexArray;
	glGetIntegeri_v;
	glBeginTransformFeedback;
	glEndTransformFeedback;
	glBindBufferRange;
	glBindBufferBase;
	glTransformFeedbackVaryings;
	glGetTransformFeedbackVarying;
	glVertexAttribIPointer;
	glGetVertexAttribIiv;
	glGetVertexAttribIuiv;
	glVertexAttribI4i;
	glVertexAttribI4ui;
	glVertexAttribI4iv;
	glVertexAttribI4uiv;
	glGetUniformuiv;
	glGetFragDataLocation;
	glUniform1ui;
	glUniform2ui;
	glUniform3ui;
	glUniform4ui;
	glUniform1uiv;
	glUniform2uiv;
	glUniform3uiv;
	glUniform4uiv;
	glClearBufferiv;
	glClearBufferuiv;
	glClearBufferfv;
	glClearBufferfi;
	glGetStringi;
	glCopyBufferSubData;
	glGetUniformIndices;
	glGetActiveUniformsiv;
	glGetUniformBlockIndex;
	glGetActiveUniformBlockiv;
	glGetActiveUniformBlockName;
	glUniformBlockBinding;
	glDrawArraysInstanced;
	glDrawElementsInstanced;
	glFenceSync;
	glIsSync;
	glDeleteSync;
	glClientWaitSync;
	glWaitSync;
	glGetInteger64v;
	glGetSynciv;
	glGetInteger64i_v;
	glGetBufferParameteri64v;
	glGenSamplers;
	glDeleteSamplers;
	glIsSampler;
	glBindSampler;
	glSamplerParameteri;
	glSamplerParameteriv;
	glSamplerParameterf;
	glSamplerParameterfv;
	glGetSamplerParameteriv;
	glGetSamplerParameterfv;
	glVertexAttribDivisor;
	glBindTransformFeedback;
	glDeleteTransformFeedbacks;
	glGenTransformFeedbacks;
	glIsTransformFeedback;
	glPauseTransformFeedback;
	glResumeTransformFeedback;
	glGetProgramBinary;
	glProgramBinary;
	glProgramParameteri;
	glInvalidateFramebuffer;
	glInvalidateSubFramebuffer;
	glTexStorage2D;
	glTexStorage3D;
	glGetInternalformativ;

	# Extensions
	glTexImage3DOES;
	glBlitFramebufferANGLE;
	glRenderbufferStorageMultisampleANGLE;
	glDeleteFencesNV;
	glFinishFenceNV;
	glGenFencesNV;
	glGetFenceivNV;
	glIsFenceNV;
	glSetFenceNV;
	glTestFenceNV;
	glGetGraphicsResetStatusEXT;
	glReadnPixelsEXT;
	glGetnUniformfvEXT;
	glGetnUniformivEXT;
	glGenQueriesEXT;
	glDeleteQueriesEXT;
	glIsQueryEXT;
	glBeginQueryEXT;
	glEndQueryEXT;
	glGetQueryivEXT;
	glGetQueryObjectuivEXT;
	glEGLImageTargetTexture2DOES;
	glEGLImageTargetRenderbufferStorageOES;
	glIsRenderbufferOES;
	glBindRenderbufferOES;
	glDeleteRenderbuffersOES;
	glGenRenderbuffersOES;
	glRenderbufferStorageOES;
	glGetRenderbufferParameterivOES;
	glIsFramebufferOES;
	glBindFramebufferOES;
	glDeleteFramebuffersOES;
	glGenFramebuffersOES;
	glCheckFramebufferStatusOES;
	glFramebufferRenderbufferOES;
	glFramebufferTexture2DOES;
	glGetFramebufferAttachmentParameterivOES;
	glGenerateMipmapOES;
	glDrawBuffersEXT;

	# Table of function pointers to disambiguate between libraries
	libGLESv2_swiftshader;

	# Type-strings and type-infos required by sanitizers
	_ZTS*;
	_ZTI*;

	Register;

local:
	*;
};