radv: don't emit cp dma packets on video rings.

Only emit this on the gfx/ace rings.

Fixes hangs with CTS on video decode with navi3x.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26945>
(cherry picked from commit 71bd479a7f)
This commit is contained in:
Dave Airlie
2023-10-27 14:17:56 +10:00
committed by Eric Engestrom
parent 7c9e93fe8c
commit b570eb6043
2 changed files with 5 additions and 2 deletions

View File

@@ -74,7 +74,7 @@
"description": "radv: don't emit cp dma packets on video rings.",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View File

@@ -10610,7 +10610,10 @@ radv_barrier(struct radv_cmd_buffer *cmd_buffer, const VkDependencyInfo *dep_inf
}
radv_gang_barrier(cmd_buffer, 0, dst_stage_mask);
radv_cp_dma_wait_for_stages(cmd_buffer, src_stage_mask);
const bool is_gfx_or_ace = cmd_buffer->qf == RADV_QUEUE_GENERAL || cmd_buffer->qf == RADV_QUEUE_COMPUTE;
if (is_gfx_or_ace)
radv_cp_dma_wait_for_stages(cmd_buffer, src_stage_mask);
cmd_buffer->state.flush_bits |= dst_flush_bits;