Edit

kc3-lang/angle/src/libGL/entry_points_gl_4_autogen.h

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2021-01-14 15:09:41
    Hash : b5424bb4
    Message : Generate internal gl entry point functions as C functions. Some internal GL functions are exported to our libGLESv1_CM library and to properly export them, they must be C functions. Bug: angleproject:5534 Change-Id: I37280312f73fd5e55166e4fa36659267d657a50b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628139 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libGL/entry_points_gl_4_autogen.h
  • // GENERATED FILE - DO NOT EDIT.
    // Generated by generate_entry_points.py using data from gl.xml.
    //
    // Copyright 2020 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.
    //
    // entry_points_gl_4_autogen.h:
    //   Defines the Desktop GL 4.x entry points.
    
    #ifndef LIBGL_ENTRY_POINTS_GL_4_AUTOGEN_H_
    #define LIBGL_ENTRY_POINTS_GL_4_AUTOGEN_H_
    
    #include <export.h>
    #include "angle_gl.h"
    
    extern "C" {
    
    // GL 4.0
    ANGLE_EXPORT void GL_APIENTRY GL_BeginQueryIndexed(GLenum target, GLuint index, GLuint id);
    ANGLE_EXPORT void GL_APIENTRY GL_BindTransformFeedback(GLenum target, GLuint id);
    ANGLE_EXPORT void GL_APIENTRY GL_BlendEquationSeparatei(GLuint buf,
                                                            GLenum modeRGB,
                                                            GLenum modeAlpha);
    ANGLE_EXPORT void GL_APIENTRY GL_BlendEquationi(GLuint buf, GLenum mode);
    ANGLE_EXPORT void GL_APIENTRY
    GL_BlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
    ANGLE_EXPORT void GL_APIENTRY GL_BlendFunci(GLuint buf, GLenum src, GLenum dst);
    ANGLE_EXPORT void GL_APIENTRY GL_DeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawArraysIndirect(GLenum mode, const void *indirect);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawElementsIndirect(GLenum mode,
                                                          GLenum type,
                                                          const void *indirect);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawTransformFeedback(GLenum mode, GLuint id);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
    ANGLE_EXPORT void GL_APIENTRY GL_EndQueryIndexed(GLenum target, GLuint index);
    ANGLE_EXPORT void GL_APIENTRY GL_GenTransformFeedbacks(GLsizei n, GLuint *ids);
    ANGLE_EXPORT void GL_APIENTRY GL_GetActiveSubroutineName(GLuint program,
                                                             GLenum shadertype,
                                                             GLuint index,
                                                             GLsizei bufsize,
                                                             GLsizei *length,
                                                             GLchar *name);
    ANGLE_EXPORT void GL_APIENTRY GL_GetActiveSubroutineUniformName(GLuint program,
                                                                    GLenum shadertype,
                                                                    GLuint index,
                                                                    GLsizei bufsize,
                                                                    GLsizei *length,
                                                                    GLchar *name);
    ANGLE_EXPORT void GL_APIENTRY GL_GetActiveSubroutineUniformiv(GLuint program,
                                                                  GLenum shadertype,
                                                                  GLuint index,
                                                                  GLenum pname,
                                                                  GLint *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramStageiv(GLuint program,
                                                       GLenum shadertype,
                                                       GLenum pname,
                                                       GLint *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetQueryIndexediv(GLenum target,
                                                       GLuint index,
                                                       GLenum pname,
                                                       GLint *params);
    ANGLE_EXPORT GLuint GL_APIENTRY GL_GetSubroutineIndex(GLuint program,
                                                          GLenum shadertype,
                                                          const GLchar *name);
    ANGLE_EXPORT GLint GL_APIENTRY GL_GetSubroutineUniformLocation(GLuint program,
                                                                   GLenum shadertype,
                                                                   const GLchar *name);
    ANGLE_EXPORT void GL_APIENTRY GL_GetUniformSubroutineuiv(GLenum shadertype,
                                                             GLint location,
                                                             GLuint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetUniformdv(GLuint program, GLint location, GLdouble *params);
    ANGLE_EXPORT GLboolean GL_APIENTRY GL_IsTransformFeedback(GLuint id);
    ANGLE_EXPORT void GL_APIENTRY GL_MinSampleShading(GLfloat value);
    ANGLE_EXPORT void GL_APIENTRY GL_PatchParameterfv(GLenum pname, const GLfloat *values);
    ANGLE_EXPORT void GL_APIENTRY GL_PatchParameteri(GLenum pname, GLint value);
    ANGLE_EXPORT void GL_APIENTRY GL_PauseTransformFeedback();
    ANGLE_EXPORT void GL_APIENTRY GL_ResumeTransformFeedback();
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform1d(GLint location, GLdouble x);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform1dv(GLint location, GLsizei count, const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform2d(GLint location, GLdouble x, GLdouble y);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform2dv(GLint location, GLsizei count, const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform3dv(GLint location, GLsizei count, const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_Uniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    ANGLE_EXPORT void GL_APIENTRY GL_Uniform4dv(GLint location, GLsizei count, const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix2dv(GLint location,
                                                      GLsizei count,
                                                      GLboolean transpose,
                                                      const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix2x3dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix2x4dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix3dv(GLint location,
                                                      GLsizei count,
                                                      GLboolean transpose,
                                                      const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix3x2dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix3x4dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix4dv(GLint location,
                                                      GLsizei count,
                                                      GLboolean transpose,
                                                      const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix4x2dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformMatrix4x3dv(GLint location,
                                                        GLsizei count,
                                                        GLboolean transpose,
                                                        const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_UniformSubroutinesuiv(GLenum shadertype,
                                                           GLsizei count,
                                                           const GLuint *indices);
    
    // GL 4.1
    ANGLE_EXPORT void GL_APIENTRY GL_ActiveShaderProgram(GLuint pipeline, GLuint program);
    ANGLE_EXPORT void GL_APIENTRY GL_BindProgramPipeline(GLuint pipeline);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearDepthf(GLfloat d);
    ANGLE_EXPORT GLuint GL_APIENTRY GL_CreateShaderProgramv(GLenum type,
                                                            GLsizei count,
                                                            const GLchar *const *strings);
    ANGLE_EXPORT void GL_APIENTRY GL_DeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
    ANGLE_EXPORT void GL_APIENTRY GL_DepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY GL_DepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
    ANGLE_EXPORT void GL_APIENTRY GL_DepthRangef(GLfloat n, GLfloat f);
    ANGLE_EXPORT void GL_APIENTRY GL_GenProgramPipelines(GLsizei n, GLuint *pipelines);
    ANGLE_EXPORT void GL_APIENTRY GL_GetDoublei_v(GLenum target, GLuint index, GLdouble *data);
    ANGLE_EXPORT void GL_APIENTRY GL_GetFloati_v(GLenum target, GLuint index, GLfloat *data);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramBinary(GLuint program,
                                                      GLsizei bufSize,
                                                      GLsizei *length,
                                                      GLenum *binaryFormat,
                                                      void *binary);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramPipelineInfoLog(GLuint pipeline,
                                                               GLsizei bufSize,
                                                               GLsizei *length,
                                                               GLchar *infoLog);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetShaderPrecisionFormat(GLenum shadertype,
                                                              GLenum precisiontype,
                                                              GLint *range,
                                                              GLint *precision);
    ANGLE_EXPORT void GL_APIENTRY GL_GetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
    ANGLE_EXPORT GLboolean GL_APIENTRY GL_IsProgramPipeline(GLuint pipeline);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramBinary(GLuint program,
                                                   GLenum binaryFormat,
                                                   const void *binary,
                                                   GLsizei length);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramParameteri(GLuint program, GLenum pname, GLint value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1d(GLuint program, GLint location, GLdouble v0);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1dv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1f(GLuint program, GLint location, GLfloat v0);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1fv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1i(GLuint program, GLint location, GLint v0);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1iv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1ui(GLuint program, GLint location, GLuint v0);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform1uiv(GLuint program,
                                                        GLint location,
                                                        GLsizei count,
                                                        const GLuint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2d(GLuint program,
                                                      GLint location,
                                                      GLdouble v0,
                                                      GLdouble v1);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2dv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2f(GLuint program,
                                                      GLint location,
                                                      GLfloat v0,
                                                      GLfloat v1);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2fv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2i(GLuint program,
                                                      GLint location,
                                                      GLint v0,
                                                      GLint v1);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2iv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2ui(GLuint program,
                                                       GLint location,
                                                       GLuint v0,
                                                       GLuint v1);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform2uiv(GLuint program,
                                                        GLint location,
                                                        GLsizei count,
                                                        const GLuint *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform3dv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform3fv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform3iv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLint *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform3uiv(GLuint program,
                                                        GLint location,
                                                        GLsizei count,
                                                        const GLuint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform4d(GLuint program,
                                                      GLint location,
                                                      GLdouble v0,
                                                      GLdouble v1,
                                                      GLdouble v2,
                                                      GLdouble v3);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform4dv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform4fv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform4iv(GLuint program,
                                                       GLint location,
                                                       GLsizei count,
                                                       const GLint *value);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniform4uiv(GLuint program,
                                                        GLint location,
                                                        GLsizei count,
                                                        const GLuint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2dv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2fv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2x3dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2x3fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2x4dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix2x4fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3dv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3fv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3x2dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3x2fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3x4dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix3x4fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4dv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4fv(GLuint program,
                                                             GLint location,
                                                             GLsizei count,
                                                             GLboolean transpose,
                                                             const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4x2dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4x2fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4x3dv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLdouble *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ProgramUniformMatrix4x3fv(GLuint program,
                                                               GLint location,
                                                               GLsizei count,
                                                               GLboolean transpose,
                                                               const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ReleaseShaderCompiler();
    ANGLE_EXPORT void GL_APIENTRY GL_ScissorArrayv(GLuint first, GLsizei count, const GLint *v);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_ScissorIndexedv(GLuint index, const GLint *v);
    ANGLE_EXPORT void GL_APIENTRY GL_ShaderBinary(GLsizei count,
                                                  const GLuint *shaders,
                                                  GLenum binaryformat,
                                                  const void *binary,
                                                  GLsizei length);
    ANGLE_EXPORT void GL_APIENTRY GL_UseProgramStages(GLuint pipeline,
                                                      GLbitfield stages,
                                                      GLuint program);
    ANGLE_EXPORT void GL_APIENTRY GL_ValidateProgramPipeline(GLuint pipeline);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL1d(GLuint index, GLdouble x);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL1dv(GLuint index, const GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL2dv(GLuint index, const GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL3dv(GLuint index, const GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY
    GL_VertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribL4dv(GLuint index, const GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY
    GL_VertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
    ANGLE_EXPORT void GL_APIENTRY GL_ViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
    ANGLE_EXPORT void GL_APIENTRY GL_ViewportIndexedfv(GLuint index, const GLfloat *v);
    
    // GL 4.2
    ANGLE_EXPORT void GL_APIENTRY GL_BindImageTexture(GLuint unit,
                                                      GLuint texture,
                                                      GLint level,
                                                      GLboolean layered,
                                                      GLint layer,
                                                      GLenum access,
                                                      GLenum format);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawArraysInstancedBaseInstance(GLenum mode,
                                                                     GLint first,
                                                                     GLsizei count,
                                                                     GLsizei instancecount,
                                                                     GLuint baseinstance);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawElementsInstancedBaseInstance(GLenum mode,
                                                                       GLsizei count,
                                                                       GLenum type,
                                                                       const void *indices,
                                                                       GLsizei instancecount,
                                                                       GLuint baseinstance);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawElementsInstancedBaseVertexBaseInstance(GLenum mode,
                                                                                 GLsizei count,
                                                                                 GLenum type,
                                                                                 const void *indices,
                                                                                 GLsizei instancecount,
                                                                                 GLint basevertex,
                                                                                 GLuint baseinstance);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawTransformFeedbackInstanced(GLenum mode,
                                                                    GLuint id,
                                                                    GLsizei instancecount);
    ANGLE_EXPORT void GL_APIENTRY GL_DrawTransformFeedbackStreamInstanced(GLenum mode,
                                                                          GLuint id,
                                                                          GLuint stream,
                                                                          GLsizei instancecount);
    ANGLE_EXPORT void GL_APIENTRY GL_GetActiveAtomicCounterBufferiv(GLuint program,
                                                                    GLuint bufferIndex,
                                                                    GLenum pname,
                                                                    GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetInternalformativ(GLenum target,
                                                         GLenum internalformat,
                                                         GLenum pname,
                                                         GLsizei bufSize,
                                                         GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_MemoryBarrier(GLbitfield barriers);
    ANGLE_EXPORT void GL_APIENTRY GL_TexStorage1D(GLenum target,
                                                  GLsizei levels,
                                                  GLenum internalformat,
                                                  GLsizei width);
    ANGLE_EXPORT void GL_APIENTRY GL_TexStorage2D(GLenum target,
                                                  GLsizei levels,
                                                  GLenum internalformat,
                                                  GLsizei width,
                                                  GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_TexStorage3D(GLenum target,
                                                  GLsizei levels,
                                                  GLenum internalformat,
                                                  GLsizei width,
                                                  GLsizei height,
                                                  GLsizei depth);
    
    // GL 4.3
    ANGLE_EXPORT void GL_APIENTRY GL_BindVertexBuffer(GLuint bindingindex,
                                                      GLuint buffer,
                                                      GLintptr offset,
                                                      GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearBufferData(GLenum target,
                                                     GLenum internalformat,
                                                     GLenum format,
                                                     GLenum type,
                                                     const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearBufferSubData(GLenum target,
                                                        GLenum internalformat,
                                                        GLintptr offset,
                                                        GLsizeiptr size,
                                                        GLenum format,
                                                        GLenum type,
                                                        const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_CopyImageSubData(GLuint srcName,
                                                      GLenum srcTarget,
                                                      GLint srcLevel,
                                                      GLint srcX,
                                                      GLint srcY,
                                                      GLint srcZ,
                                                      GLuint dstName,
                                                      GLenum dstTarget,
                                                      GLint dstLevel,
                                                      GLint dstX,
                                                      GLint dstY,
                                                      GLint dstZ,
                                                      GLsizei srcWidth,
                                                      GLsizei srcHeight,
                                                      GLsizei srcDepth);
    ANGLE_EXPORT void GL_APIENTRY GL_DebugMessageCallback(GLDEBUGPROC callback, const void *userParam);
    ANGLE_EXPORT void GL_APIENTRY GL_DebugMessageControl(GLenum source,
                                                         GLenum type,
                                                         GLenum severity,
                                                         GLsizei count,
                                                         const GLuint *ids,
                                                         GLboolean enabled);
    ANGLE_EXPORT void GL_APIENTRY GL_DebugMessageInsert(GLenum source,
                                                        GLenum type,
                                                        GLuint id,
                                                        GLenum severity,
                                                        GLsizei length,
                                                        const GLchar *buf);
    ANGLE_EXPORT void GL_APIENTRY GL_DispatchCompute(GLuint num_groups_x,
                                                     GLuint num_groups_y,
                                                     GLuint num_groups_z);
    ANGLE_EXPORT void GL_APIENTRY GL_DispatchComputeIndirect(GLintptr indirect);
    ANGLE_EXPORT void GL_APIENTRY GL_FramebufferParameteri(GLenum target, GLenum pname, GLint param);
    ANGLE_EXPORT GLuint GL_APIENTRY GL_GetDebugMessageLog(GLuint count,
                                                          GLsizei bufSize,
                                                          GLenum *sources,
                                                          GLenum *types,
                                                          GLuint *ids,
                                                          GLenum *severities,
                                                          GLsizei *lengths,
                                                          GLchar *messageLog);
    ANGLE_EXPORT void GL_APIENTRY GL_GetFramebufferParameteriv(GLenum target,
                                                               GLenum pname,
                                                               GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetInternalformati64v(GLenum target,
                                                           GLenum internalformat,
                                                           GLenum pname,
                                                           GLsizei bufSize,
                                                           GLint64 *params);
    ANGLE_EXPORT void GL_APIENTRY
    GL_GetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
    ANGLE_EXPORT void GL_APIENTRY GL_GetObjectPtrLabel(const void *ptr,
                                                       GLsizei bufSize,
                                                       GLsizei *length,
                                                       GLchar *label);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramInterfaceiv(GLuint program,
                                                           GLenum programInterface,
                                                           GLenum pname,
                                                           GLint *params);
    ANGLE_EXPORT GLuint GL_APIENTRY GL_GetProgramResourceIndex(GLuint program,
                                                               GLenum programInterface,
                                                               const GLchar *name);
    ANGLE_EXPORT GLint GL_APIENTRY GL_GetProgramResourceLocation(GLuint program,
                                                                 GLenum programInterface,
                                                                 const GLchar *name);
    ANGLE_EXPORT GLint GL_APIENTRY GL_GetProgramResourceLocationIndex(GLuint program,
                                                                      GLenum programInterface,
                                                                      const GLchar *name);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramResourceName(GLuint program,
                                                            GLenum programInterface,
                                                            GLuint index,
                                                            GLsizei bufSize,
                                                            GLsizei *length,
                                                            GLchar *name);
    ANGLE_EXPORT void GL_APIENTRY GL_GetProgramResourceiv(GLuint program,
                                                          GLenum programInterface,
                                                          GLuint index,
                                                          GLsizei propCount,
                                                          const GLenum *props,
                                                          GLsizei bufSize,
                                                          GLsizei *length,
                                                          GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateBufferData(GLuint buffer);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateBufferSubData(GLuint buffer,
                                                             GLintptr offset,
                                                             GLsizeiptr length);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateFramebuffer(GLenum target,
                                                           GLsizei numAttachments,
                                                           const GLenum *attachments);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateSubFramebuffer(GLenum target,
                                                              GLsizei numAttachments,
                                                              const GLenum *attachments,
                                                              GLint x,
                                                              GLint y,
                                                              GLsizei width,
                                                              GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateTexImage(GLuint texture, GLint level);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateTexSubImage(GLuint texture,
                                                           GLint level,
                                                           GLint xoffset,
                                                           GLint yoffset,
                                                           GLint zoffset,
                                                           GLsizei width,
                                                           GLsizei height,
                                                           GLsizei depth);
    ANGLE_EXPORT void GL_APIENTRY GL_MultiDrawArraysIndirect(GLenum mode,
                                                             const void *indirect,
                                                             GLsizei drawcount,
                                                             GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_MultiDrawElementsIndirect(GLenum mode,
                                                               GLenum type,
                                                               const void *indirect,
                                                               GLsizei drawcount,
                                                               GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_ObjectLabel(GLenum identifier,
                                                 GLuint name,
                                                 GLsizei length,
                                                 const GLchar *label);
    ANGLE_EXPORT void GL_APIENTRY GL_ObjectPtrLabel(const void *ptr,
                                                    GLsizei length,
                                                    const GLchar *label);
    ANGLE_EXPORT void GL_APIENTRY GL_PopDebugGroup();
    ANGLE_EXPORT void GL_APIENTRY GL_PushDebugGroup(GLenum source,
                                                    GLuint id,
                                                    GLsizei length,
                                                    const GLchar *message);
    ANGLE_EXPORT void GL_APIENTRY GL_ShaderStorageBlockBinding(GLuint program,
                                                               GLuint storageBlockIndex,
                                                               GLuint storageBlockBinding);
    ANGLE_EXPORT void GL_APIENTRY GL_TexBufferRange(GLenum target,
                                                    GLenum internalformat,
                                                    GLuint buffer,
                                                    GLintptr offset,
                                                    GLsizeiptr size);
    ANGLE_EXPORT void GL_APIENTRY GL_TexStorage2DMultisample(GLenum target,
                                                             GLsizei samples,
                                                             GLenum internalformat,
                                                             GLsizei width,
                                                             GLsizei height,
                                                             GLboolean fixedsamplelocations);
    ANGLE_EXPORT void GL_APIENTRY GL_TexStorage3DMultisample(GLenum target,
                                                             GLsizei samples,
                                                             GLenum internalformat,
                                                             GLsizei width,
                                                             GLsizei height,
                                                             GLsizei depth,
                                                             GLboolean fixedsamplelocations);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureView(GLuint texture,
                                                 GLenum target,
                                                 GLuint origtexture,
                                                 GLenum internalformat,
                                                 GLuint minlevel,
                                                 GLuint numlevels,
                                                 GLuint minlayer,
                                                 GLuint numlayers);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribBinding(GLuint attribindex, GLuint bindingindex);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribFormat(GLuint attribindex,
                                                        GLint size,
                                                        GLenum type,
                                                        GLboolean normalized,
                                                        GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribIFormat(GLuint attribindex,
                                                         GLint size,
                                                         GLenum type,
                                                         GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexAttribLFormat(GLuint attribindex,
                                                         GLint size,
                                                         GLenum type,
                                                         GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexBindingDivisor(GLuint bindingindex, GLuint divisor);
    
    // GL 4.4
    ANGLE_EXPORT void GL_APIENTRY GL_BindBuffersBase(GLenum target,
                                                     GLuint first,
                                                     GLsizei count,
                                                     const GLuint *buffers);
    ANGLE_EXPORT void GL_APIENTRY GL_BindBuffersRange(GLenum target,
                                                      GLuint first,
                                                      GLsizei count,
                                                      const GLuint *buffers,
                                                      const GLintptr *offsets,
                                                      const GLsizeiptr *sizes);
    ANGLE_EXPORT void GL_APIENTRY GL_BindImageTextures(GLuint first,
                                                       GLsizei count,
                                                       const GLuint *textures);
    ANGLE_EXPORT void GL_APIENTRY GL_BindSamplers(GLuint first, GLsizei count, const GLuint *samplers);
    ANGLE_EXPORT void GL_APIENTRY GL_BindTextures(GLuint first, GLsizei count, const GLuint *textures);
    ANGLE_EXPORT void GL_APIENTRY GL_BindVertexBuffers(GLuint first,
                                                       GLsizei count,
                                                       const GLuint *buffers,
                                                       const GLintptr *offsets,
                                                       const GLsizei *strides);
    ANGLE_EXPORT void GL_APIENTRY GL_BufferStorage(GLenum target,
                                                   GLsizeiptr size,
                                                   const void *data,
                                                   GLbitfield flags);
    ANGLE_EXPORT void GL_APIENTRY
    GL_ClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearTexSubImage(GLuint texture,
                                                      GLint level,
                                                      GLint xoffset,
                                                      GLint yoffset,
                                                      GLint zoffset,
                                                      GLsizei width,
                                                      GLsizei height,
                                                      GLsizei depth,
                                                      GLenum format,
                                                      GLenum type,
                                                      const void *data);
    
    // GL 4.5
    ANGLE_EXPORT void GL_APIENTRY GL_BindTextureUnit(GLuint unit, GLuint texture);
    ANGLE_EXPORT void GL_APIENTRY GL_BlitNamedFramebuffer(GLuint readFramebuffer,
                                                          GLuint drawFramebuffer,
                                                          GLint srcX0,
                                                          GLint srcY0,
                                                          GLint srcX1,
                                                          GLint srcY1,
                                                          GLint dstX0,
                                                          GLint dstY0,
                                                          GLint dstX1,
                                                          GLint dstY1,
                                                          GLbitfield mask,
                                                          GLenum filter);
    ANGLE_EXPORT GLenum GL_APIENTRY GL_CheckNamedFramebufferStatus(GLuint framebuffer, GLenum target);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedBufferData(GLuint buffer,
                                                          GLenum internalformat,
                                                          GLenum format,
                                                          GLenum type,
                                                          const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedBufferSubData(GLuint buffer,
                                                             GLenum internalformat,
                                                             GLintptr offset,
                                                             GLsizeiptr size,
                                                             GLenum format,
                                                             GLenum type,
                                                             const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedFramebufferfi(GLuint framebuffer,
                                                             GLenum buffer,
                                                             GLint drawbuffer,
                                                             GLfloat depth,
                                                             GLint stencil);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedFramebufferfv(GLuint framebuffer,
                                                             GLenum buffer,
                                                             GLint drawbuffer,
                                                             const GLfloat *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedFramebufferiv(GLuint framebuffer,
                                                             GLenum buffer,
                                                             GLint drawbuffer,
                                                             const GLint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ClearNamedFramebufferuiv(GLuint framebuffer,
                                                              GLenum buffer,
                                                              GLint drawbuffer,
                                                              const GLuint *value);
    ANGLE_EXPORT void GL_APIENTRY GL_ClipControl(GLenum origin, GLenum depth);
    ANGLE_EXPORT void GL_APIENTRY GL_CompressedTextureSubImage1D(GLuint texture,
                                                                 GLint level,
                                                                 GLint xoffset,
                                                                 GLsizei width,
                                                                 GLenum format,
                                                                 GLsizei imageSize,
                                                                 const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_CompressedTextureSubImage2D(GLuint texture,
                                                                 GLint level,
                                                                 GLint xoffset,
                                                                 GLint yoffset,
                                                                 GLsizei width,
                                                                 GLsizei height,
                                                                 GLenum format,
                                                                 GLsizei imageSize,
                                                                 const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_CompressedTextureSubImage3D(GLuint texture,
                                                                 GLint level,
                                                                 GLint xoffset,
                                                                 GLint yoffset,
                                                                 GLint zoffset,
                                                                 GLsizei width,
                                                                 GLsizei height,
                                                                 GLsizei depth,
                                                                 GLenum format,
                                                                 GLsizei imageSize,
                                                                 const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_CopyNamedBufferSubData(GLuint readBuffer,
                                                            GLuint writeBuffer,
                                                            GLintptr readOffset,
                                                            GLintptr writeOffset,
                                                            GLsizeiptr size);
    ANGLE_EXPORT void GL_APIENTRY GL_CopyTextureSubImage1D(GLuint texture,
                                                           GLint level,
                                                           GLint xoffset,
                                                           GLint x,
                                                           GLint y,
                                                           GLsizei width);
    ANGLE_EXPORT void GL_APIENTRY GL_CopyTextureSubImage2D(GLuint texture,
                                                           GLint level,
                                                           GLint xoffset,
                                                           GLint yoffset,
                                                           GLint x,
                                                           GLint y,
                                                           GLsizei width,
                                                           GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_CopyTextureSubImage3D(GLuint texture,
                                                           GLint level,
                                                           GLint xoffset,
                                                           GLint yoffset,
                                                           GLint zoffset,
                                                           GLint x,
                                                           GLint y,
                                                           GLsizei width,
                                                           GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateBuffers(GLsizei n, GLuint *buffers);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateFramebuffers(GLsizei n, GLuint *framebuffers);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateProgramPipelines(GLsizei n, GLuint *pipelines);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateQueries(GLenum target, GLsizei n, GLuint *ids);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateRenderbuffers(GLsizei n, GLuint *renderbuffers);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateSamplers(GLsizei n, GLuint *samplers);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateTextures(GLenum target, GLsizei n, GLuint *textures);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateTransformFeedbacks(GLsizei n, GLuint *ids);
    ANGLE_EXPORT void GL_APIENTRY GL_CreateVertexArrays(GLsizei n, GLuint *arrays);
    ANGLE_EXPORT void GL_APIENTRY GL_DisableVertexArrayAttrib(GLuint vaobj, GLuint index);
    ANGLE_EXPORT void GL_APIENTRY GL_EnableVertexArrayAttrib(GLuint vaobj, GLuint index);
    ANGLE_EXPORT void GL_APIENTRY GL_FlushMappedNamedBufferRange(GLuint buffer,
                                                                 GLintptr offset,
                                                                 GLsizeiptr length);
    ANGLE_EXPORT void GL_APIENTRY GL_GenerateTextureMipmap(GLuint texture);
    ANGLE_EXPORT void GL_APIENTRY GL_GetCompressedTextureImage(GLuint texture,
                                                               GLint level,
                                                               GLsizei bufSize,
                                                               void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_GetCompressedTextureSubImage(GLuint texture,
                                                                  GLint level,
                                                                  GLint xoffset,
                                                                  GLint yoffset,
                                                                  GLint zoffset,
                                                                  GLsizei width,
                                                                  GLsizei height,
                                                                  GLsizei depth,
                                                                  GLsizei bufSize,
                                                                  void *pixels);
    ANGLE_EXPORT GLenum GL_APIENTRY GL_GetGraphicsResetStatus();
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedBufferParameteri64v(GLuint buffer,
                                                                 GLenum pname,
                                                                 GLint64 *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedBufferParameteriv(GLuint buffer,
                                                               GLenum pname,
                                                               GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedBufferPointerv(GLuint buffer, GLenum pname, void **params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedBufferSubData(GLuint buffer,
                                                           GLintptr offset,
                                                           GLsizeiptr size,
                                                           void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedFramebufferAttachmentParameteriv(GLuint framebuffer,
                                                                              GLenum attachment,
                                                                              GLenum pname,
                                                                              GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedFramebufferParameteriv(GLuint framebuffer,
                                                                    GLenum pname,
                                                                    GLint *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetNamedRenderbufferParameteriv(GLuint renderbuffer,
                                                                     GLenum pname,
                                                                     GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetQueryBufferObjecti64v(GLuint id,
                                                              GLuint buffer,
                                                              GLenum pname,
                                                              GLintptr offset);
    ANGLE_EXPORT void GL_APIENTRY GL_GetQueryBufferObjectiv(GLuint id,
                                                            GLuint buffer,
                                                            GLenum pname,
                                                            GLintptr offset);
    ANGLE_EXPORT void GL_APIENTRY GL_GetQueryBufferObjectui64v(GLuint id,
                                                               GLuint buffer,
                                                               GLenum pname,
                                                               GLintptr offset);
    ANGLE_EXPORT void GL_APIENTRY GL_GetQueryBufferObjectuiv(GLuint id,
                                                             GLuint buffer,
                                                             GLenum pname,
                                                             GLintptr offset);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureImage(GLuint texture,
                                                     GLint level,
                                                     GLenum format,
                                                     GLenum type,
                                                     GLsizei bufSize,
                                                     void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureLevelParameterfv(GLuint texture,
                                                                GLint level,
                                                                GLenum pname,
                                                                GLfloat *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureLevelParameteriv(GLuint texture,
                                                                GLint level,
                                                                GLenum pname,
                                                                GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureParameterIiv(GLuint texture,
                                                            GLenum pname,
                                                            GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureParameterIuiv(GLuint texture,
                                                             GLenum pname,
                                                             GLuint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureParameterfv(GLuint texture,
                                                           GLenum pname,
                                                           GLfloat *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTextureSubImage(GLuint texture,
                                                        GLint level,
                                                        GLint xoffset,
                                                        GLint yoffset,
                                                        GLint zoffset,
                                                        GLsizei width,
                                                        GLsizei height,
                                                        GLsizei depth,
                                                        GLenum format,
                                                        GLenum type,
                                                        GLsizei bufSize,
                                                        void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTransformFeedbacki64_v(GLuint xfb,
                                                               GLenum pname,
                                                               GLuint index,
                                                               GLint64 *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTransformFeedbacki_v(GLuint xfb,
                                                             GLenum pname,
                                                             GLuint index,
                                                             GLint *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetVertexArrayIndexed64iv(GLuint vaobj,
                                                               GLuint index,
                                                               GLenum pname,
                                                               GLint64 *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetVertexArrayIndexediv(GLuint vaobj,
                                                             GLuint index,
                                                             GLenum pname,
                                                             GLint *param);
    ANGLE_EXPORT void GL_APIENTRY GL_GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param);
    ANGLE_EXPORT void GL_APIENTRY
    GL_GetnColorTable(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnCompressedTexImage(GLenum target,
                                                            GLint lod,
                                                            GLsizei bufSize,
                                                            void *pixels);
    ANGLE_EXPORT void GL_APIENTRY
    GL_GetnConvolutionFilter(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnHistogram(GLenum target,
                                                   GLboolean reset,
                                                   GLenum format,
                                                   GLenum type,
                                                   GLsizei bufSize,
                                                   void *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnMapdv(GLenum target,
                                               GLenum query,
                                               GLsizei bufSize,
                                               GLdouble *v);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnMapfv(GLenum target,
                                               GLenum query,
                                               GLsizei bufSize,
                                               GLfloat *v);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint *v);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnMinmax(GLenum target,
                                                GLboolean reset,
                                                GLenum format,
                                                GLenum type,
                                                GLsizei bufSize,
                                                void *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnPixelMapusv(GLenum map, GLsizei bufSize, GLushort *values);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnPolygonStipple(GLsizei bufSize, GLubyte *pattern);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnSeparableFilter(GLenum target,
                                                         GLenum format,
                                                         GLenum type,
                                                         GLsizei rowBufSize,
                                                         void *row,
                                                         GLsizei columnBufSize,
                                                         void *column,
                                                         void *span);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnTexImage(GLenum target,
                                                  GLint level,
                                                  GLenum format,
                                                  GLenum type,
                                                  GLsizei bufSize,
                                                  void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnUniformdv(GLuint program,
                                                   GLint location,
                                                   GLsizei bufSize,
                                                   GLdouble *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnUniformfv(GLuint program,
                                                   GLint location,
                                                   GLsizei bufSize,
                                                   GLfloat *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnUniformiv(GLuint program,
                                                   GLint location,
                                                   GLsizei bufSize,
                                                   GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_GetnUniformuiv(GLuint program,
                                                    GLint location,
                                                    GLsizei bufSize,
                                                    GLuint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateNamedFramebufferData(GLuint framebuffer,
                                                                    GLsizei numAttachments,
                                                                    const GLenum *attachments);
    ANGLE_EXPORT void GL_APIENTRY GL_InvalidateNamedFramebufferSubData(GLuint framebuffer,
                                                                       GLsizei numAttachments,
                                                                       const GLenum *attachments,
                                                                       GLint x,
                                                                       GLint y,
                                                                       GLsizei width,
                                                                       GLsizei height);
    ANGLE_EXPORT void *GL_APIENTRY GL_MapNamedBuffer(GLuint buffer, GLenum access);
    ANGLE_EXPORT void *GL_APIENTRY GL_MapNamedBufferRange(GLuint buffer,
                                                          GLintptr offset,
                                                          GLsizeiptr length,
                                                          GLbitfield access);
    ANGLE_EXPORT void GL_APIENTRY GL_MemoryBarrierByRegion(GLbitfield barriers);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedBufferData(GLuint buffer,
                                                     GLsizeiptr size,
                                                     const void *data,
                                                     GLenum usage);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedBufferStorage(GLuint buffer,
                                                        GLsizeiptr size,
                                                        const void *data,
                                                        GLbitfield flags);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedBufferSubData(GLuint buffer,
                                                        GLintptr offset,
                                                        GLsizeiptr size,
                                                        const void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferDrawBuffers(GLuint framebuffer,
                                                                 GLsizei n,
                                                                 const GLenum *bufs);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferParameteri(GLuint framebuffer,
                                                                GLenum pname,
                                                                GLint param);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferRenderbuffer(GLuint framebuffer,
                                                                  GLenum attachment,
                                                                  GLenum renderbuffertarget,
                                                                  GLuint renderbuffer);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferTexture(GLuint framebuffer,
                                                             GLenum attachment,
                                                             GLuint texture,
                                                             GLint level);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedFramebufferTextureLayer(GLuint framebuffer,
                                                                  GLenum attachment,
                                                                  GLuint texture,
                                                                  GLint level,
                                                                  GLint layer);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedRenderbufferStorage(GLuint renderbuffer,
                                                              GLenum internalformat,
                                                              GLsizei width,
                                                              GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_NamedRenderbufferStorageMultisample(GLuint renderbuffer,
                                                                         GLsizei samples,
                                                                         GLenum internalformat,
                                                                         GLsizei width,
                                                                         GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_ReadnPixels(GLint x,
                                                 GLint y,
                                                 GLsizei width,
                                                 GLsizei height,
                                                 GLenum format,
                                                 GLenum type,
                                                 GLsizei bufSize,
                                                 void *data);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureBarrier();
    ANGLE_EXPORT void GL_APIENTRY GL_TextureBuffer(GLuint texture,
                                                   GLenum internalformat,
                                                   GLuint buffer);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureBufferRange(GLuint texture,
                                                        GLenum internalformat,
                                                        GLuint buffer,
                                                        GLintptr offset,
                                                        GLsizeiptr size);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameterIiv(GLuint texture,
                                                         GLenum pname,
                                                         const GLint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameterIuiv(GLuint texture,
                                                          GLenum pname,
                                                          const GLuint *params);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameterf(GLuint texture, GLenum pname, GLfloat param);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameterfv(GLuint texture,
                                                        GLenum pname,
                                                        const GLfloat *param);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameteri(GLuint texture, GLenum pname, GLint param);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureParameteriv(GLuint texture,
                                                        GLenum pname,
                                                        const GLint *param);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureStorage1D(GLuint texture,
                                                      GLsizei levels,
                                                      GLenum internalformat,
                                                      GLsizei width);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureStorage2D(GLuint texture,
                                                      GLsizei levels,
                                                      GLenum internalformat,
                                                      GLsizei width,
                                                      GLsizei height);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureStorage2DMultisample(GLuint texture,
                                                                 GLsizei samples,
                                                                 GLenum internalformat,
                                                                 GLsizei width,
                                                                 GLsizei height,
                                                                 GLboolean fixedsamplelocations);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureStorage3D(GLuint texture,
                                                      GLsizei levels,
                                                      GLenum internalformat,
                                                      GLsizei width,
                                                      GLsizei height,
                                                      GLsizei depth);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureStorage3DMultisample(GLuint texture,
                                                                 GLsizei samples,
                                                                 GLenum internalformat,
                                                                 GLsizei width,
                                                                 GLsizei height,
                                                                 GLsizei depth,
                                                                 GLboolean fixedsamplelocations);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureSubImage1D(GLuint texture,
                                                       GLint level,
                                                       GLint xoffset,
                                                       GLsizei width,
                                                       GLenum format,
                                                       GLenum type,
                                                       const void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureSubImage2D(GLuint texture,
                                                       GLint level,
                                                       GLint xoffset,
                                                       GLint yoffset,
                                                       GLsizei width,
                                                       GLsizei height,
                                                       GLenum format,
                                                       GLenum type,
                                                       const void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_TextureSubImage3D(GLuint texture,
                                                       GLint level,
                                                       GLint xoffset,
                                                       GLint yoffset,
                                                       GLint zoffset,
                                                       GLsizei width,
                                                       GLsizei height,
                                                       GLsizei depth,
                                                       GLenum format,
                                                       GLenum type,
                                                       const void *pixels);
    ANGLE_EXPORT void GL_APIENTRY GL_TransformFeedbackBufferBase(GLuint xfb,
                                                                 GLuint index,
                                                                 GLuint buffer);
    ANGLE_EXPORT void GL_APIENTRY GL_TransformFeedbackBufferRange(GLuint xfb,
                                                                  GLuint index,
                                                                  GLuint buffer,
                                                                  GLintptr offset,
                                                                  GLsizeiptr size);
    ANGLE_EXPORT GLboolean GL_APIENTRY GL_UnmapNamedBuffer(GLuint buffer);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayAttribBinding(GLuint vaobj,
                                                              GLuint attribindex,
                                                              GLuint bindingindex);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayAttribFormat(GLuint vaobj,
                                                             GLuint attribindex,
                                                             GLint size,
                                                             GLenum type,
                                                             GLboolean normalized,
                                                             GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayAttribIFormat(GLuint vaobj,
                                                              GLuint attribindex,
                                                              GLint size,
                                                              GLenum type,
                                                              GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayAttribLFormat(GLuint vaobj,
                                                              GLuint attribindex,
                                                              GLint size,
                                                              GLenum type,
                                                              GLuint relativeoffset);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayBindingDivisor(GLuint vaobj,
                                                               GLuint bindingindex,
                                                               GLuint divisor);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayElementBuffer(GLuint vaobj, GLuint buffer);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayVertexBuffer(GLuint vaobj,
                                                             GLuint bindingindex,
                                                             GLuint buffer,
                                                             GLintptr offset,
                                                             GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_VertexArrayVertexBuffers(GLuint vaobj,
                                                              GLuint first,
                                                              GLsizei count,
                                                              const GLuint *buffers,
                                                              const GLintptr *offsets,
                                                              const GLsizei *strides);
    
    // GL 4.6
    ANGLE_EXPORT void GL_APIENTRY GL_MultiDrawArraysIndirectCount(GLenum mode,
                                                                  const void *indirect,
                                                                  GLintptr drawcount,
                                                                  GLsizei maxdrawcount,
                                                                  GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_MultiDrawElementsIndirectCount(GLenum mode,
                                                                    GLenum type,
                                                                    const void *indirect,
                                                                    GLintptr drawcount,
                                                                    GLsizei maxdrawcount,
                                                                    GLsizei stride);
    ANGLE_EXPORT void GL_APIENTRY GL_PolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp);
    ANGLE_EXPORT void GL_APIENTRY GL_SpecializeShader(GLuint shader,
                                                      const GLchar *pEntryPoint,
                                                      GLuint numSpecializationConstants,
                                                      const GLuint *pConstantIndex,
                                                      const GLuint *pConstantValue);
    }  // extern "C"
    
    #endif  // LIBGL_ENTRY_POINTS_GL_4_AUTOGEN_H_