From freedesktop-xorg Wed Oct 12 07:00:36 2005 From: Lars Knoll Date: Wed, 12 Oct 2005 07:00:36 +0000 To: freedesktop-xorg Subject: Re: EXA Message-Id: <200510120900.37302.lars () trolltech ! com> X-MARC-Message: https://marc.info/?l=freedesktop-xorg&m=117278294231374 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. Lars