XAA vs. EXA in old hardware support

Michael Lorenz macallan at netbsd.org
Fri Jun 16 14:20:36 PDT 2006

Hash: SHA1


>> just a stupid question - a while ago I wrote an XFree86 driver for the
>> Weitek P9100 graphics chip found in Tadpole SPARCbook 3GX and similar
>> laptops. ( the P9100 driver in XFree86 3.x wasn't really helpful - 
>> this
>> P9100 has an SBus interface and does a few things rather differently.
>> It also lacks the VGA part. )
>> So the question is - the driver of course uses XAA primitives. Should 
>> I
>> bother with EXA when porting it over to xorg? There is no hardware
>> support for alpha-blending or anything like that - just plain old
>> rectangles, area copies, lines, clipping, colour expansion.
>> The same goes for suncg6 - I added support for most of the hardware
>> acceleration these old critters offer ( didn't bother with pattern
>> fills but that's trivial to add ).
> I would say it's up to you.  EXA is the future, but I don't see XAA
> going anywhere anytime soon.

Ok, so I'll leave it as it is for now.

>   For that hardware with EXA all you'd
> really have to worry about is solids and copies (and possibly hostdata
> blits for UTS depending on the performance) so it's somewhat less code
> to port.

So EXA dropped hardware line drawing? On both the P9100 and the cg6 
it's significantly faster than in software, especially on newer cg6 
where it's quite a huge margin. Probably doesn't have much of an effect 
on overall X performance I guess.

About host-to-vram blits - so far I'm running the P9100 with 
endianness-conversion on vram accesses enabled. This doesn't affect the 
upload port though, so data would have to be endianness-converted in 
32bit chunks which I didn't bother with. Being able to use this would 
be useful since the sparc requires natural alignment of all memory 
accesses and the upload port is a way around that.
So, question is - do you think that's worth checking? I'm really not 
sure if the extra cycles needed for endianness conversion would eat up 
the benefit.

have fun
Version: GnuPG v1.2.4 (Darwin)


More information about the xorg mailing list