summaryrefslogtreecommitdiff
path: root/src/sna/gen7_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/gen7_render.c')
-rw-r--r--src/sna/gen7_render.c3
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);