From 78efa4157aaaa39545d2f91af486050e52f487ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Fri, 29 Aug 2025 13:56:18 +0200 Subject: [PATCH] radv: Don't use V_370_PFP or V_028A90_PS_DONE on compute queues The compute queue doesn't support these things. This change doesn't fix any known issues, but better to be safe. Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 1afa5f01c04..4b0a4c1c745 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -14403,7 +14403,7 @@ write_event(struct radv_cmd_buffer *cmd_buffer, struct radv_event *event, VkPipe radv_cp_dma_wait_for_stages(cmd_buffer, stageMask); - if (!(stageMask & ~top_of_pipe_flags)) { + if (!(stageMask & ~top_of_pipe_flags) && cmd_buffer->qf != RADV_QUEUE_COMPUTE) { /* Just need to sync the PFP engine. */ radv_write_data(cmd_buffer, V_370_PFP, va, 1, &value, false); } else if (!(stageMask & ~post_index_fetch_flags)) { @@ -14415,6 +14415,7 @@ write_event(struct radv_cmd_buffer *cmd_buffer, struct radv_event *event, VkPipe if (!(stageMask & ~post_ps_flags)) { /* Sync previous fragment shaders. */ event_type = V_028A90_PS_DONE; + assert(cmd_buffer->qf == RADV_QUEUE_GENERAL); } else if (!(stageMask & ~post_cs_flags)) { /* Sync previous compute shaders. */ event_type = V_028A90_CS_DONE;