From a646485c28b95ce8a6a61d61c2afaeefcdf439a4 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Mon, 18 Jun 2018 11:40:24 +0100 Subject: [PATCH] i965: perf: add mdapi pipeline statistics queries on gen10/11 The Gen10+ expected format adds an additional counter which we can't disclose yet. We can still make the size of the expected query result match. Signed-off-by: Lionel Landwerlin Reviewed-by: Mark Janes --- src/intel/perf/gen_perf_mdapi.h | 1 + src/mesa/drivers/dri/i965/brw_performance_query_mdapi.c | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/intel/perf/gen_perf_mdapi.h b/src/intel/perf/gen_perf_mdapi.h index 45fe171..3c3aec2 100644 --- a/src/intel/perf/gen_perf_mdapi.h +++ b/src/intel/perf/gen_perf_mdapi.h @@ -124,6 +124,7 @@ struct mdapi_pipeline_metrics { uint64_t HSInvocations; uint64_t DSInvocations; uint64_t CSInvocations; + uint64_t Reserved1; /* Gen10+ */ }; int gen_perf_query_result_write_mdapi(void *data, uint32_t data_size, diff --git a/src/mesa/drivers/dri/i965/brw_performance_query_mdapi.c b/src/mesa/drivers/dri/i965/brw_performance_query_mdapi.c index d95a963..f775603 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_query_mdapi.c +++ b/src/mesa/drivers/dri/i965/brw_performance_query_mdapi.c @@ -207,7 +207,7 @@ brw_perf_query_register_mdapi_statistic_query(struct brw_context *brw) { const struct gen_device_info *devinfo = &brw->screen->devinfo; - if (!(devinfo->gen >= 7 && devinfo->gen <= 9)) + if (!(devinfo->gen >= 7 && devinfo->gen <= 11)) return; struct gen_perf_query_info *query = @@ -248,5 +248,13 @@ brw_perf_query_register_mdapi_statistic_query(struct brw_context *brw) "N compute shader invocations"); } + if (devinfo->gen >= 10) { + /* Reuse existing CS invocation register until we can expose this new + * one. + */ + gen_perf_query_info_add_basic_stat_reg(query, CS_INVOCATION_COUNT, + "Reserved1"); + } + query->data_size = sizeof(uint64_t) * query->n_counters; } -- 2.7.4