// 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.
//
// validationGL43_autogen.h:
//   Validation functions for the OpenGL 4.3 entry points.

#ifndef LIBANGLE_VALIDATION_GL43_AUTOGEN_H_
#define LIBANGLE_VALIDATION_GL43_AUTOGEN_H_

#include "common/PackedEnums.h"

namespace gl
{
class Context;

bool ValidateClearBufferData(const Context *context,
                             GLenum target,
                             GLenum internalformat,
                             GLenum format,
                             GLenum type,
                             const void *data);
bool ValidateClearBufferSubData(const Context *context,
                                GLenum target,
                                GLenum internalformat,
                                GLintptr offset,
                                GLsizeiptr size,
                                GLenum format,
                                GLenum type,
                                const void *data);
bool ValidateGetInternalformati64v(const Context *context,
                                   GLenum target,
                                   GLenum internalformat,
                                   GLenum pname,
                                   GLsizei bufSize,
                                   const GLint64 *params);
bool ValidateGetProgramResourceLocationIndex(const Context *context,
                                             ShaderProgramID programPacked,
                                             GLenum programInterface,
                                             const GLchar *name);
bool ValidateInvalidateBufferData(const Context *context, BufferID bufferPacked);
bool ValidateInvalidateBufferSubData(const Context *context,
                                     BufferID bufferPacked,
                                     GLintptr offset,
                                     GLsizeiptr length);
bool ValidateInvalidateTexImage(const Context *context, TextureID texturePacked, GLint level);
bool ValidateInvalidateTexSubImage(const Context *context,
                                   TextureID texturePacked,
                                   GLint level,
                                   GLint xoffset,
                                   GLint yoffset,
                                   GLint zoffset,
                                   GLsizei width,
                                   GLsizei height,
                                   GLsizei depth);
bool ValidateMultiDrawArraysIndirect(const Context *context,
                                     GLenum mode,
                                     const void *indirect,
                                     GLsizei drawcount,
                                     GLsizei stride);
bool ValidateMultiDrawElementsIndirect(const Context *context,
                                       GLenum mode,
                                       GLenum type,
                                       const void *indirect,
                                       GLsizei drawcount,
                                       GLsizei stride);
bool ValidateShaderStorageBlockBinding(const Context *context,
                                       ShaderProgramID programPacked,
                                       GLuint storageBlockIndex,
                                       GLuint storageBlockBinding);
bool ValidateTextureView(const Context *context,
                         TextureID texturePacked,
                         GLenum target,
                         GLuint origtexture,
                         GLenum internalformat,
                         GLuint minlevel,
                         GLuint numlevels,
                         GLuint minlayer,
                         GLuint numlayers);
bool ValidateVertexAttribLFormat(const Context *context,
                                 GLuint attribindex,
                                 GLint size,
                                 GLenum type,
                                 GLuint relativeoffset);
}  // namespace gl

#endif  // LIBANGLE_VALIDATION_GL43_AUTOGEN_H_
