diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-11 16:41:22 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-11 16:57:14 +0100 |
commit | 1beaa980ea6a9617f7dd4dc87b881c37cc7a277b (patch) | |
tree | 5073d1559cda71b4ace8cad25dcdc58e2f5f2fa5 /src | |
parent | 31467b01e3f5ece0c8f8d4c03b52fc3f238b3d7e (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/sna/gen6_common.h | 3 |
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); } |