Validate level index before validating level itself.

Change-Id: I4587cb845bf61c390942071546f2439ada618b9b
Reviewed-on: https://swiftshader-review.googlesource.com/5530
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp
index 3e040b4..7beb616 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -2098,11 +2098,6 @@
 				return error(GL_INVALID_ENUM);
 			}
 
-			if(tex->isCompressed(textarget, level))
-			{
-				return error(GL_INVALID_OPERATION);
-			}
-
 			if((level != 0) && (context->getClientVersion() < 3))
 			{
 				return error(GL_INVALID_VALUE);
@@ -2112,6 +2107,11 @@
 			{
 				return error(GL_INVALID_VALUE);
 			}
+
+			if(tex->isCompressed(textarget, level))
+			{
+				return error(GL_INVALID_OPERATION);
+			}
 		}
 
 		es2::Framebuffer *framebuffer = nullptr;