Make the NPOT extension requestable. Fix NPOT validation in CopyTexImage.

BUG=angleproject:1523
BUG=668223
TEST=conformance/more/functions/copyTexImage2DBadArgs.html

Change-Id: I5fbf4f99fa941c356ecb57d67dd47a33741ce189
Reviewed-on: https://chromium-review.googlesource.com/418944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index ea3bbf9..f60959a 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -740,6 +740,12 @@
         return false;
     }
 
+    if (!ValidImageSizeParameters(context, target, level, width, height, 1, isSubImage))
+    {
+        context->handleError(Error(GL_INVALID_VALUE, "Invalid texture dimensions."));
+        return false;
+    }
+
     Format textureFormat = Format::Invalid();
     if (!ValidateCopyTexImageParametersBase(context, target, level, internalformat, isSubImage,
                                             xoffset, yoffset, 0, x, y, width, height, border,