summaryrefslogtreecommitdiff
path: root/src/sna/sna_accel.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-09-04 14:22:15 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-09-04 14:22:15 +0100
commitbc309bad39035649ee377c1d5af9099491a8ea43 (patch)
tree11b5ef32efc134a9d66b980df670efbf03181226 /src/sna/sna_accel.c
parent68d207588a177afa4e999260bfddb4d6dba1029b (diff)
sna: And remember to flush the damage to the output slaves...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_accel.c')
-rw-r--r--src/sna/sna_accel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index a554655a..1156e789 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -13819,6 +13819,7 @@ static void sna_accel_post_damage(struct sna *sna)
#if HAS_PIXMAP_SHARING
ScreenPtr screen = sna->scrn->pScreen;
PixmapDirtyUpdatePtr dirty;
+ bool flush = false;
xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
RegionRec region, *damage;
@@ -13903,6 +13904,8 @@ fallback:
dst, sna_pixmap_get_bo(dst), -dirty->x, -dirty->y,
box, n, COPY_LAST))
goto fallback;
+
+ flush = true;
}
RegionTranslate(&region, -dirty->x, -dirty->y);
@@ -13912,6 +13915,8 @@ skip:
RegionUninit(&region);
DamageEmpty(dirty->damage);
}
+ if (flush)
+ kgem_submit(&sna->kgem);
#endif
}