diff --git a/src/intel_driver.c b/src/intel_driver.c index a5bc4155..d22c0639 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -696,6 +696,7 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty) PixmapRegionInit(&pixregion, dirty->slave_dst->master_pixmap); + DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion); PixmapSyncDirtyHelper(dirty, &pixregion); intel_batch_submit(scrn); if (!intel->has_prime_vmap_flush) { @@ -704,9 +705,10 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty) drm_intel_bo_map(bo, FALSE); drm_intel_bo_unmap(bo); xf86UnblockSIGIO(was_blocked); - } - DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion); - RegionUninit(&pixregion); + } + DamageRegionProcessPending(&dirty->slave_dst->drawable); + + RegionUninit(&pixregion); return 0; }