summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorLucas Stach <[email protected]>2019-05-31 18:05:12 +0200
committerChristian Gmeiner <[email protected]>2019-06-14 09:06:28 +0200
commitab74699190e2264493706cac49414d5a28618d32 (patch)
tree3d86524303a6e8986291c7103313c9612a067e3e /src/gallium/drivers
parent360b832c580da0cef2d78016c5c9d3606f038bc8 (diff)
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 <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_query_pm.c8
1 files 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;
}