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

#ifndef LIBGL_ENTRY_POINTS_GL_4_0_AUTOGEN_H_
#define LIBGL_ENTRY_POINTS_GL_4_0_AUTOGEN_H_

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

namespace gl
{
ANGLE_EXPORT void GL_APIENTRY BeginQueryIndexed(GLenum target, GLuint index, GLuint id);
ANGLE_EXPORT void GL_APIENTRY BindTransformFeedback(GLenum target, GLuint id);
ANGLE_EXPORT void GL_APIENTRY BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
ANGLE_EXPORT void GL_APIENTRY BlendEquationi(GLuint buf, GLenum mode);
ANGLE_EXPORT void GL_APIENTRY
BlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
ANGLE_EXPORT void GL_APIENTRY BlendFunci(GLuint buf, GLenum src, GLenum dst);
ANGLE_EXPORT void GL_APIENTRY DeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
ANGLE_EXPORT void GL_APIENTRY DrawArraysIndirect(GLenum mode, const void *indirect);
ANGLE_EXPORT void GL_APIENTRY DrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
ANGLE_EXPORT void GL_APIENTRY DrawTransformFeedback(GLenum mode, GLuint id);
ANGLE_EXPORT void GL_APIENTRY DrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
ANGLE_EXPORT void GL_APIENTRY EndQueryIndexed(GLenum target, GLuint index);
ANGLE_EXPORT void GL_APIENTRY GenTransformFeedbacks(GLsizei n, GLuint *ids);
ANGLE_EXPORT void GL_APIENTRY GetActiveSubroutineName(GLuint program,
                                                      GLenum shadertype,
                                                      GLuint index,
                                                      GLsizei bufsize,
                                                      GLsizei *length,
                                                      GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetActiveSubroutineUniformName(GLuint program,
                                                             GLenum shadertype,
                                                             GLuint index,
                                                             GLsizei bufsize,
                                                             GLsizei *length,
                                                             GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetActiveSubroutineUniformiv(GLuint program,
                                                           GLenum shadertype,
                                                           GLuint index,
                                                           GLenum pname,
                                                           GLint *values);
ANGLE_EXPORT void GL_APIENTRY GetProgramStageiv(GLuint program,
                                                GLenum shadertype,
                                                GLenum pname,
                                                GLint *values);
ANGLE_EXPORT void GL_APIENTRY GetQueryIndexediv(GLenum target,
                                                GLuint index,
                                                GLenum pname,
                                                GLint *params);
ANGLE_EXPORT GLuint GL_APIENTRY GetSubroutineIndex(GLuint program,
                                                   GLenum shadertype,
                                                   const GLchar *name);
ANGLE_EXPORT GLint GL_APIENTRY GetSubroutineUniformLocation(GLuint program,
                                                            GLenum shadertype,
                                                            const GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetUniformSubroutineuiv(GLenum shadertype,
                                                      GLint location,
                                                      GLuint *params);
ANGLE_EXPORT void GL_APIENTRY GetUniformdv(GLuint program, GLint location, GLdouble *params);
ANGLE_EXPORT GLboolean GL_APIENTRY IsTransformFeedback(GLuint id);
ANGLE_EXPORT void GL_APIENTRY MinSampleShading(GLfloat value);
ANGLE_EXPORT void GL_APIENTRY PatchParameterfv(GLenum pname, const GLfloat *values);
ANGLE_EXPORT void GL_APIENTRY PatchParameteri(GLenum pname, GLint value);
ANGLE_EXPORT void GL_APIENTRY PauseTransformFeedback();
ANGLE_EXPORT void GL_APIENTRY ResumeTransformFeedback();
ANGLE_EXPORT void GL_APIENTRY Uniform1d(GLint location, GLdouble x);
ANGLE_EXPORT void GL_APIENTRY Uniform1dv(GLint location, GLsizei count, const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY Uniform2d(GLint location, GLdouble x, GLdouble y);
ANGLE_EXPORT void GL_APIENTRY Uniform2dv(GLint location, GLsizei count, const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY Uniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
ANGLE_EXPORT void GL_APIENTRY Uniform3dv(GLint location, GLsizei count, const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY
Uniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
ANGLE_EXPORT void GL_APIENTRY Uniform4dv(GLint location, GLsizei count, const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix2dv(GLint location,
                                               GLsizei count,
                                               GLboolean transpose,
                                               const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix2x3dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix2x4dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix3dv(GLint location,
                                               GLsizei count,
                                               GLboolean transpose,
                                               const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix3x2dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix3x4dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix4dv(GLint location,
                                               GLsizei count,
                                               GLboolean transpose,
                                               const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix4x2dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformMatrix4x3dv(GLint location,
                                                 GLsizei count,
                                                 GLboolean transpose,
                                                 const GLdouble *value);
ANGLE_EXPORT void GL_APIENTRY UniformSubroutinesuiv(GLenum shadertype,
                                                    GLsizei count,
                                                    const GLuint *indices);
}  // namespace gl

#endif  // LIBGL_ENTRY_POINTS_GL_4_0_AUTOGEN_H_
