summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-08-11 01:28:40 +0200
committerNicolai Hähnle <[email protected]>2017-08-22 09:55:16 +0200
commit472c906d9fa0720e3438761a061a0d99e344b2c6 (patch)
tree41d00756ce49216bff6fd8effa1ee7c207fa5a13 /src/gallium
parente2716076682c1458cec7d0e90d262448fee76d16 (diff)
radeonsi/gfx9: add performance counters
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_perfcounter.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_perfcounter.c b/src/gallium/drivers/radeonsi/si_perfcounter.c
index 531d3b74c65..50b8d1c6c3d 100644
--- a/src/gallium/drivers/radeonsi/si_perfcounter.c
+++ b/src/gallium/drivers/radeonsi/si_perfcounter.c
@@ -403,6 +403,30 @@ static struct si_pc_block groups_VI[] = {
};
+static struct si_pc_block groups_gfx9[] = {
+ { &cik_CB, 438, 4 },
+ { &cik_CPF, 32 },
+ { &cik_DB, 328, 4 },
+ { &cik_GRBM, 38 },
+ { &cik_GRBMSE, 16 },
+ { &cik_PA_SU, 292 },
+ { &cik_PA_SC, 491 },
+ { &cik_SPI, 196 },
+ { &cik_SQ, 374 },
+ { &cik_SX, 208 },
+ { &cik_TA, 119, 16 },
+ { &cik_TCA, 35, 2 },
+ { &cik_TCC, 256, 16 },
+ { &cik_TD, 57, 16 },
+ { &cik_TCP, 85, 16 },
+ { &cik_GDS, 121 },
+ { &cik_VGT, 148 },
+ { &cik_IA, 32 },
+ { &cik_WD, 58 },
+ { &cik_CPG, 59 },
+ { &cik_CPC, 35 },
+};
+
static void si_pc_get_size(struct r600_perfcounter_block *group,
unsigned count, unsigned *selectors,
unsigned *num_select_dw, unsigned *num_read_dw)
@@ -671,8 +695,11 @@ void si_init_perfcounters(struct si_screen *screen)
blocks = groups_VI;
num_blocks = ARRAY_SIZE(groups_VI);
break;
- case SI:
case GFX9:
+ blocks = groups_gfx9;
+ num_blocks = ARRAY_SIZE(groups_gfx9);
+ break;
+ case SI:
default:
return; /* not implemented */
}