Don't use gl::Error in validation.
Instead pass error code and error message directly to the Context. As
a side effect every validation error has an associated message now.
Reduces binary size by almost 100k.
Bug: angleproject:2957
Change-Id: I045e8ab57f8f9d787654a32f6f037011fe3a9f24
Reviewed-on: https://chromium-review.googlesource.com/c/1335890
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index 52105ed..449f16b 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -78,7 +78,7 @@
const GLuint pathName = array[i] + pathBase;
if (context->isPathGenerated(pathName) && !context->isPath(pathName))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
}
@@ -95,25 +95,26 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (paths == nullptr)
{
- context->handleError(InvalidValue() << "No path name array.");
+ context->validationError(GL_INVALID_VALUE, "No path name array.");
return false;
}
if (numPaths < 0)
{
- context->handleError(InvalidValue() << "Invalid (negative) numPaths.");
+ context->validationError(GL_INVALID_VALUE, "Invalid (negative) numPaths.");
return false;
}
if (!angle::IsValueInRangeForNumericType<std::uint32_t>(numPaths))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
@@ -159,7 +160,7 @@
break;
default:
- context->handleError(InvalidEnum() << "Invalid path name type.");
+ context->validationError(GL_INVALID_ENUM, "Invalid path name type.");
return false;
}
@@ -187,12 +188,12 @@
componentCount = 12;
break;
default:
- context->handleError(InvalidEnum() << "Invalid transformation.");
+ context->validationError(GL_INVALID_ENUM, "Invalid transformation.");
return false;
}
if (componentCount != 0 && transformValues == nullptr)
{
- context->handleError(InvalidValue() << "No transform array given.");
+ context->validationError(GL_INVALID_VALUE, "No transform array given.");
return false;
}
@@ -201,7 +202,7 @@
checkedSize += (numPaths * sizeof(GLfloat) * componentCount);
if (!checkedSize.IsValid())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
@@ -289,20 +290,20 @@
{
if (!IsValidCopyTextureDestinationInternalFormatEnum(internalFormat))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
if (!ValidES3FormatCombination(GetUnsizedFormat(internalFormat), type, internalFormat))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorMismatchedTypeAndFormat);
return false;
}
const InternalFormat &internalFormatInfo = GetInternalFormatInfo(internalFormat, type);
if (!internalFormatInfo.textureSupport(context->getClientVersion(), context->getExtensions()))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
@@ -472,14 +473,14 @@
{
if (!ValidTexture2DDestinationTarget(context, target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
TextureType texType = TextureTargetToType(target);
if (!ValidImageSizeParameters(context, texType, level, width, height, 1, isSubImage))
{
- context->handleError(InvalidValue() << "Invalid texture dimensions.");
+ context->validationError(GL_INVALID_VALUE, "Invalid texture dimensions.");
return false;
}
@@ -506,7 +507,7 @@
colorbufferFormat != GL_RGB5_A1 && colorbufferFormat != GL_RGBA8_OES &&
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -517,7 +518,7 @@
colorbufferFormat != GL_RGBA8_OES && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -530,7 +531,7 @@
colorbufferFormat != GL_RGBA32F && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -542,7 +543,7 @@
colorbufferFormat != GL_RGBA32F && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -553,7 +554,7 @@
colorbufferFormat != GL_RGBA32F && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -563,7 +564,7 @@
colorbufferFormat != GL_RGBA8_OES && colorbufferFormat != GL_RGBA32F &&
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -581,20 +582,20 @@
case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:
case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:
case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
case GL_DEPTH_COMPONENT:
case GL_DEPTH_STENCIL_OES:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
if (formatInfo.type == GL_FLOAT && !context->getExtensions().textureFloat)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
}
@@ -607,7 +608,7 @@
colorbufferFormat != GL_RGB5_A1 && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_RGBA8_OES && colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -618,7 +619,7 @@
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_RGBA8_OES &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -629,7 +630,7 @@
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_RGBA8_OES &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -639,7 +640,7 @@
colorbufferFormat != GL_RGB5_A1 && colorbufferFormat != GL_BGRA8_EXT &&
colorbufferFormat != GL_RGBA8_OES && colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -649,7 +650,7 @@
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_RGBA8_OES &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -659,7 +660,7 @@
colorbufferFormat != GL_BGRA8_EXT && colorbufferFormat != GL_RGBA8_OES &&
colorbufferFormat != GL_BGR5_A1_ANGLEX)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
break;
@@ -667,48 +668,48 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
if (context->getExtensions().textureCompressionDXT1)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
if (context->getExtensions().textureCompressionDXT3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
if (context->getExtensions().textureCompressionDXT5)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_ETC1_RGB8_OES:
if (context->getExtensions().compressedETC1RGB8Texture)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -719,14 +720,14 @@
case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE:
if (context->getExtensions().lossyETCDecode)
{
- context->handleError(InvalidOperation()
- << "ETC lossy decode formats can't be copied to.");
+ context->validationError(GL_INVALID_OPERATION,
+ "ETC lossy decode formats can't be copied to.");
return false;
}
else
{
- context->handleError(InvalidEnum()
- << "ANGLE_lossy_etc_decode extension is not supported.");
+ context->validationError(GL_INVALID_ENUM,
+ "ANGLE_lossy_etc_decode extension is not supported.");
return false;
}
break;
@@ -737,16 +738,16 @@
case GL_DEPTH24_STENCIL8_OES:
if (context->getExtensions().depthTextures)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
default:
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
}
@@ -1007,7 +1008,7 @@
// Identifiers starting with "webgl_" and "_webgl_" are reserved for use by WebGL.
if (strncmp(name, "webgl_", 6) == 0 || strncmp(name, "_webgl_", 7) == 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), WebglBindAttribLocationReservedPrefix);
+ context->validationError(GL_INVALID_OPERATION, kErrorWebglBindAttribLocationReservedPrefix);
return false;
}
@@ -1023,7 +1024,7 @@
// WebGL 1.0 [Section 6.21] Maxmimum Uniform and Attribute Location Lengths
// WebGL imposes a limit of 256 characters on the lengths of uniform and attribute
// locations.
- ANGLE_VALIDATION_ERR(context, InvalidValue(), WebglNameLengthLimitExceeded);
+ context->validationError(GL_INVALID_VALUE, kErrorWebglNameLengthLimitExceeded);
return false;
}
@@ -1031,7 +1032,7 @@
{
// WebGL 2.0 [Section 4.3.2] WebGL 2.0 imposes a limit of 1024 characters on the lengths of
// uniform and attribute locations.
- ANGLE_VALIDATION_ERR(context, InvalidValue(), Webgl2NameLengthLimitExceeded);
+ context->validationError(GL_INVALID_VALUE, kErrorWebgl2NameLengthLimitExceeded);
return false;
}
@@ -1042,13 +1043,14 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (matrixMode != GL_PATH_MODELVIEW_CHROMIUM && matrixMode != GL_PATH_PROJECTION_CHROMIUM)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidMatrixMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidMatrixMode);
return false;
}
return true;
@@ -1123,35 +1125,36 @@
{
case TextureType::Rectangle:
ASSERT(!context->getExtensions().textureRectangle);
- context->handleError(InvalidEnum()
- << "Context does not support GL_ANGLE_texture_rectangle");
+ context->validationError(GL_INVALID_ENUM,
+ "Context does not support GL_ANGLE_texture_rectangle");
break;
case TextureType::_3D:
case TextureType::_2DArray:
ASSERT(context->getClientMajorVersion() < 3);
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), ES3Required);
+ context->validationError(GL_INVALID_ENUM, kErrorES3Required);
break;
case TextureType::_2DMultisample:
ASSERT(context->getClientVersion() < Version(3, 1) &&
!context->getExtensions().textureMultisample);
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), MultisampleTextureExtensionOrES31Required);
+ context->validationError(GL_INVALID_ENUM,
+ kErrorMultisampleTextureExtensionOrES31Required);
break;
case TextureType::_2DMultisampleArray:
ASSERT(!context->getExtensions().textureStorageMultisample2DArray);
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), MultisampleArrayExtensionRequired);
+ context->validationError(GL_INVALID_ENUM, kErrorMultisampleArrayExtensionRequired);
break;
case TextureType::External:
ASSERT(!context->getExtensions().eglImageExternal &&
!context->getExtensions().eglStreamConsumerExternal);
- context->handleError(InvalidEnum() << "External texture extension not enabled");
+ context->validationError(GL_INVALID_ENUM, "External texture extension not enabled");
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
}
}
} // anonymous namespace
@@ -1174,27 +1177,27 @@
{
if (!ValidTexture2DDestinationTarget(context, target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
TextureType texType = TextureTargetToType(target);
if (!ValidImageSizeParameters(context, texType, level, width, height, 1, isSubImage))
{
- context->handleError(InvalidValue());
+ // Error already handled.
return false;
}
if (!ValidMipLevel(context, texType, level))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidMipLevel);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
if (xoffset < 0 || std::numeric_limits<GLsizei>::max() - xoffset < width ||
std::numeric_limits<GLsizei>::max() - yoffset < height)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), ResourceMaxTextureSize);
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
@@ -1209,7 +1212,7 @@
if (!isSubImage && !isCompressed && internalformat != format && !nonEqualFormatsAllowed)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormatCombination);
return false;
}
@@ -1221,7 +1224,7 @@
if (static_cast<GLuint>(width) > (caps.max2DTextureSize >> level) ||
static_cast<GLuint>(height) > (caps.max2DTextureSize >> level))
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
break;
@@ -1231,13 +1234,13 @@
if (static_cast<GLuint>(width) > caps.maxRectangleTextureSize ||
static_cast<GLuint>(height) > caps.maxRectangleTextureSize)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
if (isCompressed)
{
- context->handleError(InvalidEnum()
- << "Rectangle texture cannot have a compressed format.");
+ context->validationError(GL_INVALID_ENUM,
+ "Rectangle texture cannot have a compressed format.");
return false;
}
break;
@@ -1245,27 +1248,27 @@
case TextureType::CubeMap:
if (!isSubImage && width != height)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), CubemapFacesEqualDimensions);
+ context->validationError(GL_INVALID_VALUE, kErrorCubemapFacesEqualDimensions);
return false;
}
if (static_cast<GLuint>(width) > (caps.maxCubeMapTextureSize >> level) ||
static_cast<GLuint>(height) > (caps.maxCubeMapTextureSize >> level))
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
break;
default:
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
gl::Texture *texture = context->getTargetTexture(texType);
if (!texture)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferNotBound);
return false;
}
@@ -1274,7 +1277,7 @@
const InternalFormat &textureInternalFormat = *texture->getFormat(target, level).info;
if (textureInternalFormat.internalFormat == GL_NONE)
{
- context->handleError(InvalidOperation() << "Texture level does not exist.");
+ context->validationError(GL_INVALID_OPERATION, "Texture level does not exist.");
return false;
}
@@ -1283,7 +1286,7 @@
if (GetInternalFormatInfo(format, type).sizedInternalFormat !=
textureInternalFormat.sizedInternalFormat)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMismatch);
+ context->validationError(GL_INVALID_OPERATION, kErrorTypeMismatch);
return false;
}
}
@@ -1291,14 +1294,14 @@
if (static_cast<size_t>(xoffset + width) > texture->getWidth(target, level) ||
static_cast<size_t>(yoffset + height) > texture->getHeight(target, level))
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorOffsetOverflow);
return false;
}
if (width > 0 && height > 0 && pixels == nullptr &&
context->getGLState().getTargetBuffer(BufferBinding::PixelUnpack) == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), PixelDataNull);
+ context->validationError(GL_INVALID_VALUE, kErrorPixelDataNull);
return false;
}
}
@@ -1306,7 +1309,7 @@
{
if (texture->getImmutableFormat())
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorTextureIsImmutable);
return false;
}
}
@@ -1314,7 +1317,7 @@
// Verify zero border
if (border != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidBorder);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidBorder);
return false;
}
@@ -1328,14 +1331,14 @@
if (!internalFormatInfo.compressed)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidInternalFormat);
return false;
}
if (!internalFormatInfo.textureSupport(context->getClientVersion(),
context->getExtensions()))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidInternalFormat);
return false;
}
@@ -1347,7 +1350,7 @@
// ETC1_RGB8_OES.
if (actualInternalFormat == GL_ETC1_RGB8_OES)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
@@ -1355,13 +1358,14 @@
height, texture->getWidth(target, level),
texture->getHeight(target, level)))
{
- context->handleError(InvalidOperation() << "Invalid compressed format dimension.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Invalid compressed format dimension.");
return false;
}
if (format != actualInternalFormat)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
}
@@ -1369,7 +1373,8 @@
{
if (!ValidCompressedImageSize(context, actualInternalFormat, level, width, height))
{
- context->handleError(InvalidOperation() << "Invalid compressed format dimension.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Invalid compressed format dimension.");
return false;
}
}
@@ -1390,7 +1395,7 @@
case GL_FLOAT:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidType);
return false;
}
@@ -1409,7 +1414,8 @@
case GL_HALF_FLOAT_OES:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1417,7 +1423,7 @@
case GL_RG:
if (!context->getExtensions().textureRG)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
switch (type)
@@ -1428,12 +1434,13 @@
case GL_HALF_FLOAT_OES:
if (!context->getExtensions().textureFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1446,7 +1453,8 @@
case GL_HALF_FLOAT_OES:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1460,14 +1468,15 @@
case GL_HALF_FLOAT_OES:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
case GL_BGRA_EXT:
if (!context->getExtensions().textureFormatBGRA8888)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
switch (type)
@@ -1475,7 +1484,8 @@
case GL_UNSIGNED_BYTE:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1483,7 +1493,7 @@
case GL_SRGB_ALPHA_EXT:
if (!context->getExtensions().sRGB)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
switch (type)
@@ -1491,7 +1501,8 @@
case GL_UNSIGNED_BYTE:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1508,7 +1519,8 @@
case GL_UNSIGNED_INT:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1518,12 +1530,13 @@
case GL_UNSIGNED_INT_24_8_OES:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
default:
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -1533,48 +1546,48 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
if (context->getExtensions().textureCompressionDXT1)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
if (context->getExtensions().textureCompressionDXT3)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
if (context->getExtensions().textureCompressionDXT5)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_ETC1_RGB8_OES:
if (context->getExtensions().compressedETC1RGB8Texture)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFormat);
return false;
}
else
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1585,14 +1598,14 @@
case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE:
if (context->getExtensions().lossyETCDecode)
{
- context->handleError(InvalidOperation()
- << "ETC lossy decode formats can't work with this type.");
+ context->validationError(GL_INVALID_OPERATION,
+ "ETC lossy decode formats can't work with this type.");
return false;
}
else
{
- context->handleError(InvalidEnum()
- << "ANGLE_lossy_etc_decode extension is not supported.");
+ context->validationError(GL_INVALID_ENUM,
+ "ANGLE_lossy_etc_decode extension is not supported.");
return false;
}
break;
@@ -1600,24 +1613,24 @@
case GL_DEPTH_STENCIL_OES:
if (!context->getExtensions().depthTextures)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
if (target != TextureTarget::_2D)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTargetAndFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorMismatchedTargetAndFormat);
return false;
}
// OES_depth_texture supports loading depth data and multiple levels,
// but ANGLE_depth_texture does not
if (pixels != nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), PixelDataNotNull);
+ context->validationError(GL_INVALID_OPERATION, kErrorPixelDataNotNull);
return false;
}
if (level != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), LevelNotZero);
+ context->validationError(GL_INVALID_OPERATION, kErrorLevelNotZero);
return false;
}
break;
@@ -1632,19 +1645,21 @@
case GL_RGBA32F:
if (!context->getExtensions().colorBufferFloatRGBA)
{
- context->handleError(InvalidValue()
- << "Sized GL_RGBA32F internal format requires "
- "GL_CHROMIUM_color_buffer_float_rgba");
+ context->validationError(GL_INVALID_ENUM,
+ "Sized GL_RGBA32F internal format requires "
+ "GL_CHROMIUM_color_buffer_float_rgba");
return false;
}
if (type != GL_FLOAT)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
if (format != GL_RGBA)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1652,19 +1667,21 @@
case GL_RGB32F:
if (!context->getExtensions().colorBufferFloatRGB)
{
- context->handleError(InvalidValue()
- << "Sized GL_RGB32F internal format requires "
- "GL_CHROMIUM_color_buffer_float_rgb");
+ context->validationError(GL_INVALID_ENUM,
+ "Sized GL_RGB32F internal format requires "
+ "GL_CHROMIUM_color_buffer_float_rgb");
return false;
}
if (type != GL_FLOAT)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
if (format != GL_RGB)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTypeAndFormat);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMismatchedTypeAndFormat);
return false;
}
break;
@@ -1678,7 +1695,7 @@
{
if (!context->getExtensions().textureFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
}
@@ -1686,7 +1703,7 @@
{
if (!context->getExtensions().textureHalfFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
}
@@ -1712,32 +1729,32 @@
if (target != TextureType::_2D && target != TextureType::CubeMap &&
target != TextureType::Rectangle)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
if (width < 1 || height < 1 || levels < 1)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorTextureSizeTooSmall);
return false;
}
if (target == TextureType::CubeMap && width != height)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorCubemapFacesEqualDimensions);
return false;
}
if (levels != 1 && levels != gl::log2(std::max(width, height)) + 1)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidMipLevels);
return false;
}
const gl::InternalFormat &formatInfo = gl::GetSizedInternalFormatInfo(internalformat);
if (formatInfo.format == GL_NONE || formatInfo.type == GL_NONE)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFormat);
return false;
}
@@ -1749,21 +1766,26 @@
if (static_cast<GLuint>(width) > caps.max2DTextureSize ||
static_cast<GLuint>(height) > caps.max2DTextureSize)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
break;
case TextureType::Rectangle:
- if (static_cast<GLuint>(width) > caps.maxRectangleTextureSize ||
- static_cast<GLuint>(height) > caps.maxRectangleTextureSize || levels != 1)
+ if (levels != 1)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
+ return false;
+ }
+
+ if (static_cast<GLuint>(width) > caps.maxRectangleTextureSize ||
+ static_cast<GLuint>(height) > caps.maxRectangleTextureSize)
+ {
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
if (formatInfo.compressed)
{
- context->handleError(InvalidEnum()
- << "Rectangle texture cannot have a compressed format.");
+ context->validationError(GL_INVALID_ENUM, kErrorRectangleTextureCompressed);
return false;
}
break;
@@ -1771,12 +1793,12 @@
if (static_cast<GLuint>(width) > caps.maxCubeMapTextureSize ||
static_cast<GLuint>(height) > caps.maxCubeMapTextureSize)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorResourceMaxTextureSize);
return false;
}
break;
default:
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -1784,7 +1806,7 @@
{
if (!gl::isPow2(width) || !gl::isPow2(height))
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorDimensionsMustBePow2);
return false;
}
}
@@ -1795,28 +1817,28 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
if (!context->getExtensions().textureCompressionDXT1)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
if (!context->getExtensions().textureCompressionDXT3)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
if (!context->getExtensions().textureCompressionDXT5)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
case GL_ETC1_RGB8_OES:
if (!context->getExtensions().compressedETC1RGB8Texture)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1827,8 +1849,8 @@
case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE:
if (!context->getExtensions().lossyETCDecode)
{
- context->handleError(InvalidEnum()
- << "ANGLE_lossy_etc_decode extension is not supported.");
+ context->validationError(GL_INVALID_ENUM,
+ "ANGLE_lossy_etc_decode extension is not supported.");
return false;
}
break;
@@ -1839,7 +1861,7 @@
case GL_LUMINANCE_ALPHA32F_EXT:
if (!context->getExtensions().textureFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1850,7 +1872,7 @@
case GL_LUMINANCE_ALPHA16F_EXT:
if (!context->getExtensions().textureHalfFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1858,7 +1880,7 @@
case GL_RG8_EXT:
if (!context->getExtensions().textureRG)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1866,7 +1888,7 @@
case GL_RG16F_EXT:
if (!context->getExtensions().textureRG || !context->getExtensions().textureHalfFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1874,7 +1896,7 @@
case GL_RG32F_EXT:
if (!context->getExtensions().textureRG || !context->getExtensions().textureFloat)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
@@ -1883,18 +1905,18 @@
case GL_DEPTH24_STENCIL8_OES:
if (!context->getExtensions().depthTextures)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
if (target != TextureType::_2D)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidTextureTarget);
return false;
}
// ANGLE_depth_texture only supports 1-level textures
if (levels != 1)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidMipLevels);
return false;
}
break;
@@ -1905,13 +1927,13 @@
gl::Texture *texture = context->getTargetTexture(target);
if (!texture || texture->id() == 0)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorMissingTexture);
return false;
}
if (texture->getImmutableFormat())
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorTextureIsImmutable);
return false;
}
@@ -1925,7 +1947,7 @@
{
if (!context->getExtensions().discardFramebuffer)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -1938,7 +1960,7 @@
(context->getGLState().getTargetFramebuffer(GL_FRAMEBUFFER)->id() == 0);
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFramebufferTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFramebufferTarget);
return false;
}
@@ -1950,7 +1972,7 @@
{
if (!context->getExtensions().vertexArrayObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -1961,7 +1983,7 @@
{
if (!context->getExtensions().vertexArrayObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -1972,7 +1994,7 @@
{
if (!context->getExtensions().vertexArrayObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -1983,7 +2005,7 @@
{
if (!context->getExtensions().vertexArrayObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -1998,7 +2020,7 @@
{
if (!context->getExtensions().getProgramBinary)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2014,7 +2036,7 @@
{
if (!context->getExtensions().getProgramBinary)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2086,25 +2108,25 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (!ValidDebugSource(source, false) && source != GL_DONT_CARE)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugSource);
return false;
}
if (!ValidDebugType(type) && type != GL_DONT_CARE)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugType);
return false;
}
if (!ValidDebugSeverity(severity) && severity != GL_DONT_CARE)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSeverity);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugSeverity);
return false;
}
@@ -2112,17 +2134,17 @@
{
if (source == GL_DONT_CARE || type == GL_DONT_CARE)
{
- context->handleError(
- InvalidOperation()
- << "If count is greater than zero, source and severity cannot be GL_DONT_CARE.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "If count is greater than zero, source and severity cannot be GL_DONT_CARE.");
return false;
}
if (severity != GL_DONT_CARE)
{
- context->handleError(
- InvalidOperation()
- << "If count is greater than zero, severity must be GL_DONT_CARE.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "If count is greater than zero, severity must be GL_DONT_CARE.");
return false;
}
}
@@ -2140,7 +2162,7 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2153,27 +2175,27 @@
if (!ValidDebugSeverity(severity))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugSource);
return false;
}
if (!ValidDebugType(type))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugType);
return false;
}
if (!ValidDebugSource(source, true))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugSource);
return false;
}
size_t messageLength = (length < 0) ? strlen(buf) : length;
if (messageLength > context->getExtensions().maxDebugMessageLength)
{
- context->handleError(InvalidValue()
- << "Message length is larger than GL_MAX_DEBUG_MESSAGE_LENGTH.");
+ context->validationError(GL_INVALID_VALUE,
+ "Message length is larger than GL_MAX_DEBUG_MESSAGE_LENGTH.");
return false;
}
@@ -2186,7 +2208,7 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2205,13 +2227,13 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (bufSize < 0 && messageLog != nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -2226,30 +2248,30 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (!ValidDebugSource(source, true))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidDebugSource);
return false;
}
size_t messageLength = (length < 0) ? strlen(message) : length;
if (messageLength > context->getExtensions().maxDebugMessageLength)
{
- context->handleError(InvalidValue()
- << "Message length is larger than GL_MAX_DEBUG_MESSAGE_LENGTH.");
+ context->validationError(GL_INVALID_VALUE,
+ "Message length is larger than GL_MAX_DEBUG_MESSAGE_LENGTH.");
return false;
}
size_t currentStackSize = context->getGLState().getDebug().getGroupStackDepth();
if (currentStackSize >= context->getExtensions().maxDebugGroupStackDepth)
{
- context
- ->handleError(StackOverflow()
- << "Cannot push more than GL_MAX_DEBUG_GROUP_STACK_DEPTH debug groups.");
+ context->validationError(
+ GL_STACK_OVERFLOW,
+ "Cannot push more than GL_MAX_DEBUG_GROUP_STACK_DEPTH debug groups.");
return false;
}
@@ -2260,14 +2282,14 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
size_t currentStackSize = context->getGLState().getDebug().getGroupStackDepth();
if (currentStackSize <= 1)
{
- context->handleError(StackUnderflow() << "Cannot pop the default debug group.");
+ context->validationError(GL_STACK_UNDERFLOW, "Cannot pop the default debug group.");
return false;
}
@@ -2281,7 +2303,7 @@
case GL_BUFFER:
if (context->getBuffer(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid buffer.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid buffer.");
return false;
}
return true;
@@ -2289,7 +2311,7 @@
case GL_SHADER:
if (context->getShader(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid shader.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid shader.");
return false;
}
return true;
@@ -2297,7 +2319,7 @@
case GL_PROGRAM:
if (context->getProgramNoResolveLink(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid program.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid program.");
return false;
}
return true;
@@ -2305,7 +2327,7 @@
case GL_VERTEX_ARRAY:
if (context->getVertexArray(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid vertex array.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid vertex array.");
return false;
}
return true;
@@ -2313,7 +2335,7 @@
case GL_QUERY:
if (context->getQuery(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid query.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid query.");
return false;
}
return true;
@@ -2321,7 +2343,8 @@
case GL_TRANSFORM_FEEDBACK:
if (context->getTransformFeedback(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid transform feedback.");
+ context->validationError(GL_INVALID_VALUE,
+ "name is not a valid transform feedback.");
return false;
}
return true;
@@ -2329,7 +2352,7 @@
case GL_SAMPLER:
if (context->getSampler(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid sampler.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid sampler.");
return false;
}
return true;
@@ -2337,7 +2360,7 @@
case GL_TEXTURE:
if (context->getTexture(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid texture.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid texture.");
return false;
}
return true;
@@ -2345,7 +2368,7 @@
case GL_RENDERBUFFER:
if (context->getRenderbuffer(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid renderbuffer.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid renderbuffer.");
return false;
}
return true;
@@ -2353,13 +2376,13 @@
case GL_FRAMEBUFFER:
if (context->getFramebuffer(name) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid framebuffer.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid framebuffer.");
return false;
}
return true;
default:
- context->handleError(InvalidEnum() << "Invalid identifier.");
+ context->validationError(GL_INVALID_ENUM, "Invalid identifier.");
return false;
}
}
@@ -2382,7 +2405,8 @@
if (labelLength > context->getExtensions().maxLabelLength)
{
- context->handleError(InvalidValue() << "Label length is larger than GL_MAX_LABEL_LENGTH.");
+ context->validationError(GL_INVALID_VALUE,
+ "Label length is larger than GL_MAX_LABEL_LENGTH.");
return false;
}
@@ -2397,7 +2421,7 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2423,13 +2447,13 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (bufSize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -2445,7 +2469,7 @@
{
if (context->getSync(reinterpret_cast<GLsync>(const_cast<void *>(ptr))) == nullptr)
{
- context->handleError(InvalidValue() << "name is not a valid sync.");
+ context->validationError(GL_INVALID_VALUE, "name is not a valid sync.");
return false;
}
@@ -2459,7 +2483,7 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2484,13 +2508,13 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (bufSize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -2506,7 +2530,7 @@
{
if (!context->getExtensions().debug)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -2518,7 +2542,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -2549,20 +2573,20 @@
{
if (!context->getExtensions().framebufferBlit)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BlitExtensionNotAvailable);
+ context->validationError(GL_INVALID_OPERATION, kErrorBlitExtensionNotAvailable);
return false;
}
if (srcX1 - srcX0 != dstX1 - dstX0 || srcY1 - srcY0 != dstY1 - dstY0)
{
// TODO(jmadill): Determine if this should be available on other implementations.
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BlitExtensionScaleOrFlip);
+ context->validationError(GL_INVALID_OPERATION, kErrorBlitExtensionScaleOrFlip);
return false;
}
if (filter == GL_LINEAR)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), BlitExtensionLinear);
+ context->validationError(GL_INVALID_ENUM, kErrorBlitExtensionLinear);
return false;
}
@@ -2581,8 +2605,8 @@
readColorAttachment->type() != GL_RENDERBUFFER &&
readColorAttachment->type() != GL_FRAMEBUFFER_DEFAULT)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionFromInvalidAttachmentType);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionFromInvalidAttachmentType);
return false;
}
@@ -2598,8 +2622,8 @@
attachment->type() != GL_RENDERBUFFER &&
attachment->type() != GL_FRAMEBUFFER_DEFAULT)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionToInvalidAttachmentType);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionToInvalidAttachmentType);
return false;
}
@@ -2607,8 +2631,8 @@
if (!Format::EquivalentForBlit(attachment->getFormat(),
readColorAttachment->getFormat()))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionFormatMismatch);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionFormatMismatch);
return false;
}
}
@@ -2619,8 +2643,8 @@
IsPartialBlit(context, readColorAttachment, drawColorAttachment, srcX0, srcY0,
srcX1, srcY1, dstX0, dstY0, dstX1, dstY1))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionMultisampledWholeBufferBlit);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionMultisampledWholeBufferBlit);
return false;
}
}
@@ -2643,15 +2667,15 @@
dstX0, dstY0, dstX1, dstY1))
{
// only whole-buffer copies are permitted
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionDepthStencilWholeBufferBlit);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionDepthStencilWholeBufferBlit);
return false;
}
if (readBuffer->getSamples() != 0 || drawBuffer->getSamples() != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- BlitExtensionMultisampledDepthOrStencil);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorBlitExtensionMultisampledDepthOrStencil);
return false;
}
}
@@ -2674,7 +2698,7 @@
if ((mask & ~(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT)) != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidClearMask);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidClearMask);
return false;
}
@@ -2700,10 +2724,11 @@
Framebuffer *framebuffer = state.getDrawFramebuffer();
if (framebuffer->getNumViews() > 1 && state.isQueryActive(QueryType::TimeElapsed))
{
- context->handleError(InvalidOperation() << "There is an active query for target "
- "GL_TIME_ELAPSED_EXT when the number of "
- "views in the active draw framebuffer is "
- "greater than 1.");
+ context->validationError(GL_INVALID_OPERATION,
+ "There is an active query for target "
+ "GL_TIME_ELAPSED_EXT when the number of "
+ "views in the active draw framebuffer is "
+ "greater than 1.");
return false;
}
}
@@ -2715,7 +2740,7 @@
{
if (!context->getExtensions().drawBuffers)
{
- context->handleError(InvalidOperation() << "Extension not supported.");
+ context->validationError(GL_INVALID_OPERATION, "Extension not supported.");
return false;
}
@@ -2863,19 +2888,20 @@
GLuint blockSize = 0;
if (!formatInfo.computeCompressedImageSize(gl::Extents(width, height, 1), &blockSize))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
if (imageSize < 0 || static_cast<GLuint>(imageSize) != blockSize)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), CompressedTextureDimensionsMustMatchData);
+ context->validationError(GL_INVALID_VALUE, kErrorCompressedTextureDimensionsMustMatchData);
return false;
}
if (target == TextureTarget::Rectangle)
{
- context->handleError(InvalidEnum() << "Rectangle texture cannot have a compressed format.");
+ context->validationError(GL_INVALID_ENUM,
+ "Rectangle texture cannot have a compressed format.");
return false;
}
@@ -2957,13 +2983,13 @@
GLuint blockSize = 0;
if (!formatInfo.computeCompressedImageSize(gl::Extents(width, height, 1), &blockSize))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
if (imageSize < 0 || static_cast<GLuint>(imageSize) != blockSize)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidCompressedImageSize);
return false;
}
@@ -2982,13 +3008,13 @@
{
if (!context->getExtensions().mapBuffer)
{
- context->handleError(InvalidOperation() << "Map buffer extension not available.");
+ context->validationError(GL_INVALID_OPERATION, "Map buffer extension not available.");
return false;
}
if (!context->isValidBufferBinding(target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBufferTypes);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBufferTypes);
return false;
}
@@ -2996,19 +3022,19 @@
if (buffer == nullptr)
{
- context->handleError(InvalidOperation() << "Attempted to map buffer object zero.");
+ context->validationError(GL_INVALID_OPERATION, "Attempted to map buffer object zero.");
return false;
}
if (access != GL_WRITE_ONLY_OES)
{
- context->handleError(InvalidEnum() << "Non-write buffer mapping not supported.");
+ context->validationError(GL_INVALID_ENUM, "Non-write buffer mapping not supported.");
return false;
}
if (buffer->isMapped())
{
- context->handleError(InvalidOperation() << "Buffer is already mapped.");
+ context->validationError(GL_INVALID_OPERATION, "Buffer is already mapped.");
return false;
}
@@ -3019,7 +3045,7 @@
{
if (!context->getExtensions().mapBuffer)
{
- context->handleError(InvalidOperation() << "Map buffer extension not available.");
+ context->validationError(GL_INVALID_OPERATION, "Map buffer extension not available.");
return false;
}
@@ -3034,7 +3060,7 @@
{
if (!context->getExtensions().mapBufferRange)
{
- context->handleError(InvalidOperation() << "Map buffer range extension not available.");
+ context->validationError(GL_INVALID_OPERATION, "Map buffer range extension not available.");
return false;
}
@@ -3055,8 +3081,8 @@
const auto &transformFeedbackBuffer = transformFeedback->getIndexedBuffer(i);
if (transformFeedbackBuffer.get() == buffer)
{
- context->handleError(InvalidOperation()
- << "Buffer is currently bound for transform feedback.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Buffer is currently bound for transform feedback.");
return false;
}
}
@@ -3065,7 +3091,7 @@
if (context->getExtensions().webglCompatibility &&
buffer->isBoundForTransformFeedbackAndOtherUse())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferBoundForTransformFeedback);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferBoundForTransformFeedback);
return false;
}
@@ -3079,7 +3105,7 @@
{
if (!context->getExtensions().mapBufferRange)
{
- context->handleError(InvalidOperation() << "Map buffer range extension not available.");
+ context->validationError(GL_INVALID_OPERATION, "Map buffer range extension not available.");
return false;
}
@@ -3102,14 +3128,14 @@
Texture *textureObject = context->getTexture(texture);
if (textureObject && textureObject->getType() != target)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMismatch);
+ context->validationError(GL_INVALID_OPERATION, kErrorTypeMismatch);
return false;
}
if (!context->getGLState().isBindGeneratesResourceEnabled() &&
!context->isTextureGenerated(texture))
{
- context->handleError(InvalidOperation() << "Texture was not generated");
+ context->validationError(GL_INVALID_OPERATION, "Texture was not generated");
return false;
}
@@ -3123,8 +3149,8 @@
{
if (!context->getExtensions().bindUniformLocation)
{
- context->handleError(InvalidOperation()
- << "GL_CHROMIUM_bind_uniform_location is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_bind_uniform_location is not available.");
return false;
}
@@ -3136,7 +3162,7 @@
if (location < 0)
{
- context->handleError(InvalidValue() << "Location cannot be less than 0.");
+ context->validationError(GL_INVALID_VALUE, "Location cannot be less than 0.");
return false;
}
@@ -3144,9 +3170,10 @@
if (static_cast<size_t>(location) >=
(caps.maxVertexUniformVectors + caps.maxFragmentUniformVectors) * 4)
{
- context->handleError(InvalidValue() << "Location must be less than "
- "(MAX_VERTEX_UNIFORM_VECTORS + "
- "MAX_FRAGMENT_UNIFORM_VECTORS) * 4");
+ context->validationError(GL_INVALID_VALUE,
+ "Location must be less than "
+ "(MAX_VERTEX_UNIFORM_VECTORS + "
+ "MAX_FRAGMENT_UNIFORM_VECTORS) * 4");
return false;
}
@@ -3154,13 +3181,13 @@
// shader-related entry points
if (context->getExtensions().webglCompatibility && !IsValidESSLString(name, strlen(name)))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidNameCharacters);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidNameCharacters);
return false;
}
if (strncmp(name, "gl_", 3) == 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NameBeginsWithGL);
+ context->validationError(GL_INVALID_VALUE, kErrorNameBeginsWithGL);
return false;
}
@@ -3171,8 +3198,8 @@
{
if (!context->getExtensions().framebufferMixedSamples)
{
- context->handleError(InvalidOperation()
- << "GL_CHROMIUM_framebuffer_mixed_samples is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_framebuffer_mixed_samples is not available.");
return false;
}
switch (components)
@@ -3183,9 +3210,9 @@
case GL_NONE:
break;
default:
- context->handleError(
- InvalidEnum()
- << "GLenum components is not one of GL_RGB, GL_RGBA, GL_ALPHA or GL_NONE.");
+ context->validationError(
+ GL_INVALID_ENUM,
+ "GLenum components is not one of GL_RGB, GL_RGBA, GL_ALPHA or GL_NONE.");
return false;
}
@@ -3203,7 +3230,7 @@
if (matrix == nullptr)
{
- context->handleError(InvalidOperation() << "Invalid matrix.");
+ context->validationError(GL_INVALID_OPERATION, "Invalid matrix.");
return false;
}
@@ -3219,7 +3246,8 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
@@ -3227,13 +3255,13 @@
// we add stricter semantic check here and require a non zero positive range.
if (range <= 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidRange);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidRange);
return false;
}
if (!angle::IsValueInRangeForNumericType<std::uint32_t>(range))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
@@ -3244,7 +3272,8 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
@@ -3252,7 +3281,7 @@
// we add stricter semantic check here and require a non zero positive range.
if (range <= 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidRange);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidRange);
return false;
}
@@ -3261,7 +3290,7 @@
if (!angle::IsValueInRangeForNumericType<std::uint32_t>(range) || !checkedRange.IsValid())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
return true;
@@ -3277,39 +3306,40 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (!context->isPathGenerated(path))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
if (numCommands < 0)
{
- context->handleError(InvalidValue() << "Invalid number of commands.");
+ context->validationError(GL_INVALID_VALUE, "Invalid number of commands.");
return false;
}
else if (numCommands > 0)
{
if (!commands)
{
- context->handleError(InvalidValue() << "No commands array given.");
+ context->validationError(GL_INVALID_VALUE, "No commands array given.");
return false;
}
}
if (numCoords < 0)
{
- context->handleError(InvalidValue() << "Invalid number of coordinates.");
+ context->validationError(GL_INVALID_VALUE, "Invalid number of coordinates.");
return false;
}
else if (numCoords > 0)
{
if (!coords)
{
- context->handleError(InvalidValue() << "No coordinate array given.");
+ context->validationError(GL_INVALID_VALUE, "No coordinate array given.");
return false;
}
}
@@ -3338,7 +3368,7 @@
break;
default:
- context->handleError(InvalidEnum() << "Invalid coordinate type.");
+ context->validationError(GL_INVALID_ENUM, "Invalid coordinate type.");
return false;
}
@@ -3346,7 +3376,7 @@
checkedSize += (coordTypeSize * numCoords);
if (!checkedSize.IsValid())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), IntegerOverflow);
+ context->validationError(GL_INVALID_OPERATION, kErrorIntegerOverflow);
return false;
}
@@ -3375,13 +3405,13 @@
expectedNumCoords += 5;
break;
default:
- context->handleError(InvalidEnum() << "Invalid command.");
+ context->validationError(GL_INVALID_ENUM, "Invalid command.");
return false;
}
}
if (expectedNumCoords != numCoords)
{
- context->handleError(InvalidValue() << "Invalid number of coordinates.");
+ context->validationError(GL_INVALID_VALUE, "Invalid number of coordinates.");
return false;
}
@@ -3392,12 +3422,13 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (!context->isPathGenerated(path))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
@@ -3406,7 +3437,7 @@
case GL_PATH_STROKE_WIDTH_CHROMIUM:
if (value < 0.0f)
{
- context->handleError(InvalidValue() << "Invalid stroke width.");
+ context->validationError(GL_INVALID_VALUE, "Invalid stroke width.");
return false;
}
break;
@@ -3418,7 +3449,7 @@
case GL_ROUND_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid end caps.");
+ context->validationError(GL_INVALID_ENUM, "Invalid end caps.");
return false;
}
break;
@@ -3430,14 +3461,14 @@
case GL_ROUND_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid join style.");
+ context->validationError(GL_INVALID_ENUM, "Invalid join style.");
return false;
}
break;
case GL_PATH_MITER_LIMIT_CHROMIUM:
if (value < 0.0f)
{
- context->handleError(InvalidValue() << "Invalid miter limit.");
+ context->validationError(GL_INVALID_VALUE, "Invalid miter limit.");
return false;
}
break;
@@ -3447,7 +3478,7 @@
break;
default:
- context->handleError(InvalidEnum() << "Invalid path parameter.");
+ context->validationError(GL_INVALID_ENUM, "Invalid path parameter.");
return false;
}
return true;
@@ -3463,18 +3494,19 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (!context->isPathGenerated(path))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
if (!value)
{
- context->handleError(InvalidValue() << "No value array.");
+ context->validationError(GL_INVALID_VALUE, "No value array.");
return false;
}
@@ -3488,7 +3520,7 @@
break;
default:
- context->handleError(InvalidEnum() << "Invalid path parameter.");
+ context->validationError(GL_INVALID_ENUM, "Invalid path parameter.");
return false;
}
@@ -3505,7 +3537,8 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
@@ -3521,7 +3554,7 @@
case GL_NOTEQUAL:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -3538,12 +3571,13 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (context->isPathGenerated(path) && !context->isPath(path))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
@@ -3553,13 +3587,13 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidStencilBitMask);
return false;
}
@@ -3570,12 +3604,13 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (context->isPathGenerated(path) && !context->isPath(path))
{
- context->handleError(InvalidOperation() << "No such path or path has no data.");
+ context->validationError(GL_INVALID_OPERATION, "No such path or path has no data.");
return false;
}
@@ -3586,12 +3621,13 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
if (context->isPathGenerated(path) && !context->isPath(path))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
+ context->validationError(GL_INVALID_OPERATION, kErrorNoSuchPath);
return false;
}
@@ -3601,7 +3637,7 @@
case GL_BOUNDING_BOX_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCoverMode);
return false;
}
return true;
@@ -3641,7 +3677,8 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
return true;
@@ -3667,7 +3704,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCoverMode);
return false;
}
@@ -3694,7 +3731,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCoverMode);
return false;
}
@@ -3722,12 +3759,12 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidStencilBitMask);
return false;
}
return true;
@@ -3774,7 +3811,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCoverMode);
return false;
}
@@ -3784,12 +3821,12 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidStencilBitMask);
return false;
}
@@ -3818,7 +3855,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCoverMode);
return false;
}
@@ -3832,33 +3869,34 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
const GLint MaxLocation = context->getCaps().maxVaryingVectors * 4;
if (location >= MaxLocation)
{
- context->handleError(InvalidValue() << "Location exceeds max varying.");
+ context->validationError(GL_INVALID_VALUE, "Location exceeds max varying.");
return false;
}
const auto *programObject = context->getProgramNoResolveLink(program);
if (!programObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotBound);
return false;
}
if (!name)
{
- context->handleError(InvalidValue() << "No name given.");
+ context->validationError(GL_INVALID_VALUE, "No name given.");
return false;
}
if (angle::BeginsWith(name, "gl_"))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NameBeginsWithGL);
+ context->validationError(GL_INVALID_OPERATION, kErrorNameBeginsWithGL);
return false;
}
@@ -3874,20 +3912,21 @@
{
if (!context->getExtensions().pathRendering)
{
- context->handleError(InvalidOperation() << "GL_CHROMIUM_path_rendering is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_path_rendering is not available.");
return false;
}
const auto *programObject = context->getProgramResolveLink(program);
if (!programObject || programObject->isFlaggedForDeletion())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramDoesNotExist);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramDoesNotExist);
return false;
}
if (!programObject->isLinked())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotLinked);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotLinked);
return false;
}
@@ -3896,7 +3935,7 @@
case GL_NONE:
if (components != 0)
{
- context->handleError(InvalidValue() << "Invalid components.");
+ context->validationError(GL_INVALID_VALUE, "Invalid components.");
return false;
}
break;
@@ -3906,18 +3945,18 @@
case GL_CONSTANT_CHROMIUM:
if (components < 1 || components > 4)
{
- context->handleError(InvalidValue() << "Invalid components.");
+ context->validationError(GL_INVALID_VALUE, "Invalid components.");
return false;
}
if (!coeffs)
{
- context->handleError(InvalidValue() << "No coefficients array given.");
+ context->validationError(GL_INVALID_VALUE, "No coefficients array given.");
return false;
}
break;
default:
- context->handleError(InvalidEnum() << "Invalid gen mode.");
+ context->validationError(GL_INVALID_ENUM, "Invalid gen mode.");
return false;
}
@@ -3930,7 +3969,7 @@
if (!binding.valid)
{
- context->handleError(InvalidOperation() << "No such binding.");
+ context->validationError(GL_INVALID_OPERATION, "No such binding.");
return false;
}
@@ -3952,14 +3991,14 @@
expectedComponents = 4;
break;
default:
- context->handleError(
- InvalidOperation()
- << "Fragment input type is not a floating point scalar or vector.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "Fragment input type is not a floating point scalar or vector.");
return false;
}
if (expectedComponents != components && genMode != GL_NONE)
{
- context->handleError(InvalidOperation() << "Unexpected number of components");
+ context->validationError(GL_INVALID_OPERATION, "Unexpected number of components");
return false;
}
}
@@ -3980,21 +4019,21 @@
{
if (!context->getExtensions().copyTexture)
{
- context->handleError(InvalidOperation()
- << "GL_CHROMIUM_copy_texture extension not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_copy_texture extension not available.");
return false;
}
const Texture *source = context->getTexture(sourceId);
if (source == nullptr)
{
- context->handleError(InvalidValue() << "Source texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE, "Source texture is not a valid texture object.");
return false;
}
if (!IsValidCopyTextureSourceTarget(context, source->getType()))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
@@ -4004,7 +4043,7 @@
if (!IsValidCopyTextureSourceLevel(context, sourceType, sourceLevel))
{
- context->handleError(InvalidValue() << "Source texture level is not valid.");
+ context->validationError(GL_INVALID_VALUE, "Source texture level is not valid.");
return false;
}
@@ -4012,41 +4051,42 @@
GLsizei sourceHeight = static_cast<GLsizei>(source->getHeight(sourceTarget, sourceLevel));
if (sourceWidth == 0 || sourceHeight == 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
const InternalFormat &sourceFormat = *source->getFormat(sourceTarget, sourceLevel).info;
if (!IsValidCopyTextureSourceInternalFormatEnum(sourceFormat.internalFormat))
{
- context->handleError(InvalidOperation() << "Source texture internal format is invalid.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Source texture internal format is invalid.");
return false;
}
if (!IsValidCopyTextureDestinationTargetEnum(context, destTarget))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
const Texture *dest = context->getTexture(destId);
if (dest == nullptr)
{
- context->handleError(InvalidValue()
- << "Destination texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE,
+ "Destination texture is not a valid texture object.");
return false;
}
if (!IsValidCopyTextureDestinationTarget(context, dest->getType(), destTarget))
{
- context->handleError(InvalidValue() << "Destination texture a valid texture type.");
+ context->validationError(GL_INVALID_VALUE, "Destination texture a valid texture type.");
return false;
}
if (!IsValidCopyTextureDestinationLevel(context, dest->getType(), destLevel, sourceWidth,
sourceHeight, false))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidMipLevel);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
@@ -4057,14 +4097,14 @@
if (dest->getType() == TextureType::CubeMap && sourceWidth != sourceHeight)
{
- context->handleError(
- InvalidValue() << "Destination width and height must be equal for cube map textures.");
+ context->validationError(
+ GL_INVALID_VALUE, "Destination width and height must be equal for cube map textures.");
return false;
}
if (dest->getImmutableFormat())
{
- context->handleError(InvalidOperation() << "Destination texture is immutable.");
+ context->validationError(GL_INVALID_OPERATION, "Destination texture is immutable.");
return false;
}
@@ -4089,21 +4129,21 @@
{
if (!context->getExtensions().copyTexture)
{
- context->handleError(InvalidOperation()
- << "GL_CHROMIUM_copy_texture extension not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_copy_texture extension not available.");
return false;
}
const Texture *source = context->getTexture(sourceId);
if (source == nullptr)
{
- context->handleError(InvalidValue() << "Source texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE, "Source texture is not a valid texture object.");
return false;
}
if (!IsValidCopyTextureSourceTarget(context, source->getType()))
{
- context->handleError(InvalidValue() << "Source texture a valid texture type.");
+ context->validationError(GL_INVALID_VALUE, "Source texture a valid texture type.");
return false;
}
@@ -4113,97 +4153,98 @@
if (!IsValidCopyTextureSourceLevel(context, sourceType, sourceLevel))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidMipLevel);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
if (source->getWidth(sourceTarget, sourceLevel) == 0 ||
source->getHeight(sourceTarget, sourceLevel) == 0)
{
- context->handleError(InvalidValue()
- << "The source level of the source texture must be defined.");
+ context->validationError(GL_INVALID_VALUE,
+ "The source level of the source texture must be defined.");
return false;
}
if (x < 0 || y < 0)
{
- context->handleError(InvalidValue() << "x and y cannot be negative.");
+ context->validationError(GL_INVALID_VALUE, "x and y cannot be negative.");
return false;
}
if (width < 0 || height < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeSize);
return false;
}
if (static_cast<size_t>(x + width) > source->getWidth(sourceTarget, sourceLevel) ||
static_cast<size_t>(y + height) > source->getHeight(sourceTarget, sourceLevel))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), SourceTextureTooSmall);
+ context->validationError(GL_INVALID_VALUE, kErrorSourceTextureTooSmall);
return false;
}
const Format &sourceFormat = source->getFormat(sourceTarget, sourceLevel);
if (!IsValidCopySubTextureSourceInternalFormat(sourceFormat.info->internalFormat))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidInternalFormat);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidInternalFormat);
return false;
}
if (!IsValidCopyTextureDestinationTargetEnum(context, destTarget))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
const Texture *dest = context->getTexture(destId);
if (dest == nullptr)
{
- context->handleError(InvalidValue()
- << "Destination texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE,
+ "Destination texture is not a valid texture object.");
return false;
}
if (!IsValidCopyTextureDestinationTarget(context, dest->getType(), destTarget))
{
- context->handleError(InvalidValue() << "Destination texture a valid texture type.");
+ context->validationError(GL_INVALID_VALUE, "Destination texture a valid texture type.");
return false;
}
if (!IsValidCopyTextureDestinationLevel(context, dest->getType(), destLevel, width, height,
true))
{
- context->handleError(InvalidValue() << "Destination texture level is not valid.");
+ context->validationError(GL_INVALID_VALUE, "Destination texture level is not valid.");
return false;
}
if (dest->getWidth(destTarget, destLevel) == 0 || dest->getHeight(destTarget, destLevel) == 0)
{
- context
- ->handleError(InvalidOperation()
- << "The destination level of the destination texture must be defined.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "The destination level of the destination texture must be defined.");
return false;
}
const InternalFormat &destFormat = *dest->getFormat(destTarget, destLevel).info;
if (!IsValidCopySubTextureDestionationInternalFormat(destFormat.internalFormat))
{
- context->handleError(InvalidOperation()
- << "Destination internal format and type combination is not valid.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Destination internal format and type combination is not valid.");
return false;
}
if (xoffset < 0 || yoffset < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeOffset);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeOffset);
return false;
}
if (static_cast<size_t>(xoffset + width) > dest->getWidth(destTarget, destLevel) ||
static_cast<size_t>(yoffset + height) > dest->getHeight(destTarget, destLevel))
{
- context->handleError(InvalidValue() << "Destination texture not large enough to copy to.");
+ context->validationError(GL_INVALID_VALUE,
+ "Destination texture not large enough to copy to.");
return false;
}
@@ -4214,57 +4255,57 @@
{
if (!context->getExtensions().copyCompressedTexture)
{
- context->handleError(InvalidOperation()
- << "GL_CHROMIUM_copy_compressed_texture extension not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_CHROMIUM_copy_compressed_texture extension not available.");
return false;
}
const gl::Texture *source = context->getTexture(sourceId);
if (source == nullptr)
{
- context->handleError(InvalidValue() << "Source texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE, "Source texture is not a valid texture object.");
return false;
}
if (source->getType() != TextureType::_2D)
{
- context->handleError(InvalidValue() << "Source texture must be of type GL_TEXTURE_2D.");
+ context->validationError(GL_INVALID_VALUE, "Source texture must be of type GL_TEXTURE_2D.");
return false;
}
if (source->getWidth(TextureTarget::_2D, 0) == 0 ||
source->getHeight(TextureTarget::_2D, 0) == 0)
{
- context->handleError(InvalidValue() << "Source texture must level 0 defined.");
+ context->validationError(GL_INVALID_VALUE, "Source texture must level 0 defined.");
return false;
}
const gl::Format &sourceFormat = source->getFormat(TextureTarget::_2D, 0);
if (!sourceFormat.info->compressed)
{
- context->handleError(InvalidOperation()
- << "Source texture must have a compressed internal format.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Source texture must have a compressed internal format.");
return false;
}
const gl::Texture *dest = context->getTexture(destId);
if (dest == nullptr)
{
- context->handleError(InvalidValue()
- << "Destination texture is not a valid texture object.");
+ context->validationError(GL_INVALID_VALUE,
+ "Destination texture is not a valid texture object.");
return false;
}
if (dest->getType() != TextureType::_2D)
{
- context->handleError(InvalidValue()
- << "Destination texture must be of type GL_TEXTURE_2D.");
+ context->validationError(GL_INVALID_VALUE,
+ "Destination texture must be of type GL_TEXTURE_2D.");
return false;
}
if (dest->getImmutableFormat())
{
- context->handleError(InvalidOperation() << "Destination cannot be immutable.");
+ context->validationError(GL_INVALID_OPERATION, "Destination cannot be immutable.");
return false;
}
@@ -4282,7 +4323,7 @@
case ShaderType::Compute:
if (context->getClientVersion() < Version(3, 1))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), ES31Required);
+ context->validationError(GL_INVALID_ENUM, kErrorES31Required);
return false;
}
break;
@@ -4290,12 +4331,12 @@
case ShaderType::Geometry:
if (!context->getExtensions().geometryShader)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidShaderType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidShaderType);
return false;
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidShaderType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidShaderType);
return false;
}
@@ -4310,7 +4351,7 @@
{
if (size < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeSize);
return false;
}
@@ -4329,19 +4370,19 @@
case BufferUsage::DynamicCopy:
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBufferUsage);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBufferUsage);
return false;
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBufferUsage);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBufferUsage);
return false;
}
if (!context->isValidBufferBinding(target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBufferTypes);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBufferTypes);
return false;
}
@@ -4349,14 +4390,14 @@
if (!buffer)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferNotBound);
return false;
}
if (context->getExtensions().webglCompatibility &&
buffer->isBoundForTransformFeedbackAndOtherUse())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferBoundForTransformFeedback);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferBoundForTransformFeedback);
return false;
}
@@ -4371,19 +4412,19 @@
{
if (size < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeSize);
return false;
}
if (offset < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeOffset);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeOffset);
return false;
}
if (!context->isValidBufferBinding(target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBufferTypes);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBufferTypes);
return false;
}
@@ -4391,20 +4432,20 @@
if (!buffer)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferNotBound);
return false;
}
if (buffer->isMapped())
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferMapped);
return false;
}
if (context->getExtensions().webglCompatibility &&
buffer->isBoundForTransformFeedbackAndOtherUse())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), BufferBoundForTransformFeedback);
+ context->validationError(GL_INVALID_OPERATION, kErrorBufferBoundForTransformFeedback);
return false;
}
@@ -4413,13 +4454,13 @@
checkedSize += offset;
if (!checkedSize.IsValid())
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorParamOverflow);
return false;
}
if (size + offset > buffer->getSize())
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InsufficientBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorInsufficientBufferSize);
return false;
}
@@ -4430,13 +4471,14 @@
{
if (!context->getExtensions().requestExtension)
{
- context->handleError(InvalidOperation() << "GL_ANGLE_request_extension is not available.");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_ANGLE_request_extension is not available.");
return false;
}
if (!context->isExtensionRequestable(name))
{
- context->handleError(InvalidOperation() << "Extension " << name << " is not requestable.");
+ context->validationError(GL_INVALID_OPERATION, "Extension is not requestable.");
return false;
}
@@ -4453,7 +4495,7 @@
if (texture < GL_TEXTURE0 ||
texture > GL_TEXTURE0 + context->getCaps().maxCombinedTextureImageUnits - 1)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCombinedImageUnit);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCombinedImageUnit);
return false;
}
@@ -4476,7 +4518,7 @@
if (programObject->getAttachedShader(shaderObject->getType()))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ShaderAttachmentHasShader);
+ context->validationError(GL_INVALID_OPERATION, kErrorShaderAttachmentHasShader);
return false;
}
@@ -4487,13 +4529,13 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxVertexAttribute);
return false;
}
if (strncmp(name, "gl_", 3) == 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NameBeginsWithGL);
+ context->validationError(GL_INVALID_OPERATION, kErrorNameBeginsWithGL);
return false;
}
@@ -4505,7 +4547,7 @@
{
// The WebGL spec (section 6.20) disallows strings containing invalid ESSL characters
// for shader-related entry points
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidNameCharacters);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidNameCharacters);
return false;
}
@@ -4540,14 +4582,14 @@
{
if (target != GL_RENDERBUFFER)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidRenderbufferTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidRenderbufferTarget);
return false;
}
if (!context->getGLState().isBindGeneratesResourceEnabled() &&
!context->isRenderbufferGenerated(renderbuffer))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ObjectNotGenerated);
+ context->validationError(GL_INVALID_OPERATION, kErrorObjectNotGenerated);
return false;
}
@@ -4581,7 +4623,7 @@
{
if (!ValidBlendEquationMode(context, mode))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendEquation);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendEquation);
return false;
}
@@ -4592,13 +4634,13 @@
{
if (!ValidBlendEquationMode(context, modeRGB))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendEquation);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendEquation);
return false;
}
if (!ValidBlendEquationMode(context, modeAlpha))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendEquation);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendEquation);
return false;
}
@@ -4618,25 +4660,25 @@
{
if (!ValidSrcBlendFunc(context, srcRGB))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendFunction);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendFunction);
return false;
}
if (!ValidDstBlendFunc(context, dstRGB))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendFunction);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendFunction);
return false;
}
if (!ValidSrcBlendFunc(context, srcAlpha))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendFunction);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendFunction);
return false;
}
if (!ValidDstBlendFunc(context, dstAlpha))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidBlendFunction);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidBlendFunction);
return false;
}
@@ -4666,7 +4708,7 @@
"implementation.";
WARN() << msg;
}
- context->handleError(InvalidOperation() << msg);
+ context->validationError(GL_INVALID_OPERATION, msg);
return false;
}
}
@@ -4688,13 +4730,13 @@
case GL_REQUESTABLE_EXTENSIONS_ANGLE:
if (!context->getExtensions().requestExtension)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidName);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidName);
return false;
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidName);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidName);
return false;
}
@@ -4705,7 +4747,7 @@
{
if (width <= 0.0f || isNaN(width))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidWidth);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidWidth);
return false;
}
@@ -4727,7 +4769,7 @@
if (stride < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeStride);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeStride);
return false;
}
@@ -4736,15 +4778,15 @@
{
if (stride > caps.maxVertexAttribStride)
{
- context->handleError(InvalidValue()
- << "stride cannot be greater than MAX_VERTEX_ATTRIB_STRIDE.");
+ context->validationError(GL_INVALID_VALUE,
+ "stride cannot be greater than MAX_VERTEX_ATTRIB_STRIDE.");
return false;
}
if (index >= caps.maxVertexAttribBindings)
{
- context->handleError(InvalidValue()
- << "index must be smaller than MAX_VERTEX_ATTRIB_BINDINGS.");
+ context->validationError(GL_INVALID_VALUE,
+ "index must be smaller than MAX_VERTEX_ATTRIB_BINDINGS.");
return false;
}
}
@@ -4758,9 +4800,9 @@
if (!nullBufferAllowed && context->getGLState().getTargetBuffer(BufferBinding::Array) == 0 &&
ptr != nullptr)
{
- context
- ->handleError(InvalidOperation()
- << "Client data cannot be used with a non-default vertex array object.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "Client data cannot be used with a non-default vertex array object.");
return false;
}
@@ -4770,7 +4812,7 @@
// The WebGL API does not support the GL_FIXED data type.
if (type == GL_FIXED)
{
- context->handleError(InvalidEnum() << "GL_FIXED is not supported in WebGL.");
+ context->validationError(GL_INVALID_ENUM, "GL_FIXED is not supported in WebGL.");
return false;
}
@@ -4787,7 +4829,7 @@
{
if (context->getExtensions().webglCompatibility && zNear > zFar)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidDepthRange);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidDepthRange);
return false;
}
@@ -4813,17 +4855,17 @@
{
if (!context->getExtensions().framebufferMultisample)
{
- context->handleError(InvalidOperation()
- << "GL_ANGLE_framebuffer_multisample not available");
+ context->validationError(GL_INVALID_OPERATION,
+ "GL_ANGLE_framebuffer_multisample not available");
return false;
}
// ANGLE_framebuffer_multisample states that the value of samples must be less than or equal
- // to MAX_SAMPLES_ANGLE (Context::getCaps().maxSamples) otherwise GL_INVALID_OPERATION is
+ // to MAX_SAMPLES_ANGLE (Context::getCaps().maxSamples) otherwise GL_INVALID_VALUE is
// generated.
if (static_cast<GLuint>(samples) > context->getCaps().maxSamples)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorSamplesOutOfRange);
return false;
}
@@ -4836,7 +4878,7 @@
const TextureCaps &formatCaps = context->getTextureCaps().get(internalformat);
if (static_cast<GLuint>(samples) > formatCaps.getMaxSamples())
{
- context->handleError(OutOfMemory());
+ context->validationError(GL_OUT_OF_MEMORY, kErrorSamplesOutOfRange);
return false;
}
}
@@ -4849,7 +4891,7 @@
{
if (!ValidFramebufferTarget(context, target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFramebufferTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFramebufferTarget);
return false;
}
@@ -4900,7 +4942,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCullMode);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidCullMode);
return false;
}
@@ -4918,12 +4960,12 @@
{
if (context->getShader(program))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExpectedProgramName);
+ context->validationError(GL_INVALID_OPERATION, kErrorExpectedProgramName);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidProgramName);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidProgramName);
return false;
}
}
@@ -4942,12 +4984,12 @@
{
if (context->getProgramResolveLink(shader))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidShaderName);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidShaderName);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), ExpectedShaderName);
+ context->validationError(GL_INVALID_VALUE, kErrorExpectedShaderName);
return false;
}
}
@@ -4970,7 +5012,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -4999,7 +5041,7 @@
const Shader *attachedShader = programObject->getAttachedShader(shaderObject->getType());
if (attachedShader != shaderObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ShaderToDetachMustBeAttached);
+ context->validationError(GL_INVALID_OPERATION, kErrorShaderToDetachMustBeAttached);
return false;
}
@@ -5010,7 +5052,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxVertexAttribute);
return false;
}
@@ -5021,7 +5063,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxVertexAttribute);
return false;
}
@@ -5046,7 +5088,7 @@
case GL_CCW:
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5064,7 +5106,7 @@
{
if (bufsize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -5077,7 +5119,7 @@
if (index >= static_cast<GLuint>(programObject->getActiveAttributeCount()))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxActiveUniform);
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxActiveUniform);
return false;
}
@@ -5095,7 +5137,7 @@
{
if (bufsize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -5108,7 +5150,7 @@
if (index >= static_cast<GLuint>(programObject->getActiveUniformCount()))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxActiveUniform);
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxActiveUniform);
return false;
}
@@ -5123,7 +5165,7 @@
{
if (maxcount < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeMaxCount);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeMaxCount);
return false;
}
@@ -5143,7 +5185,7 @@
// shader-related entry points
if (context->getExtensions().webglCompatibility && !IsValidESSLString(name, strlen(name)))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidNameCharacters);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidNameCharacters);
return false;
}
@@ -5151,13 +5193,13 @@
if (!programObject)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotBound);
return false;
}
if (!programObject->isLinked())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotLinked);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotLinked);
return false;
}
@@ -5198,7 +5240,7 @@
{
if (bufsize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -5219,7 +5261,7 @@
{
if (bufsize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -5244,11 +5286,11 @@
case GL_FRAGMENT_SHADER:
break;
case GL_COMPUTE_SHADER:
- context->handleError(InvalidOperation()
- << "compute shader precision not yet implemented.");
+ context->validationError(GL_INVALID_OPERATION,
+ "compute shader precision not yet implemented.");
return false;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidShaderType);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidShaderType);
return false;
}
@@ -5263,7 +5305,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidPrecision);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidPrecision);
return false;
}
@@ -5278,7 +5320,7 @@
{
if (bufsize < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeBufferSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -5302,7 +5344,7 @@
// shader-related entry points
if (context->getExtensions().webglCompatibility && !IsValidESSLString(name, strlen(name)))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidNameCharacters);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidNameCharacters);
return false;
}
@@ -5315,7 +5357,7 @@
if (!programObject->isLinked())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotLinked);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotLinked);
return false;
}
@@ -5332,7 +5374,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5345,7 +5387,8 @@
if (context->getClientVersion() < ES_3_0 &&
!context->getExtensions().standardDerivatives)
{
- context->handleError(InvalidEnum() << "hint requires OES_standard_derivatives.");
+ context->validationError(GL_INVALID_ENUM,
+ "hint requires OES_standard_derivatives.");
return false;
}
break;
@@ -5356,13 +5399,13 @@
case GL_FOG_HINT:
if (context->getClientMajorVersion() >= 2)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5407,7 +5450,7 @@
{
case GL_UNPACK_IMAGE_HEIGHT:
case GL_UNPACK_SKIP_IMAGES:
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidPname);
return false;
case GL_UNPACK_ROW_LENGTH:
@@ -5415,7 +5458,7 @@
case GL_UNPACK_SKIP_PIXELS:
if (!context->getExtensions().unpackSubimage)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidPname);
return false;
}
break;
@@ -5425,7 +5468,7 @@
case GL_PACK_SKIP_PIXELS:
if (!context->getExtensions().packSubimage)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidPname);
return false;
}
break;
@@ -5434,7 +5477,7 @@
if (param < 0)
{
- context->handleError(InvalidValue() << "Cannot use negative values in PixelStorei");
+ context->validationError(GL_INVALID_VALUE, "Cannot use negative values in PixelStorei");
return false;
}
@@ -5443,7 +5486,7 @@
case GL_UNPACK_ALIGNMENT:
if (param != 1 && param != 2 && param != 4 && param != 8)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidUnpackAlignment);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidUnpackAlignment);
return false;
}
break;
@@ -5451,7 +5494,7 @@
case GL_PACK_ALIGNMENT:
if (param != 1 && param != 2 && param != 4 && param != 8)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidUnpackAlignment);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidUnpackAlignment);
return false;
}
break;
@@ -5459,7 +5502,7 @@
case GL_PACK_REVERSE_ROW_ORDER_ANGLE:
if (!context->getExtensions().packReverseRowOrder)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
}
break;
@@ -5474,7 +5517,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5500,7 +5543,7 @@
{
if (width < 0 || height < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeSize);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeSize);
return false;
}
@@ -5518,7 +5561,7 @@
if (std::find(shaderBinaryFormats.begin(), shaderBinaryFormats.end(), binaryformat) ==
shaderBinaryFormats.end())
{
- context->handleError(InvalidEnum() << "Invalid shader binary format.");
+ context->validationError(GL_INVALID_ENUM, "Invalid shader binary format.");
return false;
}
@@ -5533,7 +5576,7 @@
{
if (count < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeCount);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeCount);
return false;
}
@@ -5550,7 +5593,7 @@
if (!IsValidESSLShaderSourceString(string[i], len,
context->getClientVersion() >= ES_3_0))
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), ShaderSourceInvalidCharacters);
+ context->validationError(GL_INVALID_VALUE, kErrorShaderSourceInvalidCharacters);
return false;
}
}
@@ -5569,7 +5612,7 @@
{
if (!IsValidStencilFunc(func))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -5580,13 +5623,13 @@
{
if (!IsValidStencilFace(face))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
if (!IsValidStencilFunc(func))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -5602,7 +5645,7 @@
{
if (!IsValidStencilFace(face))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -5613,19 +5656,19 @@
{
if (!IsValidStencilOp(fail))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
if (!IsValidStencilOp(zfail))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
if (!IsValidStencilOp(zpass))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -5640,7 +5683,7 @@
{
if (!IsValidStencilFace(face))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidStencil);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidStencil);
return false;
}
@@ -5805,7 +5848,7 @@
{
if (width < 0 || height < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), ViewportNegativeSize);
+ context->validationError(GL_INVALID_VALUE, kErrorViewportNegativeSize);
return false;
}
@@ -5901,7 +5944,7 @@
{
if (!ValidCap(context, cap, false))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5912,7 +5955,7 @@
{
if (!ValidCap(context, cap, false))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -5920,7 +5963,7 @@
cap == GL_SAMPLE_ALPHA_TO_COVERAGE)
{
const char *errorMessage = "Current renderer doesn't support alpha-to-coverage";
- context->handleError(InvalidOperation() << errorMessage);
+ context->validationError(GL_INVALID_OPERATION, errorMessage);
// We also output an error message to the debugger window if tracing is active, so that
// developers can see the error message.
@@ -5939,13 +5982,13 @@
{
if (!ValidFramebufferTarget(context, target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFramebufferTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFramebufferTarget);
return false;
}
if (renderbuffertarget != GL_RENDERBUFFER && renderbuffer != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidRenderbufferTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidRenderbufferTarget);
return false;
}
@@ -5965,7 +6008,7 @@
if (context->getClientMajorVersion() < 3 && !context->getExtensions().fboRenderMipmap &&
level != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidFramebufferTextureLevel);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidFramebufferTextureLevel);
return false;
}
@@ -5987,12 +6030,12 @@
{
if (level > gl::log2(caps.max2DTextureSize))
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
if (tex->getType() != TextureType::_2D)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidTextureTarget);
return false;
}
}
@@ -6002,13 +6045,13 @@
{
if (level != 0)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
if (tex->getType() != TextureType::Rectangle)
{
- context->handleError(InvalidOperation()
- << "Textarget must match the texture target type.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Textarget must match the texture target type.");
return false;
}
}
@@ -6023,13 +6066,13 @@
{
if (level > gl::log2(caps.maxCubeMapTextureSize))
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidMipLevel);
return false;
}
if (tex->getType() != TextureType::CubeMap)
{
- context->handleError(InvalidOperation()
- << "Textarget must match the texture target type.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Textarget must match the texture target type.");
return false;
}
}
@@ -6040,27 +6083,27 @@
if (context->getClientVersion() < ES_3_1 &&
!context->getExtensions().textureMultisample)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(),
- MultisampleTextureExtensionOrES31Required);
+ context->validationError(GL_INVALID_OPERATION,
+ kErrorMultisampleTextureExtensionOrES31Required);
return false;
}
if (level != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), LevelNotZero);
+ context->validationError(GL_INVALID_VALUE, kErrorLevelNotZero);
return false;
}
if (tex->getType() != TextureType::_2DMultisample)
{
- context->handleError(InvalidOperation()
- << "Textarget must match the texture target type.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Textarget must match the texture target type.");
return false;
}
}
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
}
@@ -6092,7 +6135,7 @@
{
if (!ValidTextureTarget(context, target))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidTextureTarget);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidTextureTarget);
return false;
}
@@ -6100,7 +6143,7 @@
if (texture == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TextureNotBound);
+ context->validationError(GL_INVALID_OPERATION, kErrorTextureNotBound);
return false;
}
@@ -6110,7 +6153,7 @@
// that out-of-range base level has a non-color-renderable / non-texture-filterable format.
if (effectiveBaseLevel >= gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorBaseLevelOutOfRange);
return false;
}
@@ -6121,7 +6164,7 @@
if (format.sizedInternalFormat == GL_NONE || format.compressed || format.depthBits > 0 ||
format.stencilBits > 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), GenerateMipmapNotAllowed);
+ context->validationError(GL_INVALID_OPERATION, kErrorGenerateMipmapNotAllowed);
return false;
}
@@ -6132,7 +6175,7 @@
format.textureAttachmentSupport(context->getClientVersion(), context->getExtensions());
if (!formatUnsized && !formatColorRenderableAndFilterable)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), GenerateMipmapNotAllowed);
+ context->validationError(GL_INVALID_OPERATION, kErrorGenerateMipmapNotAllowed);
return false;
}
@@ -6140,7 +6183,7 @@
// generation
if (format.colorEncoding == GL_SRGB && format.format == GL_RGB)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), GenerateMipmapNotAllowed);
+ context->validationError(GL_INVALID_OPERATION, kErrorGenerateMipmapNotAllowed);
return false;
}
@@ -6148,7 +6191,7 @@
// generateMipmap is not allowed if texture format is SRGB_EXT or SRGB_ALPHA_EXT.
if (context->getClientVersion() < Version(3, 0) && format.colorEncoding == GL_SRGB)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), GenerateMipmapNotAllowed);
+ context->validationError(GL_INVALID_OPERATION, kErrorGenerateMipmapNotAllowed);
return false;
}
@@ -6159,14 +6202,14 @@
{
ASSERT(target == TextureType::_2D || target == TextureType::Rectangle ||
target == TextureType::CubeMap);
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TextureNotPow2);
+ context->validationError(GL_INVALID_OPERATION, kErrorTextureNotPow2);
return false;
}
// Cube completeness check
if (target == TextureType::CubeMap && !texture->getTextureState().isCubeComplete())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), CubemapIncomplete);
+ context->validationError(GL_INVALID_OPERATION, kErrorCubemapIncomplete);
return false;
}
@@ -6211,7 +6254,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ context->validationError(GL_INVALID_OPERATION, kErrorES3Required);
return false;
}
return ValidateGetTexParameterBase(context, target, pname, nullptr);
@@ -6224,7 +6267,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ context->validationError(GL_INVALID_OPERATION, kErrorES3Required);
return false;
}
return ValidateGetTexParameterBase(context, target, pname, nullptr);
@@ -6259,7 +6302,7 @@
{
if (!ValidCap(context, cap, true))
{
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), EnumNotSupported);
+ context->validationError(GL_INVALID_ENUM, kErrorEnumNotSupported);
return false;
}
@@ -6271,9 +6314,10 @@
if (context->hasActiveTransformFeedback(program))
{
// ES 3.0.4 section 2.15 page 91
- context->handleError(InvalidOperation() << "Cannot link program while program is "
- "associated with an active transform "
- "feedback object.");
+ context->validationError(GL_INVALID_OPERATION,
+ "Cannot link program while program is "
+ "associated with an active transform "
+ "feedback object.");
return false;
}
@@ -6329,7 +6373,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ context->validationError(GL_INVALID_OPERATION, kErrorES3Required);
return false;
}
return ValidateTexParameterBase(context, target, pname, -1, true, params);
@@ -6342,7 +6386,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ context->validationError(GL_INVALID_OPERATION, kErrorES3Required);
return false;
}
return ValidateTexParameterBase(context, target, pname, -1, true, params);
@@ -6358,27 +6402,27 @@
// ES 3.1.0 section 7.3 page 72
if (context->getShader(program))
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExpectedProgramName);
+ context->validationError(GL_INVALID_OPERATION, kErrorExpectedProgramName);
return false;
}
else
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidProgramName);
+ context->validationError(GL_INVALID_VALUE, kErrorInvalidProgramName);
return false;
}
}
if (!programObject->isLinked())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ProgramNotLinked);
+ context->validationError(GL_INVALID_OPERATION, kErrorProgramNotLinked);
return false;
}
}
if (context->getGLState().isTransformFeedbackActiveUnpaused())
{
// ES 3.0.4 section 2.15 page 91
- context
- ->handleError(InvalidOperation()
- << "Cannot change active program while transform feedback is unpaused.");
+ context->validationError(
+ GL_INVALID_OPERATION,
+ "Cannot change active program while transform feedback is unpaused.");
return false;
}
@@ -6389,13 +6433,13 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
if (n < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeCount);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeCount);
return false;
}
@@ -6406,7 +6450,7 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
@@ -6414,13 +6458,13 @@
if (fenceObject == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFence);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFence);
return false;
}
if (!fenceObject->isSet())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFenceState);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFenceState);
return false;
}
@@ -6431,13 +6475,13 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
if (n < 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeCount);
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeCount);
return false;
}
@@ -6448,7 +6492,7 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
@@ -6456,13 +6500,13 @@
if (fenceObject == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFence);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFence);
return false;
}
if (!fenceObject->isSet())
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFenceState);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFenceState);
return false;
}
@@ -6473,7 +6517,7 @@
break;
default:
- ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidPname);
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidPname);
return false;
}
@@ -6484,7 +6528,7 @@
{
if (!context->getExtensions().robustness)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -6499,13 +6543,13 @@
{
if (!context->getExtensions().translatedShaderSource)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (bufsize < 0)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorNegativeBufferSize);
return false;
}
@@ -6513,7 +6557,7 @@
if (!shaderObject)
{
- context->handleError(InvalidOperation());
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidShaderName);
return false;
}
@@ -6524,7 +6568,7 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
@@ -6535,13 +6579,13 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
if (condition != GL_ALL_COMPLETED_NV)
{
- context->handleError(InvalidEnum());
+ context->validationError(GL_INVALID_ENUM, kErrorInvalidFenceCondition);
return false;
}
@@ -6549,7 +6593,7 @@
if (fenceObject == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFence);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFence);
return false;
}
@@ -6560,7 +6604,7 @@
{
if (!context->getExtensions().fence)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), NVFenceNotSupported);
+ context->validationError(GL_INVALID_OPERATION, kErrorNVFenceNotSupported);
return false;
}
@@ -6568,13 +6612,13 @@
if (fenceObject == nullptr)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFence);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFence);
return false;
}
if (fenceObject->isSet() != GL_TRUE)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), InvalidFenceState);
+ context->validationError(GL_INVALID_OPERATION, kErrorInvalidFenceState);
return false;
}
@@ -6590,7 +6634,7 @@
{
if (!context->getExtensions().textureStorage)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -6609,13 +6653,13 @@
{
if (!context->getExtensions().instancedArrays)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (index >= MAX_VERTEX_ATTRIBS)
{
- context->handleError(InvalidValue());
+ context->validationError(GL_INVALID_VALUE, kErrorIndexExceedsMaxVertexAttribute);
return false;
}
@@ -6628,7 +6672,7 @@
"attribute with index zero. "
"Please reorder the attributes in your vertex shader so that attribute zero "
"can have a zero divisor.";
- context->handleError(InvalidOperation() << errorMessage);
+ context->validationError(GL_INVALID_OPERATION, errorMessage);
// We also output an error message to the debugger window if tracing is active, so
// that developers can see the error message.
@@ -6662,7 +6706,7 @@
{
// The debug marker calls should not set error state
// However, it seems reasonable to set an error state if the extension is not enabled
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -6676,7 +6720,7 @@
GLsizei width)
{
UNIMPLEMENTED();
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -6690,13 +6734,13 @@
{
if (!context->getExtensions().textureStorage)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
if (context->getClientMajorVersion() < 3)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
@@ -6708,7 +6752,7 @@
{
if (!context->getExtensions().parallelShaderCompile)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
return true;
@@ -6722,7 +6766,7 @@
{
if (!context->getExtensions().multiDraw)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
for (GLsizei drawID = 0; drawID < drawcount; ++drawID)
@@ -6744,7 +6788,7 @@
{
if (!context->getExtensions().multiDraw)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ExtensionNotEnabled);
+ context->validationError(GL_INVALID_OPERATION, kErrorExtensionNotEnabled);
return false;
}
for (GLsizei drawID = 0; drawID < drawcount; ++drawID)