Allow small compressed mip level copies Update ValidateCopyImageSubDataBase() to take into consideration if the entire mip level is being written, even if the size of the mip level is smaller than the compressed block size. This also uncovered a bug in ImageHelper::initializeNonZeroMemory() where the image extents are not at least as large as the compressed format block size: VUID-vkCmdCopyBufferToImage-imageExtent-00207 This CL adds isAllocateNonZeroMemoryEnabled() to allow skipping the test when that feature is enabled while that bug is chased. Bug: angleproject:5592 Bug: angleproject:5634 Bug: angleproject:5643 Test: Texture2DTestES3.CopyCompressedImageMipMaps Change-Id: I0381e0d3490fb148604b61dc3bae8f96ba8b5f8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673069 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>