Allow 3d <-> 2d image copies
A multi-layer 2D image can be copied to and from a 3D image.
Bug b/119620767
Change-Id: Idcee857ab50845702bbcd7826ed8739ed91f2791
Tests: dEQP-VK.api.copy_and_blit.*d_to_*
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30948
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
diff --git a/src/Vulkan/VkImage.cpp b/src/Vulkan/VkImage.cpp
index 553cd21..9ac5ea6 100644
--- a/src/Vulkan/VkImage.cpp
+++ b/src/Vulkan/VkImage.cpp
@@ -149,16 +149,14 @@
if(!((pRegion.srcSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT) ||
(pRegion.srcSubresource.aspectMask == VK_IMAGE_ASPECT_DEPTH_BIT) ||
- (pRegion.srcSubresource.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT)) ||
- (pRegion.srcSubresource.layerCount != 1))
+ (pRegion.srcSubresource.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT)))
{
UNIMPLEMENTED("srcSubresource");
}
if(!((pRegion.dstSubresource.aspectMask == VK_IMAGE_ASPECT_COLOR_BIT) ||
(pRegion.dstSubresource.aspectMask == VK_IMAGE_ASPECT_DEPTH_BIT) ||
- (pRegion.dstSubresource.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT)) ||
- (pRegion.dstSubresource.layerCount != 1))
+ (pRegion.dstSubresource.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT)))
{
UNIMPLEMENTED("dstSubresource");
}