#include "libANGLE/validationES2_autogen.h"
#include <cstdint>
#include "common/BinaryStream.h"
#include "common/angle_version_info.h"
#include "common/mathutil.h"
#include "common/string_utils.h"
#include "common/utilities.h"
#include "libANGLE/Context.h"
#include "libANGLE/ErrorStrings.h"
#include "libANGLE/Fence.h"
#include "libANGLE/Framebuffer.h"
#include "libANGLE/FramebufferAttachment.h"
#include "libANGLE/MemoryObject.h"
#include "libANGLE/Renderbuffer.h"
#include "libANGLE/Shader.h"
#include "libANGLE/Texture.h"
#include "libANGLE/Uniform.h"
#include "libANGLE/VertexArray.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/validationES.h"
#include "libANGLE/validationES2.h"
#include "libANGLE/validationES3_autogen.h"
namespace gl
{
usingnamespaceerr;
namespace
{
bool IsPartialBlit(const Context *context,
const FramebufferAttachment *readBuffer,
const FramebufferAttachment *writeBuffer,
GLint srcX0,
GLint srcY0,
GLint srcX1,
GLint srcY1,
GLint dstX0,
GLint dstY0,
GLint dstX1,
GLint dstY1)
{ … }
bool IsValidCopyTextureSourceInternalFormatEnum(GLenum internalFormat)
{ … }
bool IsValidCopySubTextureSourceInternalFormat(GLenum internalFormat)
{ … }
bool IsValidCopyTextureDestinationInternalFormatEnum(GLint internalFormat)
{ … }
bool IsValidCopySubTextureDestionationInternalFormat(GLenum internalFormat)
{ … }
bool IsValidCopyTextureDestinationFormatType(const Context *context,
angle::EntryPoint entryPoint,
GLint internalFormat,
GLenum type)
{ … }
bool IsValidCopyTextureDestinationTargetEnum(const Context *context, TextureTarget target)
{ … }
bool IsValidCopyTextureDestinationTarget(const Context *context,
TextureType textureType,
TextureTarget target)
{ … }
bool IsValidCopyTextureSourceTarget(const Context *context, TextureType type)
{ … }
bool IsValidCopyTextureSourceLevel(const Context *context, TextureType type, GLint level)
{ … }
bool IsValidCopyTextureDestinationLevel(const Context *context,
angle::EntryPoint entryPoint,
TextureType type,
GLint level,
GLsizei width,
GLsizei height,
bool isSubImage)
{ … }
bool IsValidStencilFunc(GLenum func)
{ … }
bool IsValidStencilFace(GLenum face)
{ … }
bool IsValidStencilOp(GLenum op)
{ … }
static inline bool Valid1to4ComponentFloatColorBufferFormat(const Context *context, GLenum format)
{ … }
static inline bool Valid2to4ComponentFloatColorBufferFormat(const Context *context, GLenum format)
{ … }
static inline bool Valid3to4ComponentFloatColorBufferFormat(const Context *context, GLenum format)
{ … }
static inline bool Valid4ComponentFloatColorBufferFormat(const Context *context, GLenum format)
{ … }
bool ValidateES2CopyTexImageParameters(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
bool isSubImage,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLint border)
{ … }
static bool IsCapBannedWithActivePLS(GLenum cap)
{ … }
bool ValidCap(const PrivateState &state, ErrorSet *errors, GLenum cap, bool queryOnly)
{ … }
bool IsValidESSLCharacter(unsigned char c)
{ … }
bool IsValidESSLString(const char *str, size_t len)
{ … }
bool ValidateWebGLNamePrefix(const Context *context,
angle::EntryPoint entryPoint,
const GLchar *name)
{ … }
bool ValidateWebGLNameLength(const Context *context, angle::EntryPoint entryPoint, size_t length)
{ … }
bool ValidateSrcBlendFunc(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum val)
{ … }
bool ValidateDstBlendFunc(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum val)
{ … }
bool ValidateES2TexImageParameters(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
bool isCompressed,
bool isSubImage,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
GLsizei imageSize,
const void *pixels)
{ … }
}
bool ValidateES2TexImageParametersBase(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
bool isCompressed,
bool isSubImage,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
GLsizei imageSize,
const void *pixels)
{ … }
bool ValidateES2TexStorageParametersBase(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height)
{ … }
bool ValidateDiscardFramebufferEXT(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLsizei numAttachments,
const GLenum *attachments)
{ … }
bool ValidateBindVertexArrayOES(const Context *context,
angle::EntryPoint entryPoint,
VertexArrayID array)
{ … }
bool ValidateDeleteVertexArraysOES(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const VertexArrayID *arrays)
{ … }
bool ValidateGenVertexArraysOES(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const VertexArrayID *arrays)
{ … }
bool ValidateIsVertexArrayOES(const Context *context,
angle::EntryPoint entryPoint,
VertexArrayID array)
{ … }
bool ValidateProgramBinaryOES(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLenum binaryFormat,
const void *binary,
GLint length)
{ … }
bool ValidateGetProgramBinaryOES(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLsizei bufSize,
const GLsizei *length,
const GLenum *binaryFormat,
const void *binary)
{ … }
static bool ValidDebugSource(GLenum source, bool mustBeThirdPartyOrApplication)
{ … }
static bool ValidDebugType(GLenum type)
{ … }
static bool ValidDebugSeverity(GLenum severity)
{ … }
bool ValidateDebugMessageControlKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLenum type,
GLenum severity,
GLsizei count,
const GLuint *ids,
GLboolean enabled)
{ … }
bool ValidateDebugMessageInsertKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLenum type,
GLuint id,
GLenum severity,
GLsizei length,
const GLchar *buf)
{ … }
bool ValidateDebugMessageCallbackKHR(const Context *context,
angle::EntryPoint entryPoint,
GLDEBUGPROCKHR callback,
const void *userParam)
{ … }
bool ValidateGetDebugMessageLogKHR(const Context *context,
angle::EntryPoint entryPoint,
GLuint count,
GLsizei bufSize,
const GLenum *sources,
const GLenum *types,
const GLuint *ids,
const GLenum *severities,
const GLsizei *lengths,
const GLchar *messageLog)
{ … }
bool ValidatePushDebugGroupBase(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLuint id,
GLsizei length,
const GLchar *message)
{ … }
bool ValidatePopDebugGroupBase(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidatePushDebugGroupKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLuint id,
GLsizei length,
const GLchar *message)
{ … }
bool ValidatePopDebugGroupKHR(const Context *context, angle::EntryPoint entryPoint)
{ … }
static bool ValidateObjectIdentifierAndName(const Context *context,
angle::EntryPoint entryPoint,
GLenum identifier,
GLuint name)
{ … }
static bool ValidateLabelLength(const Context *context,
angle::EntryPoint entryPoint,
GLsizei length,
const GLchar *label)
{ … }
bool ValidateObjectLabelKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum identifier,
GLuint name,
GLsizei length,
const GLchar *label)
{ … }
bool ValidateGetObjectLabelKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum identifier,
GLuint name,
GLsizei bufSize,
const GLsizei *length,
const GLchar *label)
{ … }
static bool ValidateObjectPtrName(const Context *context,
angle::EntryPoint entryPoint,
const void *ptr)
{ … }
bool ValidateObjectPtrLabelKHR(const Context *context,
angle::EntryPoint entryPoint,
const void *ptr,
GLsizei length,
const GLchar *label)
{ … }
bool ValidateGetObjectPtrLabelKHR(const Context *context,
angle::EntryPoint entryPoint,
const void *ptr,
GLsizei bufSize,
const GLsizei *length,
const GLchar *label)
{ … }
bool ValidateGetPointervKHR(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
void *const *params)
{ … }
bool ValidateGetPointervRobustANGLERobustANGLE(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
GLsizei bufSize,
const GLsizei *length,
void *const *params)
{ … }
bool ValidateBlitFramebufferANGLE(const Context *context,
angle::EntryPoint entryPoint,
GLint srcX0,
GLint srcY0,
GLint srcX1,
GLint srcY1,
GLint dstX0,
GLint dstY0,
GLint dstX1,
GLint dstY1,
GLbitfield mask,
GLenum filter)
{ … }
bool ValidateBlitFramebufferNV(const Context *context,
angle::EntryPoint entryPoint,
GLint srcX0,
GLint srcY0,
GLint srcX1,
GLint srcY1,
GLint dstX0,
GLint dstY0,
GLint dstX1,
GLint dstY1,
GLbitfield mask,
GLenum filter)
{ … }
bool ValidateClear(const Context *context, angle::EntryPoint entryPoint, GLbitfield mask)
{ … }
bool ValidateDrawBuffersEXT(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const GLenum *bufs)
{ … }
bool ValidateTexImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
const void *pixels)
{ … }
bool ValidateTexImage2DRobustANGLE(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
GLsizei bufSize,
const void *pixels)
{ … }
bool ValidateTexSubImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const void *pixels)
{ … }
bool ValidateTexSubImage2DRobustANGLE(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
GLsizei bufSize,
const void *pixels)
{ … }
bool ValidateTexSubImage3DOES(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const void *pixels)
{ … }
bool ValidateCompressedTexImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLsizei imageSize,
const void *data)
{ … }
bool ValidateCompressedTexImage2DRobustANGLE(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLsizei imageSize,
GLsizei dataSize,
const void *data)
{ … }
bool ValidateCompressedTexImage3DOES(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLsizei imageSize,
const void *data)
{ … }
bool ValidateCompressedTexSubImage2DRobustANGLE(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLsizei imageSize,
GLsizei dataSize,
const void *data)
{ … }
bool ValidateCompressedTexSubImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLsizei imageSize,
const void *data)
{ … }
bool ValidateCompressedTexSubImage3DOES(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const void *data)
{ … }
bool ValidateGetBufferPointervOES(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLenum pname,
void *const *params)
{ … }
bool ValidateMapBufferOES(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLenum access)
{ … }
bool ValidateUnmapBufferOES(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target)
{ … }
bool ValidateMapBufferRangeEXT(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLintptr offset,
GLsizeiptr length,
GLbitfield access)
{ … }
bool ValidateMapBufferBase(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target)
{ … }
bool ValidateFlushMappedBufferRangeEXT(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLintptr offset,
GLsizeiptr length)
{ … }
bool ValidateBindUniformLocationCHROMIUM(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
UniformLocation location,
const GLchar *name)
{ … }
bool ValidateCoverageModulationCHROMIUM(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum components)
{ … }
bool ValidateCopyTextureCHROMIUM(const Context *context,
angle::EntryPoint entryPoint,
TextureID sourceId,
GLint sourceLevel,
TextureTarget destTarget,
TextureID destId,
GLint destLevel,
GLint internalFormat,
GLenum destType,
GLboolean unpackFlipY,
GLboolean unpackPremultiplyAlpha,
GLboolean unpackUnmultiplyAlpha)
{ … }
bool ValidateCopySubTextureCHROMIUM(const Context *context,
angle::EntryPoint entryPoint,
TextureID sourceId,
GLint sourceLevel,
TextureTarget destTarget,
TextureID destId,
GLint destLevel,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLboolean unpackFlipY,
GLboolean unpackPremultiplyAlpha,
GLboolean unpackUnmultiplyAlpha)
{ … }
bool ValidateCompressedCopyTextureCHROMIUM(const Context *context,
angle::EntryPoint entryPoint,
TextureID sourceId,
TextureID destId)
{ … }
bool ValidateCreateShader(const Context *context, angle::EntryPoint entryPoint, ShaderType type)
{ … }
bool ValidateBufferData(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLsizeiptr size,
const void *data,
BufferUsage usage)
{ … }
bool ValidateBufferSubData(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLintptr offset,
GLsizeiptr size,
const void *data)
{ … }
bool ValidateRequestExtensionANGLE(const Context *context,
angle::EntryPoint entryPoint,
const GLchar *name)
{ … }
bool ValidateDisableExtensionANGLE(const Context *context,
angle::EntryPoint entryPoint,
const GLchar *name)
{ … }
bool ValidateActiveTexture(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum texture)
{ … }
bool ValidateAttachShader(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
ShaderProgramID shader)
{ … }
bool ValidateBindAttribLocation(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLuint index,
const GLchar *name)
{ … }
bool ValidateBindFramebuffer(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
FramebufferID framebuffer)
{ … }
bool ValidateBindRenderbuffer(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
RenderbufferID renderbuffer)
{ … }
static bool ValidBlendEquationMode(const PrivateState &state, ErrorSet *errors, GLenum mode)
{ … }
static bool ValidAdvancedBlendEquationMode(const PrivateState &state, GLenum mode)
{ … }
bool ValidateBlendColor(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat red,
GLfloat green,
GLfloat blue,
GLfloat alpha)
{ … }
bool ValidateBlendEquation(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum mode)
{ … }
bool ValidateBlendEquationSeparate(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum modeRGB,
GLenum modeAlpha)
{ … }
bool ValidateBlendFunc(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum sfactor,
GLenum dfactor)
{ … }
bool ValidateBlendFuncSeparate(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum srcRGB,
GLenum dstRGB,
GLenum srcAlpha,
GLenum dstAlpha)
{ … }
bool ValidateGetString(const Context *context, angle::EntryPoint entryPoint, GLenum name)
{ … }
bool ValidateLineWidth(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat width)
{ … }
bool ValidateDepthRangef(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat zNear,
GLfloat zFar)
{ … }
bool ValidateRenderbufferStorage(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum internalformat,
GLsizei width,
GLsizei height)
{ … }
bool ValidateRenderbufferStorageMultisampleANGLE(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height)
{ … }
bool ValidateCheckFramebufferStatus(const Context *context,
angle::EntryPoint entryPoint,
GLenum target)
{ … }
bool ValidateClearColor(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat red,
GLfloat green,
GLfloat blue,
GLfloat alpha)
{ … }
bool ValidateClearDepthf(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat depth)
{ … }
bool ValidateClearStencil(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLint s)
{ … }
bool ValidateColorMask(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLboolean red,
GLboolean green,
GLboolean blue,
GLboolean alpha)
{ … }
bool ValidateCompileShader(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader)
{ … }
bool ValidateCreateProgram(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateCullFace(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
CullFaceMode mode)
{ … }
bool ValidateDeleteProgram(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program)
{ … }
bool ValidateDeleteShader(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader)
{ … }
bool ValidateDepthFunc(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum func)
{ … }
bool ValidateDepthMask(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLboolean flag)
{ … }
bool ValidateDetachShader(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
ShaderProgramID shader)
{ … }
bool ValidateDisableVertexAttribArray(const Context *context,
angle::EntryPoint entryPoint,
GLuint index)
{ … }
bool ValidateEnableVertexAttribArray(const Context *context,
angle::EntryPoint entryPoint,
GLuint index)
{ … }
bool ValidateFinish(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateFlush(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateFrontFace(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum mode)
{ … }
bool ValidateGetActiveAttrib(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLuint index,
GLsizei bufsize,
const GLsizei *length,
const GLint *size,
const GLenum *type,
const GLchar *name)
{ … }
bool ValidateGetActiveUniform(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLuint index,
GLsizei bufsize,
const GLsizei *length,
const GLint *size,
const GLenum *type,
const GLchar *name)
{ … }
bool ValidateGetAttachedShaders(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLsizei maxcount,
const GLsizei *count,
const ShaderProgramID *shaders)
{ … }
bool ValidateGetAttribLocation(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
const GLchar *name)
{ … }
bool ValidateGetBooleanv(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
const GLboolean *params)
{ … }
bool ValidateGetError(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateGetFloatv(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
const GLfloat *params)
{ … }
bool ValidateGetIntegerv(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetProgramInfoLog(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLsizei bufsize,
const GLsizei *length,
const GLchar *infolog)
{ … }
bool ValidateGetShaderInfoLog(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader,
GLsizei bufsize,
const GLsizei *length,
const GLchar *infolog)
{ … }
bool ValidateGetShaderPrecisionFormat(const Context *context,
angle::EntryPoint entryPoint,
GLenum shadertype,
GLenum precisiontype,
const GLint *range,
const GLint *precision)
{ … }
bool ValidateGetShaderSource(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader,
GLsizei bufsize,
const GLsizei *length,
const GLchar *source)
{ … }
bool ValidateGetUniformLocation(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
const GLchar *name)
{ … }
bool ValidateHint(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum target,
GLenum mode)
{ … }
bool ValidateIsBuffer(const Context *context, angle::EntryPoint entryPoint, BufferID buffer)
{ … }
bool ValidateIsFramebuffer(const Context *context,
angle::EntryPoint entryPoint,
FramebufferID framebuffer)
{ … }
bool ValidateIsProgram(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program)
{ … }
bool ValidateIsRenderbuffer(const Context *context,
angle::EntryPoint entryPoint,
RenderbufferID renderbuffer)
{ … }
bool ValidateIsShader(const Context *context, angle::EntryPoint entryPoint, ShaderProgramID shader)
{ … }
bool ValidateIsTexture(const Context *context, angle::EntryPoint entryPoint, TextureID texture)
{ … }
bool ValidatePixelStorei(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum pname,
GLint param)
{ … }
bool ValidatePolygonOffset(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat factor,
GLfloat units)
{ … }
bool ValidateReleaseShaderCompiler(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateSampleCoverage(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat value,
GLboolean invert)
{ … }
bool ValidateScissor(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLint x,
GLint y,
GLsizei width,
GLsizei height)
{ … }
bool ValidateShaderBinary(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const ShaderProgramID *shaders,
GLenum binaryformat,
const void *binary,
GLsizei length)
{ … }
bool ValidateShaderSource(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader,
GLsizei count,
const GLchar *const *string,
const GLint *length)
{ … }
bool ValidateStencilFunc(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum func,
GLint ref,
GLuint mask)
{ … }
bool ValidateStencilFuncSeparate(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum face,
GLenum func,
GLint ref,
GLuint mask)
{ … }
bool ValidateStencilMask(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint mask)
{ … }
bool ValidateStencilMaskSeparate(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum face,
GLuint mask)
{ … }
bool ValidateStencilOp(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum fail,
GLenum zfail,
GLenum zpass)
{ … }
bool ValidateStencilOpSeparate(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum face,
GLenum fail,
GLenum zfail,
GLenum zpass)
{ … }
bool ValidateUniform1f(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLfloat x)
{ … }
bool ValidateUniform1fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLfloat *v)
{ … }
bool ValidateUniform1i(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLint x)
{ … }
bool ValidateUniform2fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLfloat *v)
{ … }
bool ValidateUniform2i(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLint x,
GLint y)
{ … }
bool ValidateUniform2iv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLint *v)
{ … }
bool ValidateUniform3f(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLfloat x,
GLfloat y,
GLfloat z)
{ … }
bool ValidateUniform3fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLfloat *v)
{ … }
bool ValidateUniform3i(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLint x,
GLint y,
GLint z)
{ … }
bool ValidateUniform3iv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLint *v)
{ … }
bool ValidateUniform4f(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLfloat x,
GLfloat y,
GLfloat z,
GLfloat w)
{ … }
bool ValidateUniform4fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLfloat *v)
{ … }
bool ValidateUniform4i(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLint x,
GLint y,
GLint z,
GLint w)
{ … }
bool ValidateUniform4iv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
const GLint *v)
{ … }
bool ValidateUniformMatrix2fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{ … }
bool ValidateUniformMatrix3fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{ … }
bool ValidateUniformMatrix4fv(const Context *context,
angle::EntryPoint entryPoint,
UniformLocation location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{ … }
bool ValidateValidateProgram(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program)
{ … }
bool ValidateVertexAttrib1f(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
GLfloat x)
{ … }
bool ValidateVertexAttrib1fv(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
const GLfloat *values)
{ … }
bool ValidateVertexAttrib2f(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
GLfloat x,
GLfloat y)
{ … }
bool ValidateVertexAttrib2fv(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
const GLfloat *values)
{ … }
bool ValidateVertexAttrib3f(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
GLfloat x,
GLfloat y,
GLfloat z)
{ … }
bool ValidateVertexAttrib3fv(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
const GLfloat *values)
{ … }
bool ValidateVertexAttrib4f(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
GLfloat x,
GLfloat y,
GLfloat z,
GLfloat w)
{ … }
bool ValidateVertexAttrib4fv(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
const GLfloat *values)
{ … }
bool ValidateViewport(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLint x,
GLint y,
GLsizei width,
GLsizei height)
{ … }
bool ValidateGetFramebufferAttachmentParameteriv(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetProgramiv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
GLenum pname,
const GLint *params)
{ … }
bool ValidateCopyTexImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLint border)
{ … }
bool ValidateCopyTexSubImage2D(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height)
{ … }
bool ValidateCopyTexSubImage3DOES(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height)
{ … }
bool ValidateDeleteBuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const BufferID *buffers)
{ … }
bool ValidateDeleteFramebuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const FramebufferID *framebuffers)
{ … }
bool ValidateDeleteRenderbuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const RenderbufferID *renderbuffers)
{ … }
bool ValidateDeleteTextures(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const TextureID *textures)
{ … }
bool ValidateDisable(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum cap)
{ … }
bool ValidateEnable(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum cap)
{ … }
bool ValidateFramebufferRenderbuffer(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
GLenum renderbuffertarget,
RenderbufferID renderbuffer)
{ … }
bool ValidateFramebufferTexture2D(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
TextureTarget textarget,
TextureID texture,
GLint level)
{ … }
bool ValidateFramebufferTexture3DOES(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
TextureTarget textargetPacked,
TextureID texture,
GLint level,
GLint zoffset)
{ … }
bool ValidateGenBuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const BufferID *buffers)
{ … }
bool ValidateGenFramebuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const FramebufferID *framebuffers)
{ … }
bool ValidateGenRenderbuffers(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const RenderbufferID *renderbuffers)
{ … }
bool ValidateGenTextures(const Context *context,
angle::EntryPoint entryPoint,
GLint n,
const TextureID *textures)
{ … }
bool ValidateGenerateMipmap(const Context *context,
angle::EntryPoint entryPoint,
TextureType target)
{ … }
bool ValidateGetBufferParameteriv(const Context *context,
angle::EntryPoint entryPoint,
BufferBinding target,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetRenderbufferParameteriv(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetShaderiv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetTexParameterfv(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
const GLfloat *params)
{ … }
bool ValidateGetTexParameteriv(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetUniformfv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
UniformLocation location,
const GLfloat *params)
{ … }
bool ValidateGetUniformiv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program,
UniformLocation location,
const GLint *params)
{ … }
bool ValidateGetVertexAttribfv(const Context *context,
angle::EntryPoint entryPoint,
GLuint index,
GLenum pname,
const GLfloat *params)
{ … }
bool ValidateGetVertexAttribiv(const Context *context,
angle::EntryPoint entryPoint,
GLuint index,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetVertexAttribPointerv(const Context *context,
angle::EntryPoint entryPoint,
GLuint index,
GLenum pname,
void *const *pointer)
{ … }
bool ValidateIsEnabled(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum cap)
{ … }
bool ValidateLinkProgram(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program)
{ … }
bool ValidateReadPixels(const Context *context,
angle::EntryPoint entryPoint,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const void *pixels)
{ … }
bool ValidateTexParameterf(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
GLfloat param)
{ … }
bool ValidateTexParameterfv(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
const GLfloat *params)
{ … }
bool ValidateTexParameteri(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
GLint param)
{ … }
bool ValidateTexParameteriv(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLenum pname,
const GLint *params)
{ … }
bool ValidateUseProgram(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID program)
{ … }
bool ValidateDeleteFencesNV(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const FenceNVID *fences)
{ … }
bool ValidateFinishFenceNV(const Context *context, angle::EntryPoint entryPoint, FenceNVID fence)
{ … }
bool ValidateGenFencesNV(const Context *context,
angle::EntryPoint entryPoint,
GLsizei n,
const FenceNVID *fences)
{ … }
bool ValidateGetFenceivNV(const Context *context,
angle::EntryPoint entryPoint,
FenceNVID fence,
GLenum pname,
const GLint *params)
{ … }
bool ValidateGetGraphicsResetStatusEXT(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateGetTranslatedShaderSourceANGLE(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID shader,
GLsizei bufsize,
const GLsizei *length,
const GLchar *source)
{ … }
bool ValidateIsFenceNV(const Context *context, angle::EntryPoint entryPoint, FenceNVID fence)
{ … }
bool ValidateSetFenceNV(const Context *context,
angle::EntryPoint entryPoint,
FenceNVID fence,
GLenum condition)
{ … }
bool ValidateTestFenceNV(const Context *context, angle::EntryPoint entryPoint, FenceNVID fence)
{ … }
bool ValidateTexStorage2DEXT(const Context *context,
angle::EntryPoint entryPoint,
TextureType type,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height)
{ … }
bool ValidateVertexAttribDivisorANGLE(const Context *context,
angle::EntryPoint entryPoint,
GLuint index,
GLuint divisor)
{ … }
bool ValidateVertexAttribDivisorEXT(const Context *context,
angle::EntryPoint entryPoint,
GLuint index,
GLuint divisor)
{ … }
bool ValidateTexImage3DOES(const Context *context,
angle::EntryPoint entryPoint,
TextureTarget target,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLenum format,
GLenum type,
const void *pixels)
{ … }
bool ValidatePopGroupMarkerEXT(const Context *context, angle::EntryPoint entryPoint)
{ … }
bool ValidateTexStorage1DEXT(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLsizei levels,
GLenum internalformat,
GLsizei width)
{ … }
bool ValidateTexStorage3DEXT(const Context *context,
angle::EntryPoint entryPoint,
TextureType target,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth)
{ … }
bool ValidateMaxShaderCompilerThreadsKHR(const Context *context,
angle::EntryPoint entryPoint,
GLuint count)
{ … }
bool ValidateMultiDrawArraysANGLE(const Context *context,
angle::EntryPoint entryPoint,
PrimitiveMode mode,
const GLint *firsts,
const GLsizei *counts,
GLsizei drawcount)
{ … }
bool ValidateMultiDrawElementsANGLE(const Context *context,
angle::EntryPoint entryPoint,
PrimitiveMode mode,
const GLsizei *counts,
DrawElementsType type,
const GLvoid *const *indices,
GLsizei drawcount)
{ … }
bool ValidateFramebufferTexture2DMultisampleEXT(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
TextureTarget textarget,
TextureID texture,
GLint level,
GLsizei samples)
{ … }
bool ValidateRenderbufferStorageMultisampleEXT(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height)
{ … }
void RecordBindTextureTypeError(const Context *context,
angle::EntryPoint entryPoint,
TextureType target)
{ … }
}