radv: use a compute shader for copying timestamp query results
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 9 Oct 2019 11:34:52 +0000 (13:34 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 10 Oct 2019 11:23:22 +0000 (13:23 +0200)
commit9d17d97ee41ae9d3eb5061a4bc607e430bdae477
tree97d0fbbd5d319e5e58a9f3f13ef45004c1bb645d
parentdad80eadb2815727ece2827ca29dd648ab1adbb1
radv: use a compute shader for copying timestamp query results

When the timestamp is not ready (ie. UINT64_MAX), the availabily bit
should be zero. The previous code used to copy the timestamp value
as the availabily bit and that's completely wrong.

Because it's not that simple to emit a conditional with the CP, the
driver now uses a compute shader for copying timestamp query results.

Fixes dEQP-VK.pipeline.timestamp.misc_tests.reset_query_before_copy.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_private.h
src/amd/vulkan/radv_query.c