Bugzilla #4226: Change the pixmap migration strategy for the CopyNtoN case.

Now, if either source or dest were in framebuffer, try to get both
    there, but prefer system memory for both otherwise. Required making
    exaasync.c go through the try-acceleration path. This significantly
    improves window resizing under composite, because previously the
    pattern of creating a new pixmap and copying default contents from the
    screen caused a fallback every time due to the new destination pixmap
    being in system memory.
This commit is contained in:
Eric Anholt 2005-08-24 23:48:11 +00:00
commit 0711502f18
12 changed files with 105 additions and 36 deletions

View file

@ -280,13 +280,14 @@ ExaCheckComposite (CARD8 op,
}
/*
* Only need to stall for copyarea/copyplane
* Only need to stall for CopyArea/CopyPlane, but we want to have the chance to
* do migration for CopyArea.
*/
const GCOps exaAsyncPixmapGCOps = {
fbFillSpans,
fbSetSpans,
fbPutImage,
ExaCheckCopyArea,
exaCopyArea,
ExaCheckCopyPlane,
fbPolyPoint,
fbPolyLine,