[Intel-gfx] [PATCH] Avoid fallbacks for gradient patterns
Chris Wilson
chris at chris-wilson.co.uk
Fri Sep 4 21:51:26 CEST 2009
Excerpts from Eric Anholt's message of Fri Sep 04 20:35:29 +0100 2009:
> On Fri, 2009-09-04 at 20:26 +0100, Chris Wilson wrote:
> > While not yet fully accelerating gradient patterns, by using pixman to
> > compute the gradient image and copying that to a pixmap to use as the
> > source, we avoid incurring the GPU stall suffered currently from
> > reading back the destination surface.
>
> The destination Picture (the one passed in to our uxa hooks) is supposed
> to always have a pDrawable, and if it doesn't, that should have been
> caught at a higher level.
Hmm, didn't explain the problem well enough (or at all in this case).
The issue is that if asked to composite using a gradient source, and/or
mask, we fallback to fbComposite, which causes the readback of the
destination. All this patch does, like uxa_trapezoids(), is to allocate
a scratch pixmap for the source (or mask) using pixman to fill it and then
uses CopyArea to transfer that to an offscreen pixmap.
-ickle
More information about the Intel-gfx
mailing list