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>
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