// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml and gl_angle_ext.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.
//
// capture_gles_3_1_autogen.h:
//   Capture functions for the OpenGL ES 3.1 entry points.

#ifndef LIBANGLE_CAPTURE_GLES_3_1_AUTOGEN_H_
#define LIBANGLE_CAPTURE_GLES_3_1_AUTOGEN_H_

#include "common/PackedEnums.h"

namespace angle
{
struct ParamCapture;
}  // namespace angle

namespace gl
{
class Context;

// Method Captures

void CaptureActiveShaderProgram(Context *context, GLuint pipeline, GLuint program);
void CaptureBindImageTexture(Context *context,
                             GLuint unit,
                             GLuint texture,
                             GLint level,
                             GLboolean layered,
                             GLint layer,
                             GLenum access,
                             GLenum format);
void CaptureBindProgramPipeline(Context *context, GLuint pipeline);
void CaptureBindVertexBuffer(Context *context,
                             GLuint bindingindex,
                             GLuint buffer,
                             GLintptr offset,
                             GLsizei stride);
void CaptureCreateShaderProgramv(Context *context,
                                 ShaderType typePacked,
                                 GLsizei count,
                                 const GLchar *const *strings);
void CaptureDeleteProgramPipelines(Context *context, GLsizei n, const GLuint *pipelines);
void CaptureDispatchCompute(Context *context,
                            GLuint num_groups_x,
                            GLuint num_groups_y,
                            GLuint num_groups_z);
void CaptureDispatchComputeIndirect(Context *context, GLintptr indirect);
void CaptureDrawArraysIndirect(Context *context, PrimitiveMode modePacked, const void *indirect);
void CaptureDrawElementsIndirect(Context *context,
                                 PrimitiveMode modePacked,
                                 DrawElementsType typePacked,
                                 const void *indirect);
void CaptureFramebufferParameteri(Context *context, GLenum target, GLenum pname, GLint param);
void CaptureGenProgramPipelines(Context *context, GLsizei n, GLuint *pipelines);
void CaptureGetBooleani_v(Context *context, GLenum target, GLuint index, GLboolean *data);
void CaptureGetFramebufferParameteriv(Context *context, GLenum target, GLenum pname, GLint *params);
void CaptureGetMultisamplefv(Context *context, GLenum pname, GLuint index, GLfloat *val);
void CaptureGetProgramInterfaceiv(Context *context,
                                  GLuint program,
                                  GLenum programInterface,
                                  GLenum pname,
                                  GLint *params);
void CaptureGetProgramPipelineInfoLog(Context *context,
                                      GLuint pipeline,
                                      GLsizei bufSize,
                                      GLsizei *length,
                                      GLchar *infoLog);
void CaptureGetProgramPipelineiv(Context *context, GLuint pipeline, GLenum pname, GLint *params);
void CaptureGetProgramResourceIndex(Context *context,
                                    GLuint program,
                                    GLenum programInterface,
                                    const GLchar *name);
void CaptureGetProgramResourceLocation(Context *context,
                                       GLuint program,
                                       GLenum programInterface,
                                       const GLchar *name);
void CaptureGetProgramResourceName(Context *context,
                                   GLuint program,
                                   GLenum programInterface,
                                   GLuint index,
                                   GLsizei bufSize,
                                   GLsizei *length,
                                   GLchar *name);
void CaptureGetProgramResourceiv(Context *context,
                                 GLuint program,
                                 GLenum programInterface,
                                 GLuint index,
                                 GLsizei propCount,
                                 const GLenum *props,
                                 GLsizei bufSize,
                                 GLsizei *length,
                                 GLint *params);
void CaptureGetTexLevelParameterfv(Context *context,
                                   TextureTarget targetPacked,
                                   GLint level,
                                   GLenum pname,
                                   GLfloat *params);
void CaptureGetTexLevelParameteriv(Context *context,
                                   TextureTarget targetPacked,
                                   GLint level,
                                   GLenum pname,
                                   GLint *params);
void CaptureIsProgramPipeline(Context *context, GLuint pipeline);
void CaptureMemoryBarrier(Context *context, GLbitfield barriers);
void CaptureMemoryBarrierByRegion(Context *context, GLbitfield barriers);
void CaptureProgramUniform1f(Context *context, GLuint program, GLint location, GLfloat v0);
void CaptureProgramUniform1fv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLfloat *value);
void CaptureProgramUniform1i(Context *context, GLuint program, GLint location, GLint v0);
void CaptureProgramUniform1iv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLint *value);
void CaptureProgramUniform1ui(Context *context, GLuint program, GLint location, GLuint v0);
void CaptureProgramUniform1uiv(Context *context,
                               GLuint program,
                               GLint location,
                               GLsizei count,
                               const GLuint *value);
