From: Danylo Piliaiev Date: Fri, 5 Aug 2022 12:49:49 +0000 (+0300) Subject: tu: Flush depth on depth img transition from undef layout X-Git-Tag: upstream/22.3.5~4994 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=293298de65055552e9c58f6fb823e05aa99d7368;p=platform%2Fupstream%2Fmesa.git tu: Flush depth on depth img transition from undef layout Same logic as in tu_subpass_barrier. Signed-off-by: Danylo Piliaiev Part-of: --- diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index f4c8ed4..cf3ac6e 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -5321,7 +5321,13 @@ tu_barrier(struct tu_cmd_buffer *cmd, * to the image. We don't want these entries being flushed later and * overwriting the actual image, so we need to flush the CCU. */ - src_flags |= TU_ACCESS_CCU_COLOR_INCOHERENT_WRITE; + TU_FROM_HANDLE(tu_image, image, dep_info->pImageMemoryBarriers[i].image); + + if (vk_format_is_depth_or_stencil(image->vk.format)) { + src_flags |= TU_ACCESS_CCU_DEPTH_INCOHERENT_WRITE; + } else { + src_flags |= TU_ACCESS_CCU_COLOR_INCOHERENT_WRITE; + } } VkPipelineStageFlags2 sanitized_src_stage = sanitize_src_stage(dep_info->pImageMemoryBarriers[i].srcStageMask);