[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