From 91ee8ab284458815d282a09da614921f26cd5b08 Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Tue, 11 Mar 2025 14:24:30 +0100 Subject: [PATCH] v3dv: don't batch regions with different depth offsets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As we will be creating an image view that covers the region to copy, batch all the regions that share the same depth offset and depth extent. Signed-off-by: Juan A. Suarez Romero Reviewed-by: Alejandro PiƱeiro Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dv_meta_copy.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c index af356ed0acb..a3796976708 100644 --- a/src/broadcom/vulkan/v3dv_meta_copy.c +++ b/src/broadcom/vulkan/v3dv_meta_copy.c @@ -3321,11 +3321,13 @@ v3dv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, if (memcmp(rsc, rsc_s, sizeof(VkImageSubresourceLayers)) != 0) break; - /* For 3D images we also need to check the depth extent */ + /* For 3D images we also need to check the depth extent / Z-offset */ if (image->vk.image_type == VK_IMAGE_TYPE_3D && - info->pRegions[s].imageExtent.depth != - info->pRegions[r].imageExtent.depth) { - break; + (info->pRegions[s].imageExtent.depth != + info->pRegions[r].imageExtent.depth || + info->pRegions[s].imageOffset.z != + info->pRegions[r].imageOffset.z)) { + break; } batch_size++;