[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg
Subject: Re: EXA
From: Eric Anholt <eta () lclark ! edu>
Date: 2005-10-12 7:09:56
Message-ID: 1129100996.4174.10.camel () leguin
[Download RAW message or body]
On Wed, 2005-10-12 at 09:00 +0200, Lars Knoll wrote:
> On Wednesday 12 October 2005 06:32, Eric Anholt wrote:
> > On Wed, 2005-10-12 at 01:54 +0200, Thomas Winischhofer wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > >
> > > EXA is getting close to the point where it is entirely useless on
> > > hardware that doesn't accelerate render/composite.
> > >
> > > On my (admittedly slow, 400Mhz) testbox, I can actually watch KDE paint
> > > its default blue background.
> > >
> > > Adding some logging into the EXA hooks reveals that the driver receives
> > > millions (yes, millions) of calls of copy commands with a width and
> > > height of 1. Yes, 1. It fills the screen with 1x1 copy commands.
> >
> > Sounds like KDE is using a 1x1 pixmap for the window background, rather
> > than setting a solid color. Lame. We'll just need to do something
> > similar to what exaComposite does for 1x1 repeating pictures -- read out
> > the one pixel and solid-fill it over the whole thing.
>
> No, it's not KDE. In many cases the only way to set do solid fills in Render
> is to setup a 1x1 pixmap with Repeat (at least it was up to 3 months ago).
> Xft uses exactly the same scheme, feel free to check XftDrawSrcPicture in
> xftdraw.c.
>
> Using 1x1 pictures with repeat has been a standard idiom in Render to do solid
> fills for years. The software code in fb/ has optimised code paths for this
> case. So should exa.
I'm not talking about pictures here -- exaTryDriverSolidFill already
covers solid fills with Render. I'm talking about window background
painting, which I added for pixmap backgrounds in hardware recently and
caused the problem in question (as far as I can tell).
--
Eric Anholt eta@lclark.edu
http://people.freebsd.org/~anholt/ anholt@FreeBSD.org
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic