// // Copyright 2018 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. // // validationES31.h: // Inlined validation functions for OpenGL ES 3.1 entry points. #ifndef LIBANGLE_VALIDATION_ES31_H_ #define LIBANGLE_VALIDATION_ES31_H_ #include "libANGLE/ErrorStrings.h" #include "libANGLE/validationES31_autogen.h" namespace gl { bool ValidateTexBufferBase(const Context *context, angle::EntryPoint entryPoint, TextureType target, GLenum internalformat, BufferID bufferPacked); bool ValidateTexBufferRangeBase(const Context *context, angle::EntryPoint entryPoint, TextureType target, GLenum internalformat, BufferID bufferPacked, GLintptr offset, GLsizeiptr size); // GL_EXT_multi_draw_indirect bool ValidateMultiDrawIndirectBase(const Context *context, angle::EntryPoint entryPoint, GLsizei drawcount, GLsizei stride); // GL_EXT_separate_shader_objects bool ValidateActiveShaderProgramBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked, ShaderProgramID programPacked); bool ValidateBindProgramPipelineBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked); bool ValidateCreateShaderProgramvBase(const Context *context, angle::EntryPoint entryPoint, ShaderType typePacked, GLsizei count, const GLchar **strings); bool ValidateDeleteProgramPipelinesBase(const Context *context, angle::EntryPoint entryPoint, GLsizei n, const ProgramPipelineID *pipelinesPacked); bool ValidateGenProgramPipelinesBase(const Context *context, angle::EntryPoint entryPoint, GLsizei n, const ProgramPipelineID *pipelinesPacked); bool ValidateGetProgramPipelineInfoLogBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked, GLsizei bufSize, const GLsizei *length, const GLchar *infoLog); bool ValidateGetProgramPipelineivBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked, GLenum pname, const GLint *params); bool ValidateIsProgramPipelineBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked); bool ValidateProgramParameteriBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, GLenum pname, GLint value); bool ValidateProgramUniform1fBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLfloat v0); bool ValidateProgramUniform1fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLfloat *value); bool ValidateProgramUniform1iBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLint v0); bool ValidateProgramUniform1ivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLint *value); bool ValidateProgramUniform1uiBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLuint v0); bool ValidateProgramUniform1uivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLuint *value); bool ValidateProgramUniform2fBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLfloat v0, GLfloat v1); bool ValidateProgramUniform2fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLfloat *value); bool ValidateProgramUniform2iBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLint v0, GLint v1); bool ValidateProgramUniform2ivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLint *value); bool ValidateProgramUniform2uiBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLuint v0, GLuint v1); bool ValidateProgramUniform2uivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLuint *value); bool ValidateProgramUniform3fBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLfloat v0, GLfloat v1, GLfloat v2); bool ValidateProgramUniform3fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLfloat *value); bool ValidateProgramUniform3iBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLint v0, GLint v1, GLint v2); bool ValidateProgramUniform3ivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLint *value); bool ValidateProgramUniform3uiBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLuint v0, GLuint v1, GLuint v2); bool ValidateProgramUniform3uivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLuint *value); bool ValidateProgramUniform4fBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); bool ValidateProgramUniform4fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLfloat *value); bool ValidateProgramUniform4iBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLint v0, GLint v1, GLint v2, GLint v3); bool ValidateProgramUniform4ivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLint *value); bool ValidateProgramUniform4uiBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLuint v0, GLuint v1, GLuint v2, GLuint v3); bool ValidateProgramUniform4uivBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, const GLuint *value); bool ValidateProgramUniformMatrix2fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix2x3fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix2x4fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix3fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix3x2fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix3x4fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix4fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix4x2fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateProgramUniformMatrix4x3fvBase(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID programPacked, UniformLocation locationPacked, GLsizei count, GLboolean transpose, const GLfloat *value); bool ValidateUseProgramStagesBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked, GLbitfield stages, ShaderProgramID programPacked); bool ValidateValidateProgramPipelineBase(const Context *context, angle::EntryPoint entryPoint, ProgramPipelineID pipelinePacked); } // namespace gl #endif // LIBANGLE_VALIDATION_ES31_H_