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 <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41157>
This commit is contained in:
Matt Turner 2026-04-24 00:09:20 -04:00 committed by Marge Bot
parent 2595940b0d
commit 703de21af8

View file

@ -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();