// 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_5_autogen.h:
//   Defines the GL 4.5 entry points.

#ifndef LIBGL_ENTRY_POINTS_GL_4_5_AUTOGEN_H_
#define LIBGL_ENTRY_POINTS_GL_4_5_AUTOGEN_H_

#include <export.h>
#include "angle_gl.h"

namespace gl
{
ANGLE_EXPORT void GL_APIENTRY BindTextureUnit(GLuint unit, GLuint texture);
ANGLE_EXPORT void GL_APIENTRY 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 CheckNamedFramebufferStatus(GLuint framebuffer, GLenum target);
ANGLE_EXPORT void GL_APIENTRY ClearNamedBufferData(GLuint buffer,
                                                   GLenum internalformat,
                                                   GLenum format,
                                                   GLenum type,
                                                   const void *data);
ANGLE_EXPORT void GL_APIENTRY ClearNamedBufferSubData(GLuint buffer,
                                                      GLenum internalformat,
                                                      GLintptr offset,
                                                      GLsizeiptr size,
                                                      GLenum format,
                                                      GLenum type,
                                                      const void *data);
ANGLE_EXPORT void GL_APIENTRY ClearNamedFramebufferfi(GLuint framebuffer,
                                                      GLenum buffer,
                                                      GLint drawbuffer,
                                                      GLfloat depth,
                                                      GLint stencil);
ANGLE_EXPORT void GL_APIENTRY ClearNamedFramebufferfv(GLuint framebuffer,
                                                      GLenum buffer,
                                                      GLint drawbuffer,
                                                      const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ClearNamedFramebufferiv(GLuint framebuffer,
                                                      GLenum buffer,
                                                      GLint drawbuffer,
                                                      const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ClearNamedFramebufferuiv(GLuint framebuffer,
                                                       GLenum buffer,
                                                       GLint drawbuffer,
                                                       const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY ClipControl(GLenum origin, GLenum depth);
ANGLE_EXPORT void GL_APIENTRY CompressedTextureSubImage1D(GLuint texture,
                                                          GLint level,
                                                          GLint xoffset,
                                                          GLsizei width,
                                                          GLenum format,
                                                          GLsizei imageSize,
                                                          const void *data);
ANGLE_EXPORT void GL_APIENTRY 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 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 CopyNamedBufferSubData(GLuint readBuffer,
                                                     GLuint writeBuffer,
                                                     GLintptr readOffset,
                                                     GLintptr writeOffset,
                                                     GLsizeiptr size);
ANGLE_EXPORT void GL_APIENTRY
CopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
ANGLE_EXPORT void GL_APIENTRY CopyTextureSubImage2D(GLuint texture,
                                                    GLint level,
                                                    GLint xoffset,
                                                    GLint yoffset,
                                                    GLint x,
                                                    GLint y,
                                                    GLsizei width,
                                                    GLsizei height);
ANGLE_EXPORT void GL_APIENTRY CopyTextureSubImage3D(GLuint texture,
                                                    GLint level,
                                                    GLint xoffset,
                                                    GLint yoffset,
                                                    GLint zoffset,
                                                    GLint x,
                                                    GLint y,
                                                    GLsizei width,
                                                    GLsizei height);
ANGLE_EXPORT void GL_APIENTRY CreateBuffers(GLsizei n, GLuint *buffers);
ANGLE_EXPORT void GL_APIENTRY CreateFramebuffers(GLsizei n, GLuint *framebuffers);
ANGLE_EXPORT void GL_APIENTRY CreateProgramPipelines(GLsizei n, GLuint *pipelines);
ANGLE_EXPORT void GL_APIENTRY CreateQueries(GLenum target, GLsizei n, GLuint *ids);
ANGLE_EXPORT void GL_APIENTRY CreateRenderbuffers(GLsizei n, GLuint *renderbuffers);
ANGLE_EXPORT void GL_APIENTRY CreateSamplers(GLsizei n, GLuint *samplers);
ANGLE_EXPORT void GL_APIENTRY CreateTextures(GLenum target, GLsizei n, GLuint *textures);
ANGLE_EXPORT void GL_APIENTRY CreateTransformFeedbacks(GLsizei n, GLuint *ids);
ANGLE_EXPORT void GL_APIENTRY CreateVertexArrays(GLsizei n, GLuint *arrays);
ANGLE_EXPORT void GL_APIENTRY DisableVertexArrayAttrib(GLuint vaobj, GLuint index);
ANGLE_EXPORT void GL_APIENTRY EnableVertexArrayAttrib(GLuint vaobj, GLuint index);
ANGLE_EXPORT void GL_APIENTRY FlushMappedNamedBufferRange(GLuint buffer,
                                                          GLintptr offset,
                                                          GLsizeiptr length);
ANGLE_EXPORT void GL_APIENTRY GenerateTextureMipmap(GLuint texture);
ANGLE_EXPORT void GL_APIENTRY GetCompressedTextureImage(GLuint texture,
                                                        GLint level,
                                                        GLsizei bufSize,
                                                        void *pixels);
ANGLE_EXPORT void GL_APIENTRY 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 GetGraphicsResetStatus();
ANGLE_EXPORT void GL_APIENTRY GetNamedBufferParameteri64v(GLuint buffer,
                                                          GLenum pname,
                                                          GLint64 *params);
ANGLE_EXPORT void GL_APIENTRY GetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetNamedBufferPointerv(GLuint buffer, GLenum pname, void **params);
ANGLE_EXPORT void GL_APIENTRY GetNamedBufferSubData(GLuint buffer,
                                                    GLintptr offset,
                                                    GLsizeiptr size,
                                                    void *data);
ANGLE_EXPORT void GL_APIENTRY GetNamedFramebufferAttachmentParameteriv(GLuint framebuffer,
                                                                       GLenum attachment,
                                                                       GLenum pname,
                                                                       GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetNamedFramebufferParameteriv(GLuint framebuffer,
                                                             GLenum pname,
                                                             GLint *param);
ANGLE_EXPORT void GL_APIENTRY GetNamedRenderbufferParameteriv(GLuint renderbuffer,
                                                              GLenum pname,
                                                              GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetQueryBufferObjecti64v(GLuint id,
                                                       GLuint buffer,
                                                       GLenum pname,
                                                       GLintptr offset);
ANGLE_EXPORT void GL_APIENTRY GetQueryBufferObjectiv(GLuint id,
                                                     GLuint buffer,
                                                     GLenum pname,
                                                     GLintptr offset);
ANGLE_EXPORT void GL_APIENTRY GetQueryBufferObjectui64v(GLuint id,
                                                        GLuint buffer,
                                                        GLenum pname,
                                                        GLintptr offset);
ANGLE_EXPORT void GL_APIENTRY GetQueryBufferObjectuiv(GLuint id,
                                                      GLuint buffer,
                                                      GLenum pname,
                                                      GLintptr offset);
ANGLE_EXPORT void GL_APIENTRY GetTextureImage(GLuint texture,
                                              GLint level,
                                              GLenum format,
                                              GLenum type,
                                              GLsizei bufSize,
                                              void *pixels);
ANGLE_EXPORT void GL_APIENTRY GetTextureLevelParameterfv(GLuint texture,
                                                         GLint level,
                                                         GLenum pname,
                                                         GLfloat *params);
ANGLE_EXPORT void GL_APIENTRY GetTextureLevelParameteriv(GLuint texture,
                                                         GLint level,
                                                         GLenum pname,
                                                         GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params);
ANGLE_EXPORT void GL_APIENTRY GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params);
ANGLE_EXPORT void GL_APIENTRY GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY 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 GetTransformFeedbacki64_v(GLuint xfb,
                                                        GLenum pname,
                                                        GLuint index,
                                                        GLint64 *param);
ANGLE_EXPORT void GL_APIENTRY GetTransformFeedbacki_v(GLuint xfb,
                                                      GLenum pname,
                                                      GLuint index,
                                                      GLint *param);
ANGLE_EXPORT void GL_APIENTRY GetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param);
ANGLE_EXPORT void GL_APIENTRY GetVertexArrayIndexed64iv(GLuint vaobj,
                                                        GLuint index,
                                                        GLenum pname,
                                                        GLint64 *param);
ANGLE_EXPORT void GL_APIENTRY GetVertexArrayIndexediv(GLuint vaobj,
                                                      GLuint index,
                                                      GLenum pname,
                                                      GLint *param);
ANGLE_EXPORT void GL_APIENTRY GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param);
ANGLE_EXPORT void GL_APIENTRY
GetnColorTable(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);
ANGLE_EXPORT void GL_APIENTRY GetnCompressedTexImage(GLenum target,
                                                     GLint lod,
                                                     GLsizei bufSize,
                                                     void *pixels);
ANGLE_EXPORT void GL_APIENTRY
GetnConvolutionFilter(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);
ANGLE_EXPORT void GL_APIENTRY GetnHistogram(GLenum target,
                                            GLboolean reset,
                                            GLenum format,
                                            GLenum type,
                                            GLsizei bufSize,
                                            void *values);
ANGLE_EXPORT void GL_APIENTRY GetnMapdv(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
ANGLE_EXPORT void GL_APIENTRY GetnMapfv(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
ANGLE_EXPORT void GL_APIENTRY GetnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint *v);
ANGLE_EXPORT void GL_APIENTRY GetnMinmax(GLenum target,
                                         GLboolean reset,
                                         GLenum format,
                                         GLenum type,
                                         GLsizei bufSize,
                                         void *values);
ANGLE_EXPORT void GL_APIENTRY GetnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat *values);
ANGLE_EXPORT void GL_APIENTRY GetnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint *values);
ANGLE_EXPORT void GL_APIENTRY GetnPixelMapusv(GLenum map, GLsizei bufSize, GLushort *values);
ANGLE_EXPORT void GL_APIENTRY GetnPolygonStipple(GLsizei bufSize, GLubyte *pattern);
ANGLE_EXPORT void GL_APIENTRY GetnSeparableFilter(GLenum target,
                                                  GLenum format,
                                                  GLenum type,
                                                  GLsizei rowBufSize,
                                                  void *row,
                                                  GLsizei columnBufSize,
                                                  void *column,
                                                  void *span);
ANGLE_EXPORT void GL_APIENTRY
GetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
ANGLE_EXPORT void GL_APIENTRY GetnUniformdv(GLuint program,
                                            GLint location,
                                            GLsizei bufSize,
                                            GLdouble *params);
ANGLE_EXPORT void GL_APIENTRY GetnUniformfv(GLuint program,
                                            GLint location,
                                            GLsizei bufSize,
                                            GLfloat *params);
ANGLE_EXPORT void GL_APIENTRY GetnUniformiv(GLuint program,
                                            GLint location,
                                            GLsizei bufSize,
                                            GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetnUniformuiv(GLuint program,
                                             GLint location,
                                             GLsizei bufSize,
                                             GLuint *params);
ANGLE_EXPORT void GL_APIENTRY InvalidateNamedFramebufferData(GLuint framebuffer,
                                                             GLsizei numAttachments,
                                                             const GLenum *attachments);
ANGLE_EXPORT void GL_APIENTRY InvalidateNamedFramebufferSubData(GLuint framebuffer,
                                                                GLsizei numAttachments,
                                                                const GLenum *attachments,
                                                                GLint x,
                                                                GLint y,
                                                                GLsizei width,
                                                                GLsizei height);
ANGLE_EXPORT void *GL_APIENTRY MapNamedBuffer(GLuint buffer, GLenum access);
ANGLE_EXPORT void *GL_APIENTRY MapNamedBufferRange(GLuint buffer,
                                                   GLintptr offset,
                                                   GLsizeiptr length,
                                                   GLbitfield access);
ANGLE_EXPORT void GL_APIENTRY MemoryBarrierByRegion(GLbitfield barriers);
ANGLE_EXPORT void GL_APIENTRY NamedBufferData(GLuint buffer,
                                              GLsizeiptr size,
                                              const void *data,
                                              GLenum usage);
ANGLE_EXPORT void GL_APIENTRY NamedBufferStorage(GLuint buffer,
                                                 GLsizeiptr size,
                                                 const void *data,
                                                 GLbitfield flags);
ANGLE_EXPORT void GL_APIENTRY NamedBufferSubData(GLuint buffer,
                                                 GLintptr offset,
                                                 GLsizeiptr size,
                                                 const void *data);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferDrawBuffers(GLuint framebuffer,
                                                          GLsizei n,
                                                          const GLenum *bufs);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferParameteri(GLuint framebuffer,
                                                         GLenum pname,
                                                         GLint param);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferReadBuffer(GLuint framebuffer, GLenum src);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferRenderbuffer(GLuint framebuffer,
                                                           GLenum attachment,
                                                           GLenum renderbuffertarget,
                                                           GLuint renderbuffer);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferTexture(GLuint framebuffer,
                                                      GLenum attachment,
                                                      GLuint texture,
                                                      GLint level);
ANGLE_EXPORT void GL_APIENTRY NamedFramebufferTextureLayer(GLuint framebuffer,
                                                           GLenum attachment,
                                                           GLuint texture,
                                                           GLint level,
                                                           GLint layer);
ANGLE_EXPORT void GL_APIENTRY NamedRenderbufferStorage(GLuint renderbuffer,
                                                       GLenum internalformat,
                                                       GLsizei width,
                                                       GLsizei height);
ANGLE_EXPORT void GL_APIENTRY NamedRenderbufferStorageMultisample(GLuint renderbuffer,
                                                                  GLsizei samples,
                                                                  GLenum internalformat,
                                                                  GLsizei width,
                                                                  GLsizei height);
ANGLE_EXPORT void GL_APIENTRY ReadnPixels(GLint x,
                                          GLint y,
                                          GLsizei width,
                                          GLsizei height,
                                          GLenum format,
                                          GLenum type,
                                          GLsizei bufSize,
                                          void *data);
ANGLE_EXPORT void GL_APIENTRY TextureBarrier();
ANGLE_EXPORT void GL_APIENTRY TextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer);
ANGLE_EXPORT void GL_APIENTRY TextureBufferRange(GLuint texture,
                                                 GLenum internalformat,
                                                 GLuint buffer,
                                                 GLintptr offset,
                                                 GLsizeiptr size);
ANGLE_EXPORT void GL_APIENTRY TextureParameterIiv(GLuint texture,
                                                  GLenum pname,
                                                  const GLint *params);
ANGLE_EXPORT void GL_APIENTRY TextureParameterIuiv(GLuint texture,
                                                   GLenum pname,
                                                   const GLuint *params);
ANGLE_EXPORT void GL_APIENTRY TextureParameterf(GLuint texture, GLenum pname, GLfloat param);
ANGLE_EXPORT void GL_APIENTRY TextureParameterfv(GLuint texture,
                                                 GLenum pname,
                                                 const GLfloat *param);
ANGLE_EXPORT void GL_APIENTRY TextureParameteri(GLuint texture, GLenum pname, GLint param);
ANGLE_EXPORT void GL_APIENTRY TextureParameteriv(GLuint texture, GLenum pname, const GLint *param);
ANGLE_EXPORT void GL_APIENTRY TextureStorage1D(GLuint texture,
                                               GLsizei levels,
                                               GLenum internalformat,
                                               GLsizei width);
ANGLE_EXPORT void GL_APIENTRY TextureStorage2D(GLuint texture,
                                               GLsizei levels,
                                               GLenum internalformat,
                                               GLsizei width,
                                               GLsizei height);
ANGLE_EXPORT void GL_APIENTRY TextureStorage2DMultisample(GLuint texture,
                                                          GLsizei samples,
                                                          GLenum internalformat,
                                                          GLsizei width,
                                                          GLsizei height,
                                                          GLboolean fixedsamplelocations);
ANGLE_EXPORT void GL_APIENTRY TextureStorage3D(GLuint texture,
                                               GLsizei levels,
                                               GLenum internalformat,
                                               GLsizei width,
                                               GLsizei height,
                                               GLsizei depth);
ANGLE_EXPORT void GL_APIENTRY TextureStorage3DMultisample(GLuint texture,
                                                          GLsizei samples,
                                                          GLenum internalformat,
                                                          GLsizei width,
                                                          GLsizei height,
                                                          GLsizei depth,
                                                          GLboolean fixedsamplelocations);
ANGLE_EXPORT void GL_APIENTRY TextureSubImage1D(GLuint texture,
                                                GLint level,
                                                GLint xoffset,
                                                GLsizei width,
                                                GLenum format,
                                                GLenum type,
                                                const void *pixels);
ANGLE_EXPORT void GL_APIENTRY 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 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 TransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer);
ANGLE_EXPORT void GL_APIENTRY TransformFeedbackBufferRange(GLuint xfb,
                                                           GLuint index,
                                                           GLuint buffer,
                                                           GLintptr offset,
                                                           GLsizeiptr size);
ANGLE_EXPORT GLboolean GL_APIENTRY UnmapNamedBuffer(GLuint buffer);
ANGLE_EXPORT void GL_APIENTRY VertexArrayAttribBinding(GLuint vaobj,
                                                       GLuint attribindex,
                                                       GLuint bindingindex);
ANGLE_EXPORT void GL_APIENTRY VertexArrayAttribFormat(GLuint vaobj,
                                                      GLuint attribindex,
                                                      GLint size,
                                                      GLenum type,
                                                      GLboolean normalized,
                                                      GLuint relativeoffset);
ANGLE_EXPORT void GL_APIENTRY VertexArrayAttribIFormat(GLuint vaobj,
                                                       GLuint attribindex,
                                                       GLint size,
                                                       GLenum type,
                                                       GLuint relativeoffset);
ANGLE_EXPORT void GL_APIENTRY VertexArrayAttribLFormat(GLuint vaobj,
                                                       GLuint attribindex,
                                                       GLint size,
                                                       GLenum type,
                                                       GLuint relativeoffset);
ANGLE_EXPORT void GL_APIENTRY VertexArrayBindingDivisor(GLuint vaobj,
                                                        GLuint bindingindex,
                                                        GLuint divisor);
ANGLE_EXPORT void GL_APIENTRY VertexArrayElementBuffer(GLuint vaobj, GLuint buffer);
ANGLE_EXPORT void GL_APIENTRY VertexArrayVertexBuffer(GLuint vaobj,
                                                      GLuint bindingindex,
                                                      GLuint buffer,
                                                      GLintptr offset,
                                                      GLsizei stride);
ANGLE_EXPORT void GL_APIENTRY VertexArrayVertexBuffers(GLuint vaobj,
                                                       GLuint first,
                                                       GLsizei count,
                                                       const GLuint *buffers,
                                                       const GLintptr *offsets,
                                                       const GLsizei *strides);
}  // namespace gl

#endif  // LIBGL_ENTRY_POINTS_GL_4_5_AUTOGEN_H_
