EXA support for nv driver

Alex Deucher alexdeucher at gmail.com
Wed Aug 24 07:48:31 PDT 2005


On 8/24/05, Lars Knoll <lars at trolltech.com> wrote:
> Hi,
> 
> I've hacked the nvidia driver lately to add EXA support to it, and at the same
> time cleaned up some (but far from all) of the number magic in nv_hw.c. I
> also added some documentation on how to initialize the HW to be able to do
> DMA (at least as far as I understood it ;-)
> 
> I implemented the uploadToScreen/downloadFromScreen hooks, but they require
> access to the AGP file descriptor (so that the driver can allocate mmap the
> GART). Currently the AGP code in Xorg doesn't export this, so I had to add a
> small hook there as well.
> 
> The upload/download hooks are working for me on a GeForce 6600, but I had
> reports that they don't work on some other hardware. I hope to be able to get
> my hands on some older hardware soon, so I can test myself.
> 
> There is a preliminary implementation for the composite hook available, but
> the implementation is wrong, because the blending operation seems to expect
> non premultiplied pixmaps. I have an idea how to do it properly and will
> probably work on that as my time permits.
> 
> You can find the patches at:
> 
> http://trolls.troll.no/lars/patches/nv.diff
> http://trolls.troll.no/lars/patches/lnx_agp.diff
> 

Nice work!

> 
> Related to this, I think we should change the signature of
>     Bool        (*UploadToScreen) (PixmapPtr            pDst,
>                                    char                 *src,
>                                    int                  src_pitch);
> in ExaAccelInfoRec to
>     Bool        (*UploadToScreen) (PixmapPtr            pDst,
>                                    int x, int y, int w, int h,
>                                    char                 *src,
>                                    int                  src_pitch);
> 
> to match the DownloadFromScreen pointer, and allow us to use UploadToScreen to
> accelerate PutImage. Any opinions?
> 

Sounds good to me.

Alex

> Lars



More information about the xorg mailing list