301 lines
17 KiB
C++
301 lines
17 KiB
C++
//
|
|
// 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_
|