sna: Avoid blending with the render engine on snoopable bo

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 <ccr@tnsp.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2014-06-20 20:01:23 +01:00
parent 219f6bd9e8
commit b3d3c0e8e7
1 changed files with 3 additions and 0 deletions

View File

@ -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;
}