summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-08-28 14:51:09 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-08-28 14:52:22 +0100
commit92a43caab96e7f49c541fb999b75925914d9981a (patch)
tree5f91f795441901ca64e3b08491d81e5ce3dec988
parentf22d7f68b8b1bd5caf5ae831fca63eb1e6957520 (diff)
sna/gen6+: Don't force a ring switch for likely TLB misses if already busy
If the target is already on the render ring, don't force the switch away. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/gen6_render.c3
-rw-r--r--src/sna/gen7_render.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index e63a0cf2..1db6c958 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1891,6 +1891,9 @@ inline static bool can_switch_to_blt(struct sna *sna,
static inline bool untiled_tlb_miss(struct kgem_bo *bo)
{
+ if (kgem_bo_is_render(bo))
+ return false;
+
return bo->tiling == I915_TILING_NONE && bo->pitch >= 4096;
}
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index ad8e2b7e..e92a83bb 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -2178,6 +2178,9 @@ inline static bool prefer_blt_ring(struct sna *sna,
struct kgem_bo *bo,
unsigned flags)
{
+ if (kgem_bo_is_render(bo))
+ return false;
+
return can_switch_to_blt(sna, bo, flags);
}