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 <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27546>
(cherry picked from commit b58de424f4)
This commit is contained in:
Samuel Pitoiset
2024-02-08 09:10:30 +01:00
committed by Eric Engestrom
parent 55080bfbde
commit 8236534b7e
2 changed files with 9 additions and 2 deletions

View File

@@ -1904,7 +1904,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

View File

@@ -10649,8 +10649,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