ac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C

This will be used by SPM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211>
This commit is contained in:
Samuel Pitoiset
2023-09-13 14:34:20 +02:00
committed by Marge Bot
parent 60cb257d26
commit 90d9406436
2 changed files with 13 additions and 0 deletions
+12
View File
@@ -1182,6 +1182,18 @@ bool ac_init_perfcounters(const struct radeon_info *info,
block->num_instances = MAX2(1, info->max_good_cu_per_sa);
}
if (info->gfx_level >= GFX10) {
if (!strcmp(block->b->b->name, "TCP")) {
block->num_global_instances = MAX2(1, info->num_cu_per_sh) * info->num_se * info->max_sa_per_se;
} else if (!strcmp(block->b->b->name, "SQ")) {
block->num_global_instances = block->num_instances * info->num_se;
} else if (!strcmp(block->b->b->name, "GL1C")) {
block->num_global_instances = block->num_instances * info->num_se * info->max_sa_per_se;
} else if (!strcmp(block->b->b->name, "GL2C")) {
block->num_global_instances = info->num_tcc_blocks;
}
}
if (ac_pc_block_has_per_instance_groups(pc, block)) {
block->num_groups = block->num_instances;
} else {
+1
View File
@@ -119,6 +119,7 @@ struct ac_pc_block_gfxdescr {
struct ac_pc_block {
const struct ac_pc_block_gfxdescr *b;
unsigned num_instances;
unsigned num_global_instances;
unsigned num_groups;
char *group_names;