[PATCH] Ensure blitter quiescience before reading pixels from the framebuffer

Alex Deucher alexdeucher at gmail.com
Wed Jul 18 06:49:35 PDT 2007


On 7/18/07, Bernardo Innocenti <bernie at codewiz.org> wrote:
> Daniel Stone wrote:
>
> > You might start by mentioning which driver you're using?
>
> I use r200, in 16bpp.  But, as you can see from the patch, it's
> not really driver dependent.
>
> The problem was that we were reading a pixel from a pixmap
> without first waiting for the blitter to quiesce.
>
> I've found the very same problem in xf86-video-amd a few days
> ago.  Unfortunately, adding locking stalls the pipeline, so it
> has a big performance hit.
>
> To avoid this, Ajax came up with an EXA patch to migrate the pixmap
> back to system memory when we try to read the top-left pixel.
> This is somewhat better, but still wasteful.
>
> Perhaps we should design a way to prevent uploasing 1x1 pixmaps
> to the framebuffer altogether.  And we should probably make it
> driver dependent, because some drivers, notably r200, really uses
> the 1x1 pixmap as a little texture for solid fills.  I'm surprised
> r200 doesn't provide a faster way to specify a solid source color.

FWIW, I've seen similar issues with EXA on savage.

Alex



More information about the xorg mailing list