// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml.
//
// Copyright 2019 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_3_0_autogen.h:
//   Defines the GL 3.0 entry points.

#ifndef LIBGL_ENTRY_POINTS_GL_3_0_AUTOGEN_H_
#define LIBGL_ENTRY_POINTS_GL_3_0_AUTOGEN_H_

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

#include "WGL/wgl.h"
#include "windows.h"

namespace gl
{
ANGLE_EXPORT void GL_APIENTRY BeginConditionalRender(GLuint id, GLenum mode);
ANGLE_EXPORT void GL_APIENTRY BeginTransformFeedback(GLenum primitiveMode);
ANGLE_EXPORT void GL_APIENTRY BindBufferBase(GLenum target, GLuint index, GLuint buffer);
ANGLE_EXPORT void GL_APIENTRY
BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
ANGLE_EXPORT void GL_APIENTRY BindFragDataLocation(GLuint program,
                                                   GLuint color,
                                                   const GLchar *name);
ANGLE_EXPORT void GL_APIENTRY BindFramebuffer(GLenum target, GLuint framebuffer);
ANGLE_EXPORT void GL_APIENTRY BindRenderbuffer(GLenum target, GLuint renderbuffer);
ANGLE_EXPORT void GL_APIENTRY BindVertexArray(GLuint array);
ANGLE_EXPORT void GL_APIENTRY BlitFramebuffer(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 CheckFramebufferStatus(GLenum target);
ANGLE_EXPORT void GL_APIENTRY ClampColor(GLenum target, GLenum clamp);
ANGLE_EXPORT void GL_APIENTRY ClearBufferfi(GLenum buffer,
                                            GLint drawbuffer,
                                            GLfloat depth,
                                            GLint stencil);
ANGLE_EXPORT void GL_APIENTRY ClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY
ColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
ANGLE_EXPORT void GL_APIENTRY DeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
ANGLE_EXPORT void GL_APIENTRY DeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
ANGLE_EXPORT void GL_APIENTRY DeleteVertexArrays(GLsizei n, const GLuint *arrays);
ANGLE_EXPORT void GL_APIENTRY Disablei(GLenum target, GLuint index);
ANGLE_EXPORT void GL_APIENTRY Enablei(GLenum target, GLuint index);
ANGLE_EXPORT void GL_APIENTRY EndConditionalRender();
ANGLE_EXPORT void GL_APIENTRY EndTransformFeedback();
ANGLE_EXPORT void GL_APIENTRY FlushMappedBufferRange(GLenum target,
                                                     GLintptr offset,
                                                     GLsizeiptr length);
ANGLE_EXPORT void GL_APIENTRY FramebufferRenderbuffer(GLenum target,
                                                      GLenum attachment,
                                                      GLenum renderbuffertarget,
                                                      GLuint renderbuffer);
ANGLE_EXPORT void GL_APIENTRY FramebufferTexture1D(GLenum target,
                                                   GLenum attachment,
                                                   GLenum textarget,
                                                   GLuint texture,
                                                   GLint level);
ANGLE_EXPORT void GL_APIENTRY FramebufferTexture2D(GLenum target,
                                                   GLenum attachment,
                                                   GLenum textarget,
                                                   GLuint texture,
                                                   GLint level);
ANGLE_EXPORT void GL_APIENTRY FramebufferTexture3D(GLenum target,
                                                   GLenum attachment,
                                                   GLenum textarget,
                                                   GLuint texture,
                                                   GLint level,
                                                   GLint zoffset);
ANGLE_EXPORT void GL_APIENTRY
FramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
ANGLE_EXPORT void GL_APIENTRY GenFramebuffers(GLsizei n, GLuint *framebuffers);
ANGLE_EXPORT void GL_APIENTRY GenRenderbuffers(GLsizei n, GLuint *renderbuffers);
ANGLE_EXPORT void GL_APIENTRY GenVertexArrays(GLsizei n, GLuint *arrays);
ANGLE_EXPORT void GL_APIENTRY GenerateMipmap(GLenum target);
ANGLE_EXPORT void GL_APIENTRY GetBooleani_v(GLenum target, GLuint index, GLboolean *data);
ANGLE_EXPORT GLint GL_APIENTRY GetFragDataLocation(GLuint program, const GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetFramebufferAttachmentParameteriv(GLenum target,
                                                                  GLenum attachment,
                                                                  GLenum pname,
                                                                  GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetIntegeri_v(GLenum target, GLuint index, GLint *data);
ANGLE_EXPORT void GL_APIENTRY GetRenderbufferParameteriv(GLenum target,
                                                         GLenum pname,
                                                         GLint *params);
ANGLE_EXPORT const GLubyte *GL_APIENTRY GetStringi(GLenum name, GLuint index);
ANGLE_EXPORT void GL_APIENTRY GetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
ANGLE_EXPORT void GL_APIENTRY GetTransformFeedbackVarying(GLuint program,
                                                          GLuint index,
                                                          GLsizei bufSize,
                                                          GLsizei *length,
                                                          GLsizei *size,
                                                          GLenum *type,
                                                          GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetUniformuiv(GLuint program, GLint location, GLuint *params);
ANGLE_EXPORT void GL_APIENTRY GetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
ANGLE_EXPORT GLboolean GL_APIENTRY IsEnabledi(GLenum target, GLuint index);
ANGLE_EXPORT GLboolean GL_APIENTRY IsFramebuffer(GLuint framebuffer);
ANGLE_EXPORT GLboolean GL_APIENTRY IsRenderbuffer(GLuint renderbuffer);
ANGLE_EXPORT GLboolean GL_APIENTRY IsVertexArray(GLuint array);
ANGLE_EXPORT void *GL_APIENTRY MapBufferRange(GLenum target,
                                              GLintptr offset,
                                              GLsizeiptr length,
                                              GLbitfield access);
ANGLE_EXPORT void GL_APIENTRY RenderbufferStorage(GLenum target,
                                                  GLenum internalformat,
                                                  GLsizei width,
                                                  GLsizei height);
ANGLE_EXPORT void GL_APIENTRY RenderbufferStorageMultisample(GLenum target,
                                                             GLsizei samples,
                                                             GLenum internalformat,
                                                             GLsizei width,
                                                             GLsizei height);
ANGLE_EXPORT void GL_APIENTRY TexParameterIiv(GLenum target, GLenum pname, const GLint *params);
ANGLE_EXPORT void GL_APIENTRY TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
ANGLE_EXPORT void GL_APIENTRY TransformFeedbackVaryings(GLuint program,
                                                        GLsizei count,
                                                        const GLchar *const *varyings,
                                                        GLenum bufferMode);
ANGLE_EXPORT void GL_APIENTRY Uniform1ui(GLint location, GLuint v0);
ANGLE_EXPORT void GL_APIENTRY Uniform1uiv(GLint location, GLsizei count, const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY Uniform2ui(GLint location, GLuint v0, GLuint v1);
ANGLE_EXPORT void GL_APIENTRY Uniform2uiv(GLint location, GLsizei count, const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
ANGLE_EXPORT void GL_APIENTRY Uniform3uiv(GLint location, GLsizei count, const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY
Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
ANGLE_EXPORT void GL_APIENTRY Uniform4uiv(GLint location, GLsizei count, const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI1i(GLuint index, GLint x);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI1iv(GLuint index, const GLint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI1ui(GLuint index, GLuint x);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI1uiv(GLuint index, const GLuint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI2i(GLuint index, GLint x, GLint y);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI2iv(GLuint index, const GLint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI2ui(GLuint index, GLuint x, GLuint y);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI2uiv(GLuint index, const GLuint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI3iv(GLuint index, const GLint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI3uiv(GLuint index, const GLuint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4bv(GLuint index, const GLbyte *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4iv(GLuint index, const GLint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4sv(GLuint index, const GLshort *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4ubv(GLuint index, const GLubyte *v);
ANGLE_EXPORT void GL_APIENTRY
VertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4uiv(GLuint index, const GLuint *v);
ANGLE_EXPORT void GL_APIENTRY VertexAttribI4usv(GLuint index, const GLushort *v);
ANGLE_EXPORT void GL_APIENTRY
VertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
}  // namespace gl

#endif  // LIBGL_ENTRY_POINTS_GL_3_0_AUTOGEN_H_
