EXA up / download syncing.

Eric Anholt eta at lclark.edu
Mon Nov 7 14:53:38 PST 2005


On Mon, 2005-11-07 at 12:07 +0100, Thomas Hellström wrote:
> I found some comments in exa.h regarding syncing after screen uploads 
> and downloads:
> 
>  /* Attempt to download the rectangle from the in-framebuffer pSrc into
>      * dst, given the pitch.  May fail.  Since it is likely
>      * accelerated, a markSync will follow it as with other acceleration
>      * hooks.
>      */
>     Bool (*DownloadFromScreen)(PixmapPtr pSrc,
>                                int x,  int y,
>                                int w,  int h,
>                                char *dst,  int dst_pitch);
> 
>  From this I draw the conclusion that EXA will issue a waitSync either 
> before the old FB memory is reused or the new System memory is reloaded 
> to screen. Same thing for UploadToScreen.
> 
> However, this does not seem to happen, and I get rendering errors. If 
> the driver immediately syncs, however, the problem goes away. However, 
> it would be nice to have the former behaviour since the via drm is 
> capable of queueing and pipelining DMA blit and SG-type mapping operations.
> 
> I know a similar question has been on the list before, but could anyone 
> shed some light on this?

DownloadFromScreen actually requires the driver itself to do exaMarkSync
at the end if it did it in an asynchronous way.  This makes sense
because may actually have un-accelerated DFS implementations, for
byteswapping or simply better-memcpy reasons.  The comment should be
corrected.

-- 
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/20051107/4a472d0c/attachment.pgp>


More information about the xorg mailing list