diff options
author | Christian Gmeiner <[email protected]> | 2018-03-25 22:30:00 +0200 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2018-04-08 22:20:46 +0200 |
commit | 9ae86c13061f724a29cca9b8207b2bed210edaf9 (patch) | |
tree | 1f892adc252c8e8e29ef5b9427c97a207003d61c /src | |
parent | 69bebe06e3af70927472bd4bc59df6ee5bbe2e48 (diff) |
etnaviv: support PA performance counters
Signed-off-by: Christian Gmeiner <[email protected]>
Tested-by: Chris Healy <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_query_pm.c | 42 | ||||
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_query_pm.h | 7 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c index eaad925e608..8e83eb185cc 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c +++ b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c @@ -171,6 +171,48 @@ static const struct etna_perfmon_config query_config[] = { .source = (const struct etna_perfmon_source[]) { { "SH", "PXL_TEXLD_INST_COUNTER" } } + }, + { + .name = "pa-input-vtx-counter", + .type = ETNA_QUERY_PA_INPUT_VTX_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "INPUT_VTX_COUNTER" } + } + }, + { + .name = "pa-input-prim-counter", + .type = ETNA_QUERY_PA_INPUT_PRIM_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "INPUT_PRIM_COUNTER" } + } + }, + { + .name = "pa-output-prim-counter", + .type = ETNA_QUERY_PA_OUTPUT_PRIM_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "OUTPUT_PRIM_COUNTER" } + } + }, + { + .name = "pa-depth-clipped-counter", + .type = ETNA_QUERY_PA_DEPTH_CLIPPED_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "DEPTH_CLIPPED_COUNTER" } + } + }, + { + .name = "pa-trivial-rejected-counter", + .type = ETNA_QUERY_PA_TRIVIAL_REJECTED_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "TRIVIAL_REJECTED_COUNTER" } + } + }, + { + .name = "pa-culled-counter", + .type = ETNA_QUERY_PA_CULLED_COUNTER, + .source = (const struct etna_perfmon_source[]) { + { "PA", "CULLED_COUNTER" } + } } }; diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_pm.h b/src/gallium/drivers/etnaviv/etnaviv_query_pm.h index b5e7fe5ad35..00fea71f23b 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_query_pm.h +++ b/src/gallium/drivers/etnaviv/etnaviv_query_pm.h @@ -55,6 +55,13 @@ struct etna_screen; #define ETNA_QUERY_SH_PXL_BRANCH_INST_COUNTER (ETNA_PM_QUERY_BASE + 17) #define ETNA_QUERY_SH_PXL_TEXLD_INST_COUNTER (ETNA_PM_QUERY_BASE + 18) +#define ETNA_QUERY_PA_INPUT_VTX_COUNTER (ETNA_PM_QUERY_BASE + 19) +#define ETNA_QUERY_PA_INPUT_PRIM_COUNTER (ETNA_PM_QUERY_BASE + 20) +#define ETNA_QUERY_PA_OUTPUT_PRIM_COUNTER (ETNA_PM_QUERY_BASE + 21) +#define ETNA_QUERY_PA_DEPTH_CLIPPED_COUNTER (ETNA_PM_QUERY_BASE + 22) +#define ETNA_QUERY_PA_TRIVIAL_REJECTED_COUNTER (ETNA_PM_QUERY_BASE + 23) +#define ETNA_QUERY_PA_CULLED_COUNTER (ETNA_PM_QUERY_BASE + 24) + struct etna_pm_query { struct etna_query base; struct etna_perfmon_signal *signal; |