// 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 LIBGLESV2_ENTRY_POINTS_GL_4_AUTOGEN_H_
#define LIBGLESV2_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_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_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 void GL_APIENTRY GL_PatchParameterfv(GLenum pname, const GLfloat *values);
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_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_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_GetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
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_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_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_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_ProgramUniformMatrix2dv(GLuint program,
                                                         GLint location,
                                                         GLsizei count,
                                                         GLboolean transpose,
                                                         const GLdouble *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_ProgramUniformMatrix2x4dv(GLuint program,
                                                           GLint location,
                                                           GLsizei count,
                                                           GLboolean transpose,
                                                           const GLdouble *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_ProgramUniformMatrix3x2dv(GLuint program,
                                                           GLint location,
                                                           GLsizei count,
                                                           GLboolean transpose,
                                                           const GLdouble *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_ProgramUniformMatrix4dv(GLuint program,
                                                         GLint location,
                                                         GLsizei count,
                                                         GLboolean transpose,
                                                         const GLdouble *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_ProgramUniformMatrix4x3dv(GLuint program,
                                                           GLint location,
                                                           GLsizei count,
                                                           GLboolean transpose,
                                                           const GLdouble *value);
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_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_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_TexStorage1D(GLenum target,
                                              GLsizei levels,
                                              GLenum internalformat,
                                              GLsizei width);

// GL 4.3
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_GetInternalformati64v(GLenum target,
                                                       GLenum internalformat,
                                                       GLenum pname,
                                                       GLsizei count,
                                                       GLint64 *params);
ANGLE_EXPORT GLint GL_APIENTRY GL_GetProgramResourceLocationIndex(GLuint program,
                                                                  GLenum programInterface,
                                                                  const GLchar *name);
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_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_ShaderStorageBlockBinding(GLuint program,
                                                           GLuint storageBlockIndex,
                                                           GLuint storageBlockBinding);
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_VertexAttribLFormat(GLuint attribindex,
                                                     GLint size,
                                                     GLenum type,
                                                     GLuint relativeoffset);

// 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 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_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_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_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  // LIBGLESV2_ENTRY_POINTS_GL_4_AUTOGEN_H_
