On Wed, 21 Sep 2011 10:19:13 +0200, Daniel Vetter <daniel.vet...@ffwll.ch> wrote: > This adds a new mode to map gem objects in a non-blocking way. This > needs to be enabled on a per-object basis with object_enable_nonblocking. > > The new kernel interface required to get the caching level/coherency > is not yet wired up. All the code to transparently choose between gtt > mappings or (if coherent) cpu mappings is already in place, though. > > Cc: Eric Anholt <e...@anholt.net> > Cc: Ben Widawsky <b...@bwidawsk.net> > Signed-off-by: Daniel Vetter <daniel.vet...@ffwll.ch> > --- > Hi Eric, > > Not really tested, but can you please take a quick lock and see if this is > suitable for mesa and ack the general approach?
It doesn't quite look like what I want for Mesa, but close. Don't-block-I-know-what-I'm-doing is not a long-term property of a mapping for GL, it's something you say when you're getting a pointer to a piece of the existing mapping, and you may ask for normal blocking mode again later. So I'd rather see the the map/unmap track "oh, we already set to GTT and we haven't done something that would have knocked it out of there, so no need to go set to GTT again", instead of setting a flag. Also, I think you need to re-set to GTT after a CPU mapping on !llc, since clflushing is coarser granularity than GL buffer mappings (byte boundary).
pgpQ9hwknMZ6g.pgp
Description: PGP signature
_______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx