Implementing Render acceleration in the siliconmotion driver

Roland Scheidegger sroland at
Wed Aug 20 09:50:12 PDT 2008

On 20.08.2008 17:12, currojerez at wrote:
> Hi,
> I have been experimenting with the sm720 3d engine: I thought I
> could implement EXA composite acceleration in this hardware but
> it seems to have several drawbacks. 
> The triangle engine worked more or less as expected, but the texture
> engine only works when fed with images arranged in 16B*8 tiles (this
> isn't mentioned in the documentation provided by smi:
> . In fact, the word "tile"
> doesn't appear a single time in the datasheet).
> This wouldn't be a problem if the rest of graphic subsystems supported
> tiled data, or if the conversion could be done in hardware, but it
> isn't the case.
> The sm722 seems to have the same problem. The sm731 (Cougar3DR) drawing
> engine and video processor seem to support tiled pixmaps, but I don't
> think I could implement it without access to the hardware.
> The second texture engine would be useful to implement masks, but I
> can't get it working, it has all the necessary registers, but I don't
> think it really has two texture engines ( From the manual: "Trilinear
> mip-mapping and texture compositing (multiple texture map) are done in
> 2 passes.").
> Moreover, it doesn't support any texture format like PICT_a8, I think
> (please, correct me if i'm wrong) it is used intensively for things
> like antialiased fonts, and it would be one of the main things
> composite would accelerate.
> Probably PICT_a8 masks could be converted in hardware to ARGB, but I
> don't think anymore an efficient composite implementation could be
> written for this hardware.
> Any ideas?

Looks to me like you hit the nail on the head... Though for
multitexturing, the wording you quoted seems to suggest to me that it
has 1 physical unit, but 2 logical units so "multiple passes" refers to
internal passes. Though even if this would work, different organization
of pixmaps and textures looks like a deal-breaker to me - creating
shadow pixmaps doesn't sound particularly fast (though it would solve
the a8 problem too)...
I think no other driver with such an outdated 3d engine has render
acceleration, which might indicate the hurdles are just not worth it...


More information about the xorg mailing list