EXA

Michel Dänzer michel at tungstengraphics.com
Tue Aug 7 02:30:46 PDT 2007


On Tue, 2007-08-07 at 09:31 +0200, Lukas Hejtmanek wrote:
> On Tue, Aug 07, 2007 at 09:13:38AM +0200, Michel Dänzer wrote:
> > > > Yeah, there's no way around this without the driver providing an
> > > > UploadToScreen hook.
> > > 
> > > And why is it not used pixman_blt_mmx instead?
> > 
> > I was wondering the same thing, S??ren?
> 
> Well, the performance difference between XAA and EXA seems to be the
> following:
> XAA uses always pixman_blt_mmx while EXA uses combination of accelerator
> CopyArea and memcpy.

The attached patch seems to help here, how does it work for you?

> Another question is, why XAA uses only PutImage calls and EXA uses
> both PutImage *and* CopyArea, at the first sight it looks like EXA
> copies the area twice.

That's right, due to limitations of the PutImage interface. I suspect
exaShmPutImage could probably do better by using the driver
UploadToScreen hook directly though. I'll play with that when I get
time.


> Another point is why exaPrepareAccess calls exaWaitSync, is it really 
> necessary?

Yes, for serializing intermixed GPU and CPU operations.


P.S. I still doubt this is the bottleneck of your virtual desktop
switching, as the numbers you're getting translate to filling the screen
in just tens of milliseconds.

-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exashmputimage.diff
Type: text/x-patch
Size: 2745 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20070807/3312d985/attachment.bin>


More information about the xorg mailing list