summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-01-04 12:48:25 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-01-04 12:48:25 +0000
commit28a222a66bb450c7f6d61aef16fe73332854c8ce (patch)
treed8f2f861dc7ff6f1bf86ba9c55ba3c8f01fbcce8
parent99ff83a3bebf1aa25c44a87f2c344307d20bc062 (diff)
sna: Always prefer to use cacheable operations after the GPU is wedged
As rasterisation will be performed upon the CPU we need to avoid the readbacks form uncached memory and so we should restrict ourselves to only create further damage within the CPU pixmap. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index ff02849a..43d7aa16 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -662,6 +662,9 @@ static inline bool pixmap_inplace(struct sna *sna,
if (FORCE_INPLACE)
return FORCE_INPLACE > 0;
+ if (wedged(sna))
+ return false;
+
if (priv->mapped)
return true;
@@ -838,6 +841,9 @@ static inline bool region_inplace(struct sna *sna,
if (FORCE_INPLACE)
return FORCE_INPLACE > 0;
+ if (wedged(sna))
+ return false;
+
if (priv->mapped)
return true;