From 03510ea4701510cc376d8874d12df9514db1fe94 Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Fri, 17 Apr 2026 19:23:20 +0200 Subject: [PATCH] nvk: Handle host accesses barrier We were not flushing sysmem and NVIDIA proprietary driver does. Signed-off-by: Mary Guillemard Fixes: e1c1cdbd5f3 ("nvk: Implement vkCmdPipelineBarrier2 for real") Reviewed-by: Mel Henning Part-of: --- src/nouveau/vulkan/nvk_cmd_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/nouveau/vulkan/nvk_cmd_buffer.c b/src/nouveau/vulkan/nvk_cmd_buffer.c index a8656439eb4..85540b8caa5 100644 --- a/src/nouveau/vulkan/nvk_cmd_buffer.c +++ b/src/nouveau/vulkan/nvk_cmd_buffer.c @@ -485,6 +485,9 @@ nvk_barrier_flushes_waits(VkPipelineStageFlags2 stages, if (access & VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT) barriers |= NVK_BARRIER_FLUSH_SHADER_DATA; + if (access & VK_ACCESS_2_HOST_WRITE_BIT) + barriers |= NVK_BARRIER_HOST_WFI_FLUSH_SYSMEM; + return barriers; } @@ -527,6 +530,9 @@ nvk_barrier_invalidates(VkPipelineStageFlags2 stages, if (access & VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR) barriers |= NVK_BARRIER_INVALIDATE_RASTER_CACHE; + if (access & (VK_ACCESS_2_HOST_READ_BIT | VK_ACCESS_2_HOST_WRITE_BIT)) + barriers |= NVK_BARRIER_HOST_WFI_FLUSH_SYSMEM; + return barriers; }