Module: Mesa Branch: master Commit: 16fd5bd99654d4f148ccce55a0aef0a54bdd5a12 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=16fd5bd99654d4f148ccce55a0aef0a54bdd5a12
Author: Danylo Piliaiev <[email protected]> Date: Fri Apr 9 18:02:26 2021 +0300 turnip: support copying both aspects of D32_SFLOAT_S8_UINT We cannot copy both aspects at the same time, so copy them one by one. Signed-off-by: Danylo Piliaiev <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10140> --- src/freedreno/vulkan/tu_clear_blit.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/freedreno/vulkan/tu_clear_blit.c b/src/freedreno/vulkan/tu_clear_blit.c index 425f723969e..57e812433c0 100644 --- a/src/freedreno/vulkan/tu_clear_blit.c +++ b/src/freedreno/vulkan/tu_clear_blit.c @@ -1590,8 +1590,19 @@ tu_CmdCopyImage(VkCommandBuffer commandBuffer, TU_FROM_HANDLE(tu_image, src_image, srcImage); TU_FROM_HANDLE(tu_image, dst_image, destImage); - for (uint32_t i = 0; i < regionCount; ++i) + for (uint32_t i = 0; i < regionCount; ++i) { + if (src_image->vk_format == VK_FORMAT_D32_SFLOAT_S8_UINT) { + VkImageCopy info = pRegions[i]; + u_foreach_bit(b, pRegions[i].dstSubresource.aspectMask) { + info.srcSubresource.aspectMask = BIT(b); + info.dstSubresource.aspectMask = BIT(b); + tu_copy_image_to_image(cmd, src_image, dst_image, &info); + } + continue; + } + tu_copy_image_to_image(cmd, src_image, dst_image, pRegions + i); + } } static void _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
