From 4c434ac992fb68eb9e2ba3bba1f92297b6121b88 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 8 Feb 2024 09:10:30 +0100 Subject: [PATCH] radv: fix RGP barrier reason for RP barriers inserted by the runtime Without that, RGP is confused and it's reporting CmdPipelineBarrier() instead of CmdRenderPassSync(). Cc: mesa-stable Signed-off-by: Samuel Pitoiset Part-of: (cherry picked from commit b58de424f41ffcdd2c997276c7d20a659e10c272) --- .pick_status.json | 2 +- src/amd/vulkan/radv_cmd_buffer.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0ecf92ca89a..a625bf9f39a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2074,7 +2074,7 @@ "description": "radv: fix RGP barrier reason for RP barriers inserted by the runtime", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 5c6cb7f76d7..173ab81c832 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -10642,8 +10642,15 @@ VKAPI_ATTR void VKAPI_CALL radv_CmdPipelineBarrier2(VkCommandBuffer commandBuffer, const VkDependencyInfo *pDependencyInfo) { RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); + enum rgp_barrier_reason barrier_reason; - radv_barrier(cmd_buffer, pDependencyInfo, RGP_BARRIER_EXTERNAL_CMD_PIPELINE_BARRIER); + if (cmd_buffer->vk.runtime_rp_barrier) { + barrier_reason = RGP_BARRIER_EXTERNAL_RENDER_PASS_SYNC; + } else { + barrier_reason = RGP_BARRIER_EXTERNAL_CMD_PIPELINE_BARRIER; + } + + radv_barrier(cmd_buffer, pDependencyInfo, barrier_reason); } static void