On Wed, Oct 3, 2012 at 2:20 PM, Aaron Plattner <aplatt...@nvidia.com> wrote: > On 10/02/2012 05:45 PM, Dave Airlie wrote: >> >> It seems wierd that we have the GC carrying around a pointer to each >> of these, when I don't see any evidence we can't just stash one set of >> ops/funcs per screen. >> >> Did we every, do we currently to anyone knowledge modify gc ops or >> funcs at anything less than a screen level? >> >> Dave. > > > For funcs, I agree. > > As for ops, the nvidia driver plugs in a different set depending on the > results of ValidateGC. E.g., if it determines at validation time that a > pixmap is addressable by the GPU, it plugs in a set of ops that don't ask, > "can we render this blit? How about this other nearly identical blit? How > about this third one? OMG, this fourth one might not be acceleratable oh > wait yes it is." > > This is why we crash when people screw up GC validation and point a GC > validated against a vidmem pixmap at something slow like a SHM pixmap or > something they ModifyPixmapHeader'd or just allocated after exhausting > vidmem (*cough*backingstore*cough*). > > I'm sure this was a big win when it was written. I can try to collect some > numbers on a slow CPU system where it's most likely to make a difference. >
Cool seems a totally reasonable use-case. Just wanted to check, and after a bit of playing around I don't like going in this direction too much actually. I might be better storing per gpu ops inside the GC actually, but this is going to need a bit more bashing about. Dave. _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel