Correcting INVALID_ENUM issue for GLES3.
Similar to prior fix for GLES2, validation now correctly returns
INVALID_ENUM instead of shorting out.
BUG=angleproject:1168
Change-Id: I8247b0b3520b0f116856049c85606bb44fa24021
Reviewed-on: https://chromium-review.googlesource.com/303472
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Tommy Martino <tmartino@chromium.org>
diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
index 49da955..813daf9 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -393,15 +393,16 @@
const gl::InternalFormat &actualFormatInfo = gl::GetInternalFormatInfo(actualInternalFormat);
if (isCompressed)
{
- if (!ValidCompressedImageSize(context, actualInternalFormat, width, height))
+ if (!actualFormatInfo.compressed)
{
- context->recordError(Error(GL_INVALID_OPERATION));
+ context->recordError(Error(
+ GL_INVALID_ENUM, "internalformat is not a supported compressed internal format."));
return false;
}
- if (!actualFormatInfo.compressed)
+ if (!ValidCompressedImageSize(context, actualInternalFormat, width, height))
{
- context->recordError(Error(GL_INVALID_ENUM));
+ context->recordError(Error(GL_INVALID_OPERATION));
return false;
}