freedreno/a6xx: Fix timestamp queries.
authorEric Anholt <eric@anholt.net>
Mon, 30 Mar 2020 17:23:45 +0000 (10:23 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 30 Mar 2020 21:35:21 +0000 (21:35 +0000)
commit8cdc6c1e4b632cea6934836ca4962a555a1172c6
treeffd6e770048deab98fafcd4165ae95206a66e222
parent7ef61c1f1008f26a53db5fdfdb39ea1968c40284
freedreno/a6xx: Fix timestamp queries.

We were returning the same kind of result as time_elapsed (an end - start
time in ns), which on a timestamp query is approximately zero since
begin/end are at the same point in time.  What we're supposed to return is
a converted-to-ns timestamp based on the GPU clock.  Remove the _pause()
function for time_elapsed to reduce the command stream overhead, and just
capture start (which is, unfortunately, going to happen on each tile and
thus the final start value we ready will be the last tile of the frame,
not the first).

Fixes piglit spec/arb_timer_query/query gl_timestamp

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4356>
src/gallium/drivers/freedreno/a6xx/fd6_query.c