summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-12-18 16:17:04 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-18 16:25:49 +0000
commit301896743867de0cbd22063c4bf2e1a8cf491656 (patch)
treed28e36196c57c55f8ff3ca2c08d0ddc5ee5808ec
parentb7f5d75aa54db7d0542b09f4b3081f7692ede602 (diff)
sna: Only upload to the source GPU bo if we need tiling to avoid TLB misses
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_render.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c
index c92ecb65..40318aad 100644
--- a/src/sna/sna_render.c
+++ b/src/sna/sna_render.c
@@ -273,7 +273,8 @@ use_cpu_bo(struct sna *sna, PixmapPtr pixmap, const BoxRec *box)
goto done;
if (priv->gpu_bo) {
- if (priv->gpu_bo != I915_TILING_NONE) {
+ if (priv->gpu_bo != I915_TILING_NONE &&
+ priv->cpu_bo->pitch >= 4096) {
DBG(("%s: GPU bo exists and is tiled [%d], upload\n",
__FUNCTION__, priv->gpu_bo->tiling));
return NULL;