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;
         }