Looking for API to possibly implement "mastered image transfer" for xf86-video-savage
Alex Villacís Lasso
a_villacis at palosanto.com
Mon Nov 10 10:37:56 PST 2008
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).
--
perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'
More information about the xorg
mailing list