Validate texture parameters for >0 after rounding.
From the spec (2.3.1 Data Conversion For State-Setting Commands):
"Validation of values performed by state-setting commands is performed
after conversion, unless specified otherwise for a specific command."
BUG=783574
Change-Id: I9edf585a17489ad284bc85a1c3c2236b53ee34d9
Reviewed-on: https://chromium-review.googlesource.com/766569
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index 9b2434d..f3679b7 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -5505,7 +5505,7 @@
break;
case GL_TEXTURE_BASE_LEVEL:
- if (params[0] < 0)
+ if (ConvertToGLint(params[0]) < 0)
{
context->handleError(InvalidValue() << "Base level must be at least 0.");
return false;
@@ -5531,7 +5531,7 @@
break;
case GL_TEXTURE_MAX_LEVEL:
- if (params[0] < 0)
+ if (ConvertToGLint(params[0]) < 0)
{
ANGLE_VALIDATION_ERR(context, InvalidValue(), InvalidMipLevel);
return false;