void CaptureProgramUniform2f(Context *context,
                             GLuint program,
                             GLint location,
                             GLfloat v0,
                             GLfloat v1);
void CaptureProgramUniform2fv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLfloat *value);
void CaptureProgramUniform2i(Context *context, GLuint program, GLint location, GLint v0, GLint v1);
void CaptureProgramUniform2iv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLint *value);
void CaptureProgramUniform2ui(Context *context,
                              GLuint program,
                              GLint location,
                              GLuint v0,
                              GLuint v1);
void CaptureProgramUniform2uiv(Context *context,
                               GLuint program,
                               GLint location,
                               GLsizei count,
                               const GLuint *value);
void CaptureProgramUniform3f(Context *context,
                             GLuint program,
                             GLint location,
                             GLfloat v0,
                             GLfloat v1,
                             GLfloat v2);
void CaptureProgramUniform3fv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLfloat *value);
void CaptureProgramUniform3i(Context *context,
                             GLuint program,
                             GLint location,
                             GLint v0,
                             GLint v1,
                             GLint v2);
void CaptureProgramUniform3iv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLint *value);
void CaptureProgramUniform3ui(Context *context,
                              GLuint program,
                              GLint location,
                              GLuint v0,
                              GLuint v1,
                              GLuint v2);
void CaptureProgramUniform3uiv(Context *context,
                               GLuint program,
                               GLint location,
                               GLsizei count,
                               const GLuint *value);
void CaptureProgramUniform4f(Context *context,
                             GLuint program,
                             GLint location,
                             GLfloat v0,
                             GLfloat v1,
                             GLfloat v2,
                             GLfloat v3);
void CaptureProgramUniform4fv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLfloat *value);
void CaptureProgramUniform4i(Context *context,
                             GLuint program,
                             GLint location,
                             GLint v0,
                             GLint v1,
                             GLint v2,
                             GLint v3);
void CaptureProgramUniform4iv(Context *context,
                              GLuint program,
                              GLint location,
                              GLsizei count,
                              const GLint *value);
void CaptureProgramUniform4ui(Context *context,
                              GLuint program,
                              GLint location,
                              GLuint v0,
                              GLuint v1,
                              GLuint v2,
                              GLuint v3);
void CaptureProgramUniform4uiv(Context *context,
                               GLuint program,
                               GLint location,
                               GLsizei count,
                               const GLuint *value);
void CaptureProgramUniformMatrix2fv(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    GLboolean transpose,
                                    const GLfloat *value);
void CaptureProgramUniformMatrix2x3fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureProgramUniformMatrix2x4fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureProgramUniformMatrix3fv(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    GLboolean transpose,
                                    const GLfloat *value);
void CaptureProgramUniformMatrix3x2fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureProgramUniformMatrix3x4fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureProgramUniformMatrix4fv(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    GLboolean transpose,
                                    const GLfloat *value);
void CaptureProgramUniformMatrix4x2fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureProgramUniformMatrix4x3fv(Context *context,
                                      GLuint program,
                                      GLint location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLfloat *value);
void CaptureSampleMaski(Context *context, GLuint maskNumber, GLbitfield mask);
void CaptureTexStorage2DMultisample(Context *context,
                                    TextureType targetPacked,
                                    GLsizei samples,
                                    GLenum internalformat,
                                    GLsizei width,
                                    GLsizei height,
                                    GLboolean fixedsamplelocations);
