diff options
author | Eric Anholt <anholt@freebsd.org> | 2006-03-14 21:30:12 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2006-03-14 21:30:12 +0000 |
commit | 693e42114f1127528448126d78a5209dd1198d8d (patch) | |
tree | 4ad88c1d3ae4b2b7b34028c18a771f92ebd5df73 /exa/exa_unaccel.c | |
parent | d30905478078036383977ae9d4a3685c2e2c642f (diff) |
Move migration logic to a new function, exaDoMigration(). This is largely a
manual conversion to allow for different migration schemes to be
implemented reasonably, but does include some minor improvements such
as accounting for pinned pixmaps not being acceleratable, and for our
current GetImage and GetSpans not being accelerated.
Diffstat (limited to 'exa/exa_unaccel.c')
-rw-r--r-- | exa/exa_unaccel.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index 361147cea..1ffecb811 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -279,6 +279,11 @@ ExaCheckRestoreAreas (PixmapPtr pPixmap, exaFinishAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST); } +/* XXX: Note the lack of a prepare on the tile, if the window has a tiled + * background. This function happens to only be called if pExaScr->swappedOut, + * so we actually end up not having to do it since the tile won't be in fb. + * That doesn't make this not dirty, though. + */ void ExaCheckPaintWindow (WindowPtr pWin, RegionPtr pRegion, int what) { @@ -334,8 +339,12 @@ CARD32 exaGetPixmapFirstPixel (PixmapPtr pPixmap) { CARD32 pixel; + ExaMigrationRec pixmaps[1]; - exaDrawableUseMemory(&pPixmap->drawable); + pixmaps[0].as_dst = FALSE; + pixmaps[0].as_src = TRUE; + pixmaps[0].pPix = pPixmap; + exaDoMigration (pixmaps, 1, TRUE); exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); switch (pPixmap->drawable.bitsPerPixel) { |