Am Fr., 31. Mai 2019 um 18:05 Uhr schrieb Lucas Stach <[email protected]>: > > 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]> > --- > This only fixes the obvious issues. I still believe there are some > GPU/CPU synchronization issues in this code, that need to be fixed > separately. What is your current test for synchronization correctness? > --- > 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 ade0b9790c28..c63ed8304919 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.20.1 > > _______________________________________________ > etnaviv mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/etnaviv -- greets -- Christian Gmeiner, MSc https://christian-gmeiner.info _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
