[Mesa-dev] [PATCH 7/9] i965: Use snoop bo for accessing query results on !llc

Chris Wilson chris at chris-wilson.co.uk
Thu Jun 15 08:59:15 UTC 2017


Quoting Kenneth Graunke (2017-06-15 00:13:14)
> On Friday, June 9, 2017 6:01:38 AM PDT Chris Wilson wrote:
> > Ony non-llc architectures where we are primarily reading back the
> > results of the GPU queries, then we can improve performance by using a
> > cacheable mapping of the results. Unfortunately, enabling snooping makes
> > the writes from the GPU slower, which may adversely affect pipelined
> > query operations (where the results are used directly by the GPU and not
> > CPU).
> 
> We're essentially writing two DWords, and reading two DWords - so we aren't
> primarily reading.  However, with your next patch, where we want to be able
> to asynchronously poll the status via CheckQuery()...we'll be reading a
> bunch more.  It might make sense to mention this polling in the commit
> message.

I'm concerned about the pipelined queries though, if we never access the
results on the CPU, making the GPU snoop the bus and send cache
invalidations is extra work for no gain. That certain games may seem to
spend all they time busy-spinning for results may be misleading!
-Chris


More information about the mesa-dev mailing list