gc funcs and ops at screen level
Aaron Plattner
aplattner at nvidia.com
Tue Oct 2 21:20:13 PDT 2012
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.
-- Aaron
More information about the xorg-devel
mailing list