On Mon, Nov 10, 2008 at 1:37 PM, Alex Villacís Lasso
<[EMAIL PROTECTED]> wrote:
> In the reference documents for the savage video card, there is an
> operation called a "mastered image transfer", which looks like an
> accelerated pixmap upload into the framebuffer. This operation
> references registers with bit flags to select between "framebuffer
> memory" and "system memory". However, there are restrictions on the kind
> of "system memory" that is suitable for the transfer. The chipset can
> only use either:
>
> 1) PCI memory ("physically contiguous and page-locked")
> 2) AGP memory
>
> I understand "PCI memory" to mean the garden-variety userspace memory,
> which is paginated, and might be swapped out to disk (therefore the
> restrictions).
>
> The question is: is there any xserver support that might enable a driver
> to get pixmap data into either kind of situation? Either get the pixmap
> into physically contiguous pages and obtain the physical address of the
> start of data, or pre-copy the pixmap data into AGP memory (allocated by
> the driver on startup, if necessary) so that the driver does not need to
> copy it into AGP memory every single time. If either one exists, this
> might be useful to get a better implementation of EXAUploadToScreen, as
> well as a faster XVideo (which can also use system memory, according to
> the docs).As Michel mentioned, this need drm support since since you'll need to know physical addresses tom implement this. Some of this may already be implemented for vertex or texture uploads in the savage drm and mesa driver, but I don't recall off hand. If so you could probably do something similar for EXA/Xv. For UploadToScreen() the savage driver already implements this using a hostdata blit. I'm not sure how much advantage you'll gain by using the DMA engine, but no one has benchmarked it so perhaps there is an advantage. For DownloadFromScreen(), it may be more useful. Alex _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
