Amends CopyTexImage validation to conform to new language in the ES 3.0.3 spec.

bug=angle:582

Also performs format checks for non-subimage copies, and permits unsized format
textures as destination for the copy.

Change-Id: Id647bb968416fbd35e1c70e5da21c81367e08f07
Reviewed-on: https://chromium-review.googlesource.com/189431
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/libGLESv2/formatutils.h b/src/libGLESv2/formatutils.h
index 48f1071..3b778ef 100644
--- a/src/libGLESv2/formatutils.h
+++ b/src/libGLESv2/formatutils.h
@@ -50,7 +50,7 @@
 bool IsValidType(GLenum type, GLuint clientVersion);
 
 bool IsValidFormatCombination(GLenum internalFormat, GLenum format, GLenum type, GLuint clientVersion);
-bool IsValidCopyTexImageCombination(GLenum textureInternalFormat, GLenum frameBufferInternalFormat, GLuint clientVersion);
+bool IsValidCopyTexImageCombination(GLenum textureInternalFormat, GLenum frameBufferInternalFormat, GLuint readBufferHandle, GLuint clientVersion);
 
 bool IsSizedInternalFormat(GLenum internalFormat, GLuint clientVersion);
 GLenum GetSizedInternalFormat(GLenum format, GLenum type, GLuint clientVersion);
@@ -66,6 +66,7 @@
 
 GLuint GetTypeBytes(GLenum type);
 bool IsSpecialInterpretationType(GLenum type);
+bool IsFloatOrFixedComponentType(GLenum type);
 
 GLenum GetFormat(GLenum internalFormat, GLuint clientVersion);
 GLenum GetType(GLenum internalFormat, GLuint clientVersion);