[PATCH 1/3] exa/mixed: avoid copying back pixmap data when no migration took place
Maarten Maathuis
madman2003 at gmail.com
Sat Nov 7 04:35:56 PST 2009
On Sat, Nov 7, 2009 at 1:32 PM, Maarten Maathuis <madman2003 at gmail.com> wrote:
> - When the driver handles the prepare access no copying is needed.
> - Delayed pixmap creation should be fine, because it's handled by the
> first prepare access, but the exaPixmapIsOffscreen check in finish access
> will return FALSE without a driver pixmap.
>
> Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
> ---
> exa/exa_migration_mixed.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
> index 6065d75..7458e3c 100644
> --- a/exa/exa_migration_mixed.c
> +++ b/exa/exa_migration_mixed.c
> @@ -210,7 +210,8 @@ void exaFinishAccess_mixed(PixmapPtr pPixmap, int index)
> {
> ExaPixmapPriv(pPixmap);
>
> - if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
> + if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap) &&
> + !pExaPixmap->offscreen) {
> DamageRegionProcessPending(&pPixmap->drawable);
>
> if (index == EXA_PREPARE_DEST || index == EXA_PREPARE_AUX_DEST) {
> --
> 1.6.5.1
>
>
This doesn't fix my corruption, which seems to be coming from
somewhere else, but as MrCooper stated this is the more correct
version.
More information about the xorg-devel
mailing list