gallium/radeon: add query fences and r600_get_hw_query_params
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 14 Sep 2016 08:38:33 +0000 (10:38 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 29 Sep 2016 09:14:41 +0000 (11:14 +0200)
commit631c47384c1f45450359fd7d1df2c5f0c79f40bc
tree074db03d1aa29edad77401252a7402eee1ab641f
parent51b57a9b5a42f20e460c9ff34887cddb6c42a9ec
gallium/radeon: add query fences and r600_get_hw_query_params

We will support the waiting option in ARB_query_buffer_object using
WAIT_REG_MEM on an appropriate fence-like dword. Some queries conveniently
write their results with the highest bit set, and we can just use that;
for others, we have to write a fence explicitly.

ZPASS_DONE for occlusion queries writes its results with the high bit
set, but it writes up to 8 pairs of results (one for each DB). We have
to wait for all of these results, so let's just add an explicit fence.

The new function provides summary information to be used by subsequent
patches.

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/r600_query.c