freedreno/a4xx: better occlusion/sample counting

This seems to give more reliable results.  More similar to what we do on
a3xx, although I think it breaks the a3xx theory that the four sets of
results map to each MRT (since we appear to still only have four sets on
a4xx).  The divide-by-two is a bit odd, but seems to be needed for some
reason.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
Rob Clark 2016-02-14 09:59:41 -05:00
parent 87eb406791
commit 62fa868728
1 changed files with 6 additions and 1 deletions

View File

@ -81,7 +81,12 @@ static uint64_t
count_samples(const struct fd_rb_samp_ctrs *start,
const struct fd_rb_samp_ctrs *end)
{
return end->ctr[0] - start->ctr[0];
uint64_t n = 0;
for (unsigned i = 0; i < 16; i += 4)
n += end->ctr[i] - start->ctr[i];
return n / 2;
}
static void