diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-08-28 14:51:09 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-08-28 14:52:22 +0100 |
commit | 92a43caab96e7f49c541fb999b75925914d9981a (patch) | |
tree | 5f91f795441901ca64e3b08491d81e5ce3dec988 | |
parent | f22d7f68b8b1bd5caf5ae831fca63eb1e6957520 (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.c | 3 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 3 |
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); } |