Refactor More Validation Error Messages
Replace many error string literals with variables existing in
ErrorStrings.h
BUG=:angleproject:1644
Change-Id: If5665a6787a1fa8d789811d774711c3705dfb0ab
Reviewed-on: https://chromium-review.googlesource.com/598588
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index 3ad049c..5dfa4ef 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -76,7 +76,7 @@
const GLuint pathName = array[i] + pathBase;
if (context->hasPath(pathName) && !context->hasPathData(pathName))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
}
@@ -1070,7 +1070,7 @@
if (GetInternalFormatInfo(format, type).sizedInternalFormat !=
textureInternalFormat.sizedInternalFormat)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMustMatchOriginalType);
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMismatch);
return false;
}
}
@@ -1406,14 +1406,19 @@
}
if (target != GL_TEXTURE_2D)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedTargetAndFormat);
return false;
}
// OES_depth_texture supports loading depth data and multiple levels,
// but ANGLE_depth_texture does not
- if (pixels != nullptr || level != 0)
+ if (pixels != nullptr)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), PixelDataNotNull);
+ return false;
+ }
+ if (level != 0)
+ {
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), LevelNotZero);
return false;
}
break;
@@ -1888,19 +1893,19 @@
if (!ValidDebugSource(source, false) && source != GL_DONT_CARE)
{
- context->handleError(InvalidEnum() << "Invalid debug source.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
return false;
}
if (!ValidDebugType(type) && type != GL_DONT_CARE)
{
- context->handleError(InvalidEnum() << "Invalid debug type.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugType);
return false;
}
if (!ValidDebugSeverity(severity) && severity != GL_DONT_CARE)
{
- context->handleError(InvalidEnum() << "Invalid debug severity.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSeverity);
return false;
}
@@ -1949,19 +1954,19 @@
if (!ValidDebugSeverity(severity))
{
- context->handleError(InvalidEnum() << "Invalid debug severity.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
return false;
}
if (!ValidDebugType(type))
{
- context->handleError(InvalidEnum() << "Invalid debug type.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugType);
return false;
}
if (!ValidDebugSource(source, true))
{
- context->handleError(InvalidEnum() << "Invalid debug source.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
return false;
}
@@ -2028,7 +2033,7 @@
if (!ValidDebugSource(source, true))
{
- context->handleError(InvalidEnum() << "Invalid debug source.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidDebugSource);
return false;
}
@@ -2637,7 +2642,7 @@
if (imageSize < 0 || static_cast<GLuint>(imageSize) != blockSizeOrErr.getResult())
{
- context->handleError(InvalidValue());
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), CompressedTextureDimensionsMustMatchData);
return false;
}
@@ -2849,7 +2854,7 @@
Texture *textureObject = context->getTexture(texture);
if (textureObject && textureObject->getTarget() != target && texture != 0)
{
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMustMatchOriginalType);
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), TypeMismatch);
return false;
}
@@ -2879,7 +2884,7 @@
case GL_TEXTURE_2D_ARRAY:
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidEnum() << "GLES 3.0 disabled");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), ES3Required);
return false;
}
break;
@@ -2887,7 +2892,7 @@
case GL_TEXTURE_2D_MULTISAMPLE:
if (context->getClientVersion() < Version(3, 1))
{
- context->handleError(InvalidEnum() << "Context does not support GLES3.1");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), ES31Required);
return false;
}
break;
@@ -2995,7 +3000,7 @@
}
if (matrixMode != GL_PATH_MODELVIEW_CHROMIUM && matrixMode != GL_PATH_PROJECTION_CHROMIUM)
{
- context->handleError(InvalidEnum() << "Invalid matrix mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidMatrixMode);
return false;
}
if (matrix == nullptr)
@@ -3015,7 +3020,7 @@
}
if (matrixMode != GL_PATH_MODELVIEW_CHROMIUM && matrixMode != GL_PATH_PROJECTION_CHROMIUM)
{
- context->handleError(InvalidEnum() << "Invalid matrix mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidMatrixMode);
return false;
}
return true;
@@ -3033,7 +3038,7 @@
// we add stricter semantic check here and require a non zero positive range.
if (range <= 0)
{
- context->handleError(InvalidValue() << "Invalid range.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidRange);
return false;
}
@@ -3058,7 +3063,7 @@
// we add stricter semantic check here and require a non zero positive range.
if (range <= 0)
{
- context->handleError(InvalidValue() << "Invalid range.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidRange);
return false;
}
@@ -3088,7 +3093,7 @@
}
if (!context->hasPath(path))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
@@ -3203,7 +3208,7 @@
}
if (!context->hasPath(path))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
@@ -3268,7 +3273,7 @@
if (!context->hasPath(path))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
if (!value)
@@ -3336,7 +3341,7 @@
}
if (context->hasPath(path) && !context->hasPathData(path))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
@@ -3346,13 +3351,13 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid fill mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- context->handleError(InvalidValue() << "Invalid stencil bit mask.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
return false;
}
@@ -3384,7 +3389,7 @@
}
if (context->hasPath(path) && !context->hasPathData(path))
{
- context->handleError(InvalidOperation() << "No such path object.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NoSuchPath);
return false;
}
@@ -3394,7 +3399,7 @@
case GL_BOUNDING_BOX_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid cover mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
return false;
}
return true;
@@ -3450,7 +3455,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid cover mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
return false;
}
@@ -3477,7 +3482,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid cover mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
return false;
}
@@ -3505,12 +3510,12 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid fill mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- context->handleError(InvalidValue() << "Invalid stencil bit mask.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
return false;
}
return true;
@@ -3557,7 +3562,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid cover mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
return false;
}
@@ -3567,12 +3572,12 @@
case GL_COUNT_DOWN_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid fill mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidFillMode);
return false;
}
if (!isPow2(mask + 1))
{
- context->handleError(InvalidValue() << "Invalid stencil bit mask.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidStencilBitMask);
return false;
}
@@ -3601,7 +3606,7 @@
case GL_BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM:
break;
default:
- context->handleError(InvalidEnum() << "Invalid cover mode.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidCoverMode);
return false;
}
@@ -3641,7 +3646,7 @@
if (angle::BeginsWith(name, "gl_"))
{
- context->handleError(InvalidOperation() << "Cannot bind a built-in variable.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), NameBeginsWithGL);
return false;
}
@@ -4262,7 +4267,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMax);
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
return false;
}
@@ -4527,13 +4532,13 @@
case GL_REQUESTABLE_EXTENSIONS_ANGLE:
if (!context->getExtensions().requestExtension)
{
- context->handleError(InvalidEnum() << "Invalid name.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidName);
return false;
}
break;
default:
- context->handleError(InvalidEnum() << "Invalid name.");
+ ANGLE_VALIDATION_ERR(context, InvalidEnum(), InvalidName);
return false;
}
@@ -4544,7 +4549,7 @@
{
if (width <= 0.0f || isNaN(width))
{
- context->handleError(InvalidValue() << "Invalid width value.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidWidth);
return false;
}
@@ -4875,7 +4880,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMax);
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
return false;
}
@@ -4886,7 +4891,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMax);
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
return false;
}
@@ -4942,7 +4947,7 @@
if (index >= static_cast<GLuint>(programObject->getActiveAttributeCount()))
{
- context->handleError(InvalidValue() << "index exeeds program active attribute count.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxActiveUniform);
return false;
}
@@ -4973,7 +4978,7 @@
if (index >= static_cast<GLuint>(programObject->getActiveUniformCount()))
{
- context->handleError(InvalidValue() << "index exceeds program active uniform count.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxActiveUniform);
return false;
}
@@ -4988,7 +4993,7 @@
{
if (maxcount < 0)
{
- context->handleError(InvalidValue() << "max count must be non-negative.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeMaxCount);
return false;
}
@@ -5628,7 +5633,7 @@
{
if (index >= MAX_VERTEX_ATTRIBS)
{
- ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMax);
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), IndexExceedsMaxVertexAttribute);
return false;
}
@@ -5927,15 +5932,13 @@
{
if (context->getClientVersion() < ES_3_1)
{
- context->handleError(InvalidOperation()
- << "Texture target requires at least OpenGL ES 3.1.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES31Required);
return false;
}
if (level != 0)
{
- context->handleError(InvalidValue()
- << "Level must be 0 for TEXTURE_2D_MULTISAMPLE.");
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), LevelNotZero);
return false;
}
if (tex->getTarget() != GL_TEXTURE_2D_MULTISAMPLE)