6baf601042
- xserver-1.5.2-exa-sync-less.patch: Avoid migrating pixmaps out on PutImage.
43 lines
1.2 KiB
Diff
43 lines
1.2 KiB
Diff
From 2188582e5ea90edb432a2f421d0a267439ba08f9 Mon Sep 17 00:00:00 2001
|
|
From: =?utf-8?q?Michel=20D=C3=A4nzer?= <michel@tungstengraphics.com>
|
|
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
|
|
|