summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-07-26 14:58:04 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-07-26 15:04:16 +0100
commit8c0e3bbb0c301d0fa4652aa38edd84a9fd6b555e (patch)
tree63649d930bb434942977f45a90ae0c48490d8eda
parentf50d7b03b5d0b81b24f0acb4ae555545bbdaa179 (diff)
sna: Force the damage on the DRI pixmap to be flushed to the GPU
Otherwise nothing will happen if we consider ourselves wedged. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index a517cc68..d1337ccc 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2659,8 +2659,11 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags)
BoxPtr box;
int n;
- DBG(("%s(pixmap=%ld, usage=%d)\n",
- __FUNCTION__, pixmap->drawable.serialNumber, pixmap->usage_hint));
+ DBG(("%s(pixmap=%ld, usage=%d), flags=%x\n",
+ __FUNCTION__,
+ pixmap->drawable.serialNumber,
+ pixmap->usage_hint,
+ flags));
if ((flags & __MOVE_FORCE) == 0 && wedged(sna))
return NULL;
@@ -13278,7 +13281,8 @@ sna_accel_flush_callback(CallbackListPtr *list,
} else {
DBG(("%s: flushing DRI pixmap=%ld\n", __FUNCTION__,
priv->pixmap->drawable.serialNumber));
- ret = sna_pixmap_move_to_gpu(priv->pixmap, MOVE_READ);
+ ret = sna_pixmap_move_to_gpu(priv->pixmap,
+ MOVE_READ | __MOVE_FORCE);
}
(void)ret;
}