From aefedd2baff8beaa5a5548bcf7a126ab6fca310b Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 7 Mar 2015 10:58:53 +0000 Subject: [PATCH] sna/gen6+: Prefer the BLT for small copies Signed-off-by: Chris Wilson --- src/sna/gen6_render.c | 4 ++++ src/sna/gen7_render.c | 4 ++++ src/sna/gen8_render.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 973af9d2..2afe5ee2 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2694,6 +2694,10 @@ static inline bool prefer_blt_copy(struct sna *sna, kgem_bo_is_render(src_bo)) return false; + if (flags & COPY_LAST && + can_switch_to_blt(sna, dst_bo, flags)) + return true; + if (prefer_render_ring(sna, dst_bo)) return false; diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 87b0ca6f..e8e14b54 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2897,6 +2897,10 @@ prefer_blt_copy(struct sna *sna, kgem_bo_is_render(src_bo)) return false; + if (flags & COPY_LAST && + can_switch_to_blt(sna, dst_bo, flags)) + return true; + if (prefer_render_ring(sna, dst_bo)) return false; diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c index f6747ef1..b5a4895b 100644 --- a/src/sna/gen8_render.c +++ b/src/sna/gen8_render.c @@ -2720,6 +2720,10 @@ prefer_blt_copy(struct sna *sna, kgem_bo_is_render(src_bo)) return false; + if (flags & COPY_LAST && + can_switch_to_blt(sna, dst_bo, flags)) + return true; + if (prefer_render_ring(sna, dst_bo)) return false;