exa: a few small pitch related changes
- Setting pitch before exaCopyDirty* is not needed. Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Acked-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
a54c23fe64
commit
99d88ef69d
11
exa/exa.c
11
exa/exa.c
|
@ -323,10 +323,17 @@ ExaDoPrepareAccess(PixmapPtr pPixmap, int index)
|
||||||
|
|
||||||
has_gpu_copy = exaPixmapHasGpuCopy(pPixmap);
|
has_gpu_copy = exaPixmapHasGpuCopy(pPixmap);
|
||||||
|
|
||||||
if (has_gpu_copy && pExaPixmap->fb_ptr)
|
if (has_gpu_copy) {
|
||||||
|
/* This can be NULL, but the driver prepareAccess call should
|
||||||
|
* take care of that. */
|
||||||
pPixmap->devPrivate.ptr = pExaPixmap->fb_ptr;
|
pPixmap->devPrivate.ptr = pExaPixmap->fb_ptr;
|
||||||
else
|
pPixmap->devKind = pExaPixmap->fb_pitch;
|
||||||
|
} else {
|
||||||
|
/* For mixed pixmaps this can be NULL, but that will be fixed
|
||||||
|
* later in exaPrepareAccessReg_mixed(). */
|
||||||
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
||||||
|
pPixmap->devKind = pExaPixmap->sys_pitch;
|
||||||
|
}
|
||||||
|
|
||||||
/* Store so we can handle repeated / nested calls. */
|
/* Store so we can handle repeated / nested calls. */
|
||||||
pExaScr->access[index].pixmap = pPixmap;
|
pExaScr->access[index].pixmap = pPixmap;
|
||||||
|
|
|
@ -101,7 +101,6 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
|
||||||
if (pExaPixmap->pDamage && exaPixmapHasGpuCopy(pPixmap)) {
|
if (pExaPixmap->pDamage && exaPixmapHasGpuCopy(pPixmap)) {
|
||||||
ExaScreenPriv(pPixmap->drawable.pScreen);
|
ExaScreenPriv(pPixmap->drawable.pScreen);
|
||||||
|
|
||||||
pPixmap->devKind = pExaPixmap->fb_pitch;
|
|
||||||
exaCopyDirtyToFb(pixmaps + i);
|
exaCopyDirtyToFb(pixmaps + i);
|
||||||
|
|
||||||
if (pExaScr->deferred_mixed_pixmap == pPixmap)
|
if (pExaScr->deferred_mixed_pixmap == pPixmap)
|
||||||
|
@ -109,6 +108,10 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
|
||||||
}
|
}
|
||||||
|
|
||||||
pExaPixmap->use_gpu_copy = exaPixmapHasGpuCopy(pPixmap);
|
pExaPixmap->use_gpu_copy = exaPixmapHasGpuCopy(pPixmap);
|
||||||
|
if (pExaPixmap->use_gpu_copy)
|
||||||
|
pPixmap->devKind = pExaPixmap->fb_pitch;
|
||||||
|
else
|
||||||
|
pPixmap->devKind = pExaPixmap->sys_pitch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,17 +186,14 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
|
||||||
pixmaps[0].as_src = TRUE;
|
pixmaps[0].as_src = TRUE;
|
||||||
pixmaps[0].pReg = NULL;
|
pixmaps[0].pReg = NULL;
|
||||||
}
|
}
|
||||||
pPixmap->devKind = pExaPixmap->fb_pitch;
|
|
||||||
exaCopyDirtyToSys(pixmaps);
|
exaCopyDirtyToSys(pixmaps);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (as_dst)
|
if (as_dst)
|
||||||
exaPixmapDirty(pPixmap, 0, 0, pPixmap->drawable.width,
|
exaPixmapDirty(pPixmap, 0, 0, pPixmap->drawable.width,
|
||||||
pPixmap->drawable.height);
|
pPixmap->drawable.height);
|
||||||
} else if (has_gpu_copy) {
|
} else if (has_gpu_copy)
|
||||||
pPixmap->devKind = pExaPixmap->fb_pitch;
|
|
||||||
exaCopyDirtyToSys(pixmaps);
|
exaCopyDirtyToSys(pixmaps);
|
||||||
}
|
|
||||||
|
|
||||||
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
|
||||||
pPixmap->devKind = pExaPixmap->sys_pitch;
|
pPixmap->devKind = pExaPixmap->sys_pitch;
|
||||||
|
@ -222,7 +222,6 @@ void exaFinishAccess_mixed(PixmapPtr pPixmap, int index)
|
||||||
pExaScr->deferred_mixed_pixmap != pPixmap)
|
pExaScr->deferred_mixed_pixmap != pPixmap)
|
||||||
exaMoveInPixmap_mixed(pExaScr->deferred_mixed_pixmap);
|
exaMoveInPixmap_mixed(pExaScr->deferred_mixed_pixmap);
|
||||||
pExaScr->deferred_mixed_pixmap = pPixmap;
|
pExaScr->deferred_mixed_pixmap = pPixmap;
|
||||||
pPixmap->devKind = pExaPixmap->fb_pitch;
|
|
||||||
} else
|
} else
|
||||||
exaMoveInPixmap_mixed(pPixmap);
|
exaMoveInPixmap_mixed(pPixmap);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue