From 2188582e5ea90edb432a2f421d0a267439ba08f9 Mon Sep 17 00:00:00 2001 From: =?utf-8?q?Michel=20D=C3=A4nzer?= Date: Mon, 20 Oct 2008 09:55:24 -0400 Subject: [PATCH] EXA: Avoid excessive syncing in PutImage --- exa/exa_migration.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/exa/exa_migration.c b/exa/exa_migration.c index 56b6945..571650c 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -129,6 +129,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, BoxPtr pBox; int nbox; Bool access_prepared = FALSE; + Bool need_sync = FALSE; /* Damaged bits are valid in current copy but invalid in other one */ if (exaPixmapIsOffscreen(pPixmap)) { @@ -220,14 +221,15 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, exaMemcpyBox (pPixmap, pBox, fallback_src, fallback_srcpitch, fallback_dst, fallback_dstpitch); - } + } else + need_sync = TRUE; pBox++; } if (access_prepared) exaFinishAccess(&pPixmap->drawable, fallback_index); - else + else if (need_sync) sync (pPixmap->drawable.pScreen); pExaPixmap->offscreen = save_offscreen; -- 1.6.0.1