From b3d3c0e8e75a963262e4dc463fef60d7e9f1f01a Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 20 Jun 2014 20:01:23 +0100 Subject: [PATCH] sna: Avoid blending with the render engine on snoopable bo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This seems slightly weird, as there is nothing to indicate that this would generate incorrect results only for snoopable bo. But no many of flushes make my pnv box happy, so adjust the placement logic to move the blending operation away from the snoopable target. This is sensible for reasons of avoiding snoops from the render pipeline anyway. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80253 Reported-and-tested-by: Matti Hämäläinen Signed-off-by: Chris Wilson --- src/sna/sna_accel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index f3c42cea..27bbc069 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3812,6 +3812,9 @@ cpu_fail: if (priv->cpu_bo->pitch >= 4096) goto move_to_gpu; + if ((flags & IGNORE_CPU) == 0 && priv->cpu_bo->snoop) + goto move_to_gpu; + if (!sna->kgem.can_blt_cpu) goto move_to_gpu; }