sna/gen6+: Only mark the dst as dirty again if it already is in the batch

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-08-21 00:19:10 +01:00
parent c86df17c14
commit eee181e9d7
2 changed files with 4 additions and 2 deletions

View File

@ -903,7 +903,8 @@ gen6_emit_state(struct sna *sna,
if (kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo)) {
gen6_emit_flush(sna);
kgem_clear_dirty(&sna->kgem);
kgem_bo_mark_dirty(op->dst.bo);
if (op->dst.bo->exec)
kgem_bo_mark_dirty(op->dst.bo);
need_stall = false;
}
if (need_stall) {

View File

@ -1047,7 +1047,8 @@ gen7_emit_state(struct sna *sna,
need_stall = GEN7_BLEND(op->u.gen7.flags) != NO_BLEND;
gen7_emit_pipe_invalidate(sna, need_stall);
kgem_clear_dirty(&sna->kgem);
kgem_bo_mark_dirty(op->dst.bo);
if (op->dst.bo->exec)
kgem_bo_mark_dirty(op->dst.bo);
need_stall = false;
}
if (need_stall)