EXA for radeon experimental patch

Eric Anholt eta at lclark.edu
Tue Aug 30 03:37:11 PDT 2005


On Tue, 2005-08-30 at 17:24 +1000, Benjamin Herrenschmidt wrote:
> 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).

Actually, the top of tree had already been fixed, and exposed a problem
in the patch (failure to set maxX/maxY).  I've fixed that and a couple
of other nits, and posted a new patch:

http://people.freebsd.org/~anholt/radeon-exa-9.diff

While I appreciate credit, a lot of it should also go to zrusin for
initially pushing the Xati bits into X.Org to start this diff off.  How
long had I been saying I was going to do that?

I'd like to get these bits pushed into CVS soon so we can stop swapping
massive patches.  Release wranglers, do you have any problems with
putting EXA acceleration into drivers at this point if we can verify
that XAA continues working as normal?

As a side note: The lack of render acceleration on my r300 has exposed
the fact that the migration heuristics aren't working well in the
absence of Render acceleration.  Anyone have a suggestion why that would
be?

-- 
Eric Anholt                                     eta at lclark.edu
http://people.freebsd.org/~anholt/              anholt at FreeBSD.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20050830/37e7929f/attachment.pgp>


More information about the xorg mailing list