diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-28 18:00:56 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-28 18:00:56 +0100 |
commit | 15266e1b9500f6b348661c60d1982bde911f2d0e (patch) | |
tree | bd4eb40c9cf65f8a414d047a82ad404c223aa92f /src/sna/gen6_render.c | |
parent | d3c7ee921172d4898ebdc6e944812a02426008e9 (diff) |
sna: Don't flush the render caches if in the process of writing again
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen6_render.c')
-rw-r--r-- | src/sna/gen6_render.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 0dde6253..1abb54f6 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2248,7 +2248,8 @@ gen6_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); gen6_emit_composite_state(sna, tmp); |