diff options
Diffstat (limited to 'src/sna/gen7_render.c')
-rw-r--r-- | src/sna/gen7_render.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index b9f23ee8..7eb323f8 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2388,7 +2388,8 @@ gen7_render_composite(struct sna *sna, NULL)) kgem_submit(&sna->kgem); - if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) + if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) || + (tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo))) kgem_emit_flush(&sna->kgem); gen7_emit_composite_state(sna, tmp); |