summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-01-03 15:11:13 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-01-03 21:35:03 +0000
commitcaf41ae23d263c7baed6b23a80693690c4dfe563 (patch)
tree853204f884a26014609fe384f028e27775a703e2
parent1b688ca0cfc1e623f896e60a6a6abf724d57efb4 (diff)
sna: Force tiling on medium pitches if not reduced for other reasons
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/kgem.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 3bd65b1f..8812d23e 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1814,6 +1814,14 @@ int kgem_choose_tiling(struct kgem *kgem, int tiling, int width, int height, int
goto done;
}
+ if (tiling && width * bpp >= 8 * 4096 / 2) {
+ DBG(("%s: TLB near-miss between lines %dx%d (pitch=%d), forcing tiling %d\n",
+ __FUNCTION__,
+ width, height, width*bpp/8,
+ tiling));
+ return -tiling;
+ }
+
done:
DBG(("%s: %dx%d -> %d\n", __FUNCTION__, width, height, tiling));
return tiling;