From 7affd623c0e2b1db30f63391100f845a63d08e29 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 26 Mar 2025 15:47:37 +0100 Subject: [PATCH] radv: slightly change the COND_EXEC for sampling performance counters Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_perfcounter.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_perfcounter.c b/src/amd/vulkan/radv_perfcounter.c index 5d8ad60dc32..d3a84d91c40 100644 --- a/src/amd/vulkan/radv_perfcounter.c +++ b/src/amd/vulkan/radv_perfcounter.c @@ -574,10 +574,10 @@ radv_pc_stop_and_sample(struct radv_cmd_buffer *cmd_buffer, struct radv_pc_query radeon_emit(cs, pred_va); radeon_emit(cs, pred_va >> 32); radeon_emit(cs, 0); /* Cache policy */ - - uint32_t *skip_dwords = cs->buf + cs->cdw; radeon_emit(cs, 0); + uint32_t *skip_dwords = cs->buf + (cs->cdw - 1); + for (unsigned i = 0; i < pool->num_pc_regs;) { enum ac_pc_gpu_block block = G_REG_BLOCK(pool->pc_regs[i]); struct ac_pc_block *ac_block = ac_pc_get_block(&pdev->ac_perfcounters, block); @@ -654,10 +654,10 @@ radv_pc_begin_query(struct radv_cmd_buffer *cmd_buffer, struct radv_pc_query_poo radeon_emit(cs, pred_va); radeon_emit(cs, pred_va >> 32); radeon_emit(cs, 0); /* Cache policy */ - - uint32_t *skip_dwords = cs->buf + cs->cdw; radeon_emit(cs, 0); + uint32_t *skip_dwords = cs->buf + (cs->cdw - 1); + for (unsigned i = 0; i < pool->num_pc_regs;) { enum ac_pc_gpu_block block = G_REG_BLOCK(pool->pc_regs[i]); struct ac_pc_block *ac_block = ac_pc_get_block(&pdev->ac_perfcounters, block);