summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-04-16 14:29:53 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-04-16 14:30:41 +0100
commit57252b63f92c8f58cb62c28461d86becf463302b (patch)
tree9000cd3a5f6afb450af77e4eafe49b6f86164afc
parent5df16db52ec994fce2f3af952ad08a13c9c700aa (diff)
sna: Force GTT fallback if we cannot BLT or RENDER download
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_io.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index d6aa1294..4250f9ee 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -281,6 +281,9 @@ fallback:
if (box[n].y2 > extents.y2)
extents.y2 = box[n].y2;
}
+ if (!can_blt && sna->render.max_3d_size == 0)
+ goto fallback;
+
if (kgem_bo_can_map(kgem, src_bo)) {
/* Is it worth detiling? */
if ((extents.y2 - extents.y1 - 1) * src_bo->pitch < 4096)
@@ -849,6 +852,8 @@ bool sna_write_boxes(struct sna *sna, PixmapPtr dst,
if (box[n].y2 > extents.y2)
extents.y2 = box[n].y2;
}
+ if (!can_blt && sna->render.max_3d_size == 0)
+ goto fallback;
/* Try to avoid switching rings... */
if (!can_blt || kgem->ring == KGEM_RENDER ||