EXA for radeon experimental patch (2)

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Aug 30 17:55:14 PDT 2005

A new patch is at http://gate.crashing.org/~benh/radeon-exa-benh-3.diff

I had composite acceleration working in r200 with CP (not with MMIO
yet), though I did some cleanups and didn't re-test so it might be
broken :)

Some known issues appart from still possibly non working Xv, DGA, ...

 - Color tiling must be disabled (well, that patch should disable it
automatically when using EXA). I'll fix that later

 - 3D not tested at all, page flipping won't work I suspect, maybe more
things need fixing. I'll deal with that later too

 - I have the server occasionally locking up or completely failing to
render anything at startup when using the CP. Adding some ErrorF() here
or there around RADEONWaitForIdleCP strangely makes it disappear. I'm
not sure yet what's up. Usually, running it without CP and then with CP

 - Endian problems on big endian machines with composite. EXA needs some
additional hooks so we can setup the swapper on PCI access properly when
drawing to offscreen pixmaps of different bit depth. Eric and I are
working on that.



> 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.
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg

More information about the xorg mailing list