From 667745857dde508eb220f3c5a70ba0c35b1e7256 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 16 Jan 2025 12:47:48 -0500 Subject: [PATCH] lavapipe: handle VK_REMAINING_ARRAY_LAYERS with HIC this otherwise goes oob and crashes cc: mesa-stable Part-of: --- src/gallium/frontends/lavapipe/lvp_image.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_image.c b/src/gallium/frontends/lavapipe/lvp_image.c index d60d47b11a1..90365deb06e 100644 --- a/src/gallium/frontends/lavapipe/lvp_image.c +++ b/src/gallium/frontends/lavapipe/lvp_image.c @@ -773,7 +773,7 @@ lvp_CopyMemoryToImageEXT(VkDevice _device, const VkCopyMemoryToImageInfoEXT *pCo case PIPE_TEXTURE_1D_ARRAY: /* these use layer */ box.z = copy->imageSubresource.baseArrayLayer; - box.depth = copy->imageSubresource.layerCount; + box.depth = vk_image_subresource_layer_count(&image->vk, ©->imageSubresource); break; case PIPE_TEXTURE_3D: /* this uses depth */ @@ -818,7 +818,7 @@ lvp_CopyImageToMemoryEXT(VkDevice _device, const VkCopyImageToMemoryInfoEXT *pCo case PIPE_TEXTURE_1D_ARRAY: /* these use layer */ box.z = copy->imageSubresource.baseArrayLayer; - box.depth = copy->imageSubresource.layerCount; + box.depth = vk_image_subresource_layer_count(&image->vk, ©->imageSubresource); break; case PIPE_TEXTURE_3D: /* this uses depth */ @@ -868,7 +868,7 @@ lvp_CopyImageToImageEXT(VkDevice _device, const VkCopyImageToImageInfoEXT *pCopy src_box.depth = pCopyImageToImageInfo->pRegions[i].extent.depth; src_box.z = pCopyImageToImageInfo->pRegions[i].srcOffset.z; } else { - src_box.depth = pCopyImageToImageInfo->pRegions[i].srcSubresource.layerCount; + src_box.depth = vk_image_subresource_layer_count(&src_image->vk, &pCopyImageToImageInfo->pRegions[i].srcSubresource); src_box.z = pCopyImageToImageInfo->pRegions[i].srcSubresource.baseArrayLayer; }