mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-15 06:50:40 +01:00
EXA: Avoid excessive syncing in PutImage
(cherry picked from commit 2188582e5e)
This commit is contained in:
parent
df22857b34
commit
f4c33e2e64
1 changed files with 4 additions and 2 deletions
|
|
@ -132,6 +132,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)) {
|
||||
|
|
@ -223,14 +224,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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue