From ab74699190e2264493706cac49414d5a28618d32 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Fri, 31 May 2019 18:05:12 +0200 Subject: [PATCH] etnaviv: fix some pm query issues The offsets to read the query results were off-by-one, which causes the counters to report bogus increasing values. Also the counter result is u32, so we need to initialize the query type to reflect that. Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner --- src/gallium/drivers/etnaviv/etnaviv_query_pm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c index ade0b9790c2..c63ed830491 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c +++ b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c @@ -485,9 +485,9 @@ etna_pm_query_get(struct etna_cmd_stream *stream, struct etna_query *q, assert(flags); if (flags == ETNA_PM_PROCESS_PRE) - offset = 2; + offset = 1; else - offset = 3; + offset = 2; struct etna_perf p = { .flags = flags, @@ -639,6 +639,10 @@ etna_pm_get_driver_query_info(struct pipe_screen *pscreen, unsigned index, info->name = query_config[i].name; info->query_type = query_config[i].type; info->group_id = query_config[i].group_id; + info->type = PIPE_DRIVER_QUERY_TYPE_UINT; + info->result_type = PIPE_DRIVER_QUERY_RESULT_TYPE_AVERAGE; + info->max_value.u32 = 0; + info->flags = 0; return 1; } -- 2.30.2