summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-01-14 15:03:59 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-01-14 17:02:42 +0000
commit70c5e41b519e44e620948d683d3b1111494d2f48 (patch)
tree4c726cbf8b9cdb5b374dc0143bcd459af0b14823
parentcf860da1c78244036c59edf934b312cc1367e8aa (diff)
sna: Limit temporary userptr uploads to large busy targets or LLC machines
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index c80f51dd..9c33bb4d 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4363,8 +4363,9 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
if (USE_USERPTR_UPLOADS &&
src_priv == NULL &&
sna->kgem.has_userptr &&
- ((bo->tiling && !bo->scanout) || __kgem_bo_is_busy(&sna->kgem, bo)) &&
- box_inplace(src_pixmap, &region->extents)) {
+ box_inplace(src_pixmap, &region->extents) &&
+ ((sna->kgem.has_llc && bo->tiling && !bo->scanout) ||
+ __kgem_bo_is_busy(&sna->kgem, bo))) {
struct kgem_bo *src_bo;
bool ok = false;