void CaptureUseProgramStages(Context *context, GLuint pipeline, GLbitfield stages, GLuint program);
void CaptureValidateProgramPipeline(Context *context, GLuint pipeline);
void CaptureVertexAttribBinding(Context *context, GLuint attribindex, GLuint bindingindex);
void CaptureVertexAttribFormat(Context *context,
                               GLuint attribindex,
                               GLint size,
                               VertexAttribType typePacked,
                               GLboolean normalized,
                               GLuint relativeoffset);
void CaptureVertexAttribIFormat(Context *context,
                                GLuint attribindex,
                                GLint size,
                                VertexAttribType typePacked,
                                GLuint relativeoffset);
void CaptureVertexBindingDivisor(Context *context, GLuint bindingindex, GLuint divisor);

// Parameter Captures

void CaptureCreateShaderProgramv_strings(Context *context,
                                         ShaderType typePacked,
                                         GLsizei count,
                                         const GLchar *const *strings,
                                         bool isCallValid,
                                         angle::ParamCapture *paramCapture);
void CaptureDeleteProgramPipelines_pipelines(Context *context,
                                             GLsizei n,
                                             const GLuint *pipelines,
                                             bool isCallValid,
                                             angle::ParamCapture *paramCapture);
void CaptureDrawArraysIndirect_indirect(Context *context,
                                        PrimitiveMode modePacked,
                                        const void *indirect,
                                        bool isCallValid,
                                        angle::ParamCapture *paramCapture);
