Code refactoring in validation part.
Some code refactoring in this change:
1) It moves some public methods to static.
These methods are only used in validationES3.cpp. They are not necessay to be
exposed to public.
2) The error messages to check context version are inconsistent. It makes them
to be consistent.
BUG:angleproject:2005
Change-Id: I5af4c3300634ccc44aac386c90dcb0522acbff83
Reviewed-on: https://chromium-review.googlesource.com/661324
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
index de011ec..115700a 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -109,6 +109,31 @@
return ValidateUniformMatrix(context, valueType, location, count, transpose);
}
+bool ValidateGenOrDeleteES3(Context *context, GLint n)
+{
+ if (context->getClientMajorVersion() < 3)
+ {
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ return false;
+ }
+ return ValidateGenOrDelete(context, n);
+}
+
+bool ValidateGenOrDeleteCountES3(Context *context, GLint count)
+{
+ if (context->getClientMajorVersion() < 3)
+ {
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
+ return false;
+ }
+ if (count < 0)
+ {
+ ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeCount);
+ return false;
+ }
+ return true;
+}
+
} // anonymous namespace
static bool ValidateTexImageFormatCombination(gl::Context *context,
@@ -1025,7 +1050,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation() << "GLES version < 3.0");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1036,7 +1061,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation() << "GLES version < 3.0");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1047,7 +1072,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation() << "GLES version < 3.0");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1058,7 +1083,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation() << "GLES version < 3.0");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1074,7 +1099,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1192,7 +1217,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1252,7 +1277,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1263,7 +1288,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1323,7 +1348,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1403,7 +1428,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1430,7 +1455,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1578,7 +1603,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1594,7 +1619,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1664,7 +1689,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1836,7 +1861,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1858,7 +1883,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1882,7 +1907,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1911,7 +1936,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1936,7 +1961,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -1965,7 +1990,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -2076,31 +2101,6 @@
return ValidateGenOrDeleteES3(context, n);
}
-bool ValidateGenOrDeleteES3(Context *context, GLint n)
-{
- if (context->getClientMajorVersion() < 3)
- {
- context->handleError(InvalidOperation() << "Context does not support GLES3.");
- return false;
- }
- return ValidateGenOrDelete(context, n);
-}
-
-bool ValidateGenOrDeleteCountES3(Context *context, GLint count)
-{
- if (context->getClientMajorVersion() < 3)
- {
- ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
- return false;
- }
- if (count < 0)
- {
- context->handleError(InvalidValue() << "count < 0");
- return false;
- }
- return true;
-}
-
bool ValidateBeginTransformFeedback(Context *context, GLenum primitiveMode)
{
if (context->getClientMajorVersion() < 3)
@@ -2176,7 +2176,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -2552,7 +2552,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -2705,7 +2705,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation() << "Requires a GLES 3.0 or higher context.");
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}
@@ -3512,7 +3512,7 @@
{
if (context->getClientMajorVersion() < 3)
{
- context->handleError(InvalidOperation());
+ ANGLE_VALIDATION_ERR(context, InvalidOperation(), ES3Required);
return false;
}