summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-06-11 16:41:22 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-06-11 16:57:14 +0100
commit1beaa980ea6a9617f7dd4dc87b881c37cc7a277b (patch)
tree5073d1559cda71b4ace8cad25dcdc58e2f5f2fa5
parent31467b01e3f5ece0c8f8d4c03b52fc3f238b3d7e (diff)
sna/gen6+: On small GT avoid the intermediate copy for overlaps
If the memory bw is constrained on the GPU avoid doing the 2-pass copy for overlaps on the render ring, and do the single pass slower BLT copy instead - as since it has to transfer less data it will be faster. Reported-by: Ildar Nurislamov <absorbb@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77436 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/gen6_common.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/gen6_common.h b/src/sna/gen6_common.h
index 0dddeb53..8b60ef62 100644
--- a/src/sna/gen6_common.h
+++ b/src/sna/gen6_common.h
@@ -58,6 +58,9 @@ inline static bool can_switch_to_blt(struct sna *sna,
if (bo && RQ_IS_BLT(bo->rq))
return true;
+ if (sna->render_state.gt < 2)
+ return true;
+
return kgem_ring_is_idle(&sna->kgem, KGEM_BLT);
}