Pass depth to computeBlockSize.

This was very wrong for 3D textures.

BUG=angleproject:1384

Change-Id: I7f042449e30e1e909778c0524d1ce99d20ddfd65
Reviewed-on: https://chromium-review.googlesource.com/348063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
index d2e4e21..acdffca 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -490,7 +490,7 @@
         }
 
         const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(sizedFormat);
-        auto copyBytesOrErr                  = formatInfo.computeBlockSize(type, width, height);
+        auto copyBytesOrErr = formatInfo.computeBlockSize(type, gl::Extents(width, height, depth));
         if (copyBytesOrErr.isError())
         {
             context->handleError(copyBytesOrErr.getError());
@@ -1557,10 +1557,11 @@
     }
 
     const InternalFormat &formatInfo = GetInternalFormatInfo(internalformat);
-    auto blockSizeOrErr              = formatInfo.computeBlockSize(GL_UNSIGNED_BYTE, width, height);
+    auto blockSizeOrErr =
+        formatInfo.computeBlockSize(GL_UNSIGNED_BYTE, gl::Extents(width, height, depth));
     if (blockSizeOrErr.isError())
     {
-        context->handleError(blockSizeOrErr.getError());
+        context->handleError(Error(GL_INVALID_VALUE));
         return false;
     }
     if (imageSize < 0 || static_cast<GLuint>(imageSize) != blockSizeOrErr.getResult())
@@ -1905,7 +1906,8 @@
     }
 
     const InternalFormat &formatInfo = GetInternalFormatInfo(format);
-    auto blockSizeOrErr              = formatInfo.computeBlockSize(GL_UNSIGNED_BYTE, width, height);
+    auto blockSizeOrErr =
+        formatInfo.computeBlockSize(GL_UNSIGNED_BYTE, gl::Extents(width, height, depth));
     if (blockSizeOrErr.isError())
     {
         context->handleError(blockSizeOrErr.getError());