Report INVALID_VALUE if width/height of invalidateSubFramebuffer is negative.

BUG=angleproject:2376
TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.invalidate_sub_framebuffer

Change-Id: Ie1ca30f29d7583c86130f46d4e6b5c7211eee63a
Reviewed-on: https://chromium-review.googlesource.com/938367
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
index 0aa209d..a08ae78 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -1231,6 +1231,12 @@
                                       GLsizei width,
                                       GLsizei height)
 {
+    if (width < 0 || height < 0)
+    {
+        ANGLE_VALIDATION_ERR(context, InvalidValue(), NegativeSize);
+        return false;
+    }
+
     return ValidateInvalidateFramebuffer(context, target, numAttachments, attachments);
 }