From a7880f3edb7ff634f94d4db57ebf261b895d3c26 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Thu, 22 Feb 2024 14:13:28 +0100 Subject: [PATCH] radv/sqtt: use radeon_check_space before emit_spm_* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the following error on a rdna2: radeon_set_uconfig_reg_seq: Assertion `cs->cdw + 2 + num <= cs->reserved_dw' failed. Reviewed-by: Marek Olšák Part-of: --- src/amd/vulkan/radv_sqtt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_sqtt.c b/src/amd/vulkan/radv_sqtt.c index 4d4ce25faf5..4b7a3f5297c 100644 --- a/src/amd/vulkan/radv_sqtt.c +++ b/src/amd/vulkan/radv_sqtt.c @@ -858,8 +858,10 @@ radv_begin_sqtt(struct radv_queue *queue) /* Start SQTT. */ radv_emit_sqtt_start(device, cs, family); - if (device->spm.bo) + if (device->spm.bo) { + radeon_check_space(ws, cs, 8); radv_perfcounter_emit_spm_start(device, cs, family); + } result = ws->cs_finalize(cs); if (result != VK_SUCCESS) { @@ -911,8 +913,10 @@ radv_end_sqtt(struct radv_queue *queue) /* Make sure to wait-for-idle before stopping SQTT. */ radv_emit_wait_for_idle(device, cs, family); - if (device->spm.bo) + if (device->spm.bo) { + radeon_check_space(ws, cs, 8); radv_perfcounter_emit_spm_stop(device, cs, family); + } /* Stop SQTT. */ radv_emit_sqtt_stop(device, cs, family);