ac/spm: adjust configuration of some GPU blocks

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39013>
This commit is contained in:
Samuel Pitoiset
2025-12-17 12:07:03 +01:00
parent 6613dfb234
commit eca9c00430
2 changed files with 11 additions and 2 deletions

View File

@@ -1353,6 +1353,11 @@ bool ac_init_perfcounters(const struct radeon_info *info,
} else if (!strcmp(block->b->b->name, "GL2C") ||
!strcmp(block->b->b->name, "GCEA")) {
block->num_instances = block->num_global_instances = info->num_tcc_blocks;
} else if (!strcmp(block->b->b->name, "CPF")) {
block->num_instances = block->num_global_instances = 1;
} else if (!strcmp(block->b->b->name, "TA") ||
!strcmp(block->b->b->name, "TD")) {
block->num_global_instances = block->num_instances;
}
}

View File

@@ -165,14 +165,18 @@ ac_spm_init_instance_mapping(const struct radeon_info *info,
/* Per-SA blocks. */
assert(block->b->b->gpu_block == GL1C ||
block->b->b->gpu_block == TCP ||
block->b->b->gpu_block == SQ_WGP);
block->b->b->gpu_block == SQ_WGP ||
block->b->b->gpu_block == TA ||
block->b->b->gpu_block == TD);
se_index = (counter->instance / block->num_instances) / info->max_sa_per_se;
sa_index = (counter->instance / block->num_instances) % info->max_sa_per_se;
instance_index = counter->instance % block->num_instances;
}
} else {
/* Global blocks. */
assert(block->b->b->gpu_block == GL2C);
assert(block->b->b->gpu_block == GL2C ||
block->b->b->gpu_block == CPF ||
block->b->b->gpu_block == GCEA);
instance_index = counter->instance;
}