EXA for radeon experimental patch

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Aug 30 00:24:10 PDT 2005


Hi !

Here you can find a patch that adds EXA for radeon. Heavily based on the
initial patch from Eric Anholt. What this patch does _NOT_ do yet:

 - Composite hooks aren't there. You can enable the r200 hooks though
but they haven't been tested
 - Xv is untested and possibly still broken on various configs

What this patch does do that is not related to exa (yah, I know ...) :

 - Fixes r300 endian problems with color expansion and XAA. Note that Xv
may still be broken in various combinations of image types vs. endian.
The solution might not be terrific but I couldn't find a hardware
swapper that works.

What this patch does with EXA:

 - Implements solid fills and blits both with CP and MMIO
 - Implements UpdateToScreen as DMA when using CP (with proper endian
   for r300 hopefully, r200 is untested for now)
 - DownloadFromScreen should work but is slow (no DMA). I haven't found
   a scenario that causes EXA to call it though so I haven't validated
   it.

It still needs a lot of cleanups, it needs r100 versions of the
composite code, the r200 one need to be tested and be made to work on
MMIO (it shouldn't require the CP strictly speaking), and it needs
somebody who understands the r300 3D engine to write r300 composite
hooks (similar to Render hooks for XAA).

Enjoy: 

 http://gate.crashing.org/~benh/radeon-exa-benh-2.diff

And report any problem to me. Known problem: with current top of tree
EXA implementation, it locks up if you enable the composite hooks but
they return FALSE; Eric has a patch for that already (it's an EXA bug).

Ben.





More information about the xorg mailing list