void CaptureDrawElementsIndirect_indirect(Context *context,
                                          PrimitiveMode modePacked,
                                          DrawElementsType typePacked,
                                          const void *indirect,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureGenProgramPipelines_pipelines(Context *context,
                                          GLsizei n,
                                          GLuint *pipelines,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureGetBooleani_v_data(Context *context,
                               GLenum target,
                               GLuint index,
                               GLboolean *data,
                               bool isCallValid,
                               angle::ParamCapture *paramCapture);
void CaptureGetFramebufferParameteriv_params(Context *context,
                                             GLenum target,
                                             GLenum pname,
                                             GLint *params,
                                             bool isCallValid,
                                             angle::ParamCapture *paramCapture);
void CaptureGetMultisamplefv_val(Context *context,
                                 GLenum pname,
                                 GLuint index,
                                 GLfloat *val,
                                 bool isCallValid,
                                 angle::ParamCapture *paramCapture);
void CaptureGetProgramInterfaceiv_params(Context *context,
                                         GLuint program,
                                         GLenum programInterface,
                                         GLenum pname,
                                         GLint *params,
                                         bool isCallValid,
                                         angle::ParamCapture *paramCapture);
void CaptureGetProgramPipelineInfoLog_length(Context *context,
                                             GLuint pipeline,
                                             GLsizei bufSize,
                                             GLsizei *length,
                                             GLchar *infoLog,
                                             bool isCallValid,
                                             angle::ParamCapture *paramCapture);
void CaptureGetProgramPipelineInfoLog_infoLog(Context *context,
                                              GLuint pipeline,
                                              GLsizei bufSize,
                                              GLsizei *length,
                                              GLchar *infoLog,
                                              bool isCallValid,
                                              angle::ParamCapture *paramCapture);
void CaptureGetProgramPipelineiv_params(Context *context,
                                        GLuint pipeline,
                                        GLenum pname,
                                        GLint *params,
                                        bool isCallValid,
                                        angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceIndex_name(Context *context,
                                         GLuint program,
                                         GLenum programInterface,
                                         const GLchar *name,
                                         bool isCallValid,
                                         angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceLocation_name(Context *context,
                                            GLuint program,
                                            GLenum programInterface,
                                            const GLchar *name,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceName_length(Context *context,
                                          GLuint program,
                                          GLenum programInterface,
                                          GLuint index,
                                          GLsizei bufSize,
                                          GLsizei *length,
                                          GLchar *name,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceName_name(Context *context,
                                        GLuint program,
                                        GLenum programInterface,
                                        GLuint index,
                                        GLsizei bufSize,
                                        GLsizei *length,
                                        GLchar *name,
                                        bool isCallValid,
                                        angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceiv_props(Context *context,
                                       GLuint program,
                                       GLenum programInterface,
                                       GLuint index,
                                       GLsizei propCount,
                                       const GLenum *props,
                                       GLsizei bufSize,
                                       GLsizei *length,
                                       GLint *params,
                                       bool isCallValid,
                                       angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceiv_length(Context *context,
                                        GLuint program,
                                        GLenum programInterface,
                                        GLuint index,
                                        GLsizei propCount,
                                        const GLenum *props,
                                        GLsizei bufSize,
                                        GLsizei *length,
                                        GLint *params,
                                        bool isCallValid,
                                        angle::ParamCapture *paramCapture);
void CaptureGetProgramResourceiv_params(Context *context,
                                        GLuint program,
                                        GLenum programInterface,
                                        GLuint index,
                                        GLsizei propCount,
                                        const GLenum *props,
                                        GLsizei bufSize,
                                        GLsizei *length,
                                        GLint *params,
                                        bool isCallValid,
                                        angle::ParamCapture *paramCapture);
void CaptureGetTexLevelParameterfv_params(Context *context,
                                          TextureTarget targetPacked,
                                          GLint level,
                                          GLenum pname,
                                          GLfloat *params,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureGetTexLevelParameteriv_params(Context *context,
                                          TextureTarget targetPacked,
                                          GLint level,
                                          GLenum pname,
                                          GLint *params,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureProgramUniform1fv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLfloat *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform1iv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLint *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform1uiv_value(Context *context,
                                     GLuint program,
                                     GLint location,
                                     GLsizei count,
                                     const GLuint *value,
                                     bool isCallValid,
                                     angle::ParamCapture *paramCapture);
void CaptureProgramUniform2fv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLfloat *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform2iv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLint *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform2uiv_value(Context *context,
                                     GLuint program,
                                     GLint location,
                                     GLsizei count,
                                     const GLuint *value,
                                     bool isCallValid,
                                     angle::ParamCapture *paramCapture);
void CaptureProgramUniform3fv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLfloat *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform3iv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLint *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform3uiv_value(Context *context,
                                     GLuint program,
                                     GLint location,
                                     GLsizei count,
                                     const GLuint *value,
                                     bool isCallValid,
                                     angle::ParamCapture *paramCapture);
void CaptureProgramUniform4fv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLfloat *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform4iv_value(Context *context,
                                    GLuint program,
                                    GLint location,
                                    GLsizei count,
                                    const GLint *value,
                                    bool isCallValid,
                                    angle::ParamCapture *paramCapture);
void CaptureProgramUniform4uiv_value(Context *context,
                                     GLuint program,
                                     GLint location,
                                     GLsizei count,
                                     const GLuint *value,
                                     bool isCallValid,
                                     angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix2fv_value(Context *context,
                                          GLuint program,
                                          GLint location,
                                          GLsizei count,
                                          GLboolean transpose,
                                          const GLfloat *value,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix2x3fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix2x4fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix3fv_value(Context *context,
                                          GLuint program,
                                          GLint location,
                                          GLsizei count,
                                          GLboolean transpose,
                                          const GLfloat *value,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix3x2fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix3x4fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix4fv_value(Context *context,
                                          GLuint program,
                                          GLint location,
                                          GLsizei count,
                                          GLboolean transpose,
                                          const GLfloat *value,
                                          bool isCallValid,
                                          angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix4x2fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
void CaptureProgramUniformMatrix4x3fv_value(Context *context,
                                            GLuint program,
                                            GLint location,
                                            GLsizei count,
                                            GLboolean transpose,
                                            const GLfloat *value,
                                            bool isCallValid,
                                            angle::ParamCapture *paramCapture);
}  // namespace gl

#endif  // LIBANGLE_CAPTURE_GLES_3_1_AUTOGEN_H_
