summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-03-14 20:19:30 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-03-14 20:21:26 +0000
commitd0e05b4294b2f150a41dd95d52c2e6ee8479283d (patch)
tree3df5d1066cc687bf6a055d34f1f1dfb313297f91
parent96ead26c4dddab637875c74a9afca6fd6662352b (diff)
sna: Don't mark cached upload buffers for inactivity expiration
As these do not follow the normal rules of damage tracking, we have to be careful not to force migration. References: https://bugs.freedesktop.org/show_bug.cgi?id=42426 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index ce13982f..e957b1bc 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2073,7 +2073,8 @@ static inline struct sna_pixmap *
sna_pixmap_mark_active(struct sna *sna, struct sna_pixmap *priv)
{
assert(priv->gpu_bo);
- if (!priv->pinned && (priv->create & KGEM_CAN_CREATE_LARGE) == 0)
+ if (!priv->pinned && priv->gpu_bo->proxy == NULL &&
+ (priv->create & KGEM_CAN_CREATE_LARGE) == 0)
list_move(&priv->inactive, &sna->active_pixmaps);
priv->clear = false;
return priv;