diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-09-04 14:22:15 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-09-04 14:22:15 +0100 |
commit | bc309bad39035649ee377c1d5af9099491a8ea43 (patch) | |
tree | 11b5ef32efc134a9d66b980df670efbf03181226 /src/sna/sna_accel.c | |
parent | 68d207588a177afa4e999260bfddb4d6dba1029b (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.c | 5 |
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(®ion, -dirty->x, -dirty->y); @@ -13912,6 +13915,8 @@ skip: RegionUninit(®ion); DamageEmpty(dirty->damage); } + if (flush) + kgem_submit(&sna->kgem); #endif } |