From 703de21af8877a73d249b50c279fc37cf636dec4 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 24 Apr 2026 00:09:20 -0400 Subject: [PATCH] radv/perfcounter: guard select1 access in radv_emit_select Some perfcounter blocks (e.g. SQ_WGP on GFX11) define num_spm_modules but have no select1 register array. Skip the select1 loop when the array is NULL. This is a prerequisite for enabling performance queries on GFX11. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_perfcounter.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_perfcounter.c b/src/amd/vulkan/radv_perfcounter.c index 074d169ba9a..83721057a93 100644 --- a/src/amd/vulkan/radv_perfcounter.c +++ b/src/amd/vulkan/radv_perfcounter.c @@ -486,9 +486,11 @@ radv_emit_select(struct radv_cmd_buffer *cmd_buffer, struct ac_pc_block *block, G_REG_SEL(selectors[idx]) | regs->select_or); } - for (idx = 0; idx < regs->num_spm_modules; idx++) { - radeon_set_uconfig_reg_seq(regs->select1[idx], 1); - radeon_emit(0); + if (regs->select1) { + for (idx = 0; idx < regs->num_spm_modules; idx++) { + radeon_set_uconfig_reg_seq(regs->select1[idx], 1); + radeon_emit(0); + } } radeon_end();