xf86-video-intel: src/sna/sna_accel.c
Chris Wilson
ickle at kemper.freedesktop.org
Sat Jun 15 04:29:56 PDT 2013
src/sna/sna_accel.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
New commits:
commit 7ebcf94736926d4c7bb5ba1627be0a62b15c1663
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jun 15 12:27:19 2013 +0100
sna: Be explicit in not marking an upload buffer as being on the cpu
Since the upload buffer is special in that it simultaneously exists on
both the CPU and GPU, we need to be extremely careful in marking the cpu
hint flag and asserting it. In particular, the new stricter assert was
firing in the CompositeTrapezoids fallback path.
Reported-by: Jiri Slaby <jirislaby at gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 4ec21fd..203d40f 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2062,8 +2062,9 @@ done:
sna_pixmap_free_gpu(sna, priv);
}
}
- priv->cpu = (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0;
- assert(priv->cpu == false || !DAMAGE_IS_ALL(priv->gpu_damage));
+ priv->cpu =
+ (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0 &&
+ !DAMAGE_IS_ALL(priv->gpu_damage);
assert(pixmap->devPrivate.ptr);
assert(pixmap->devKind);
assert_pixmap_damage(pixmap);
@@ -2610,8 +2611,9 @@ out:
assert(pixmap->devPrivate.ptr == (void *)((unsigned long)priv->cpu_bo->map & ~3));
assert((flags & MOVE_WRITE) == 0 || !kgem_bo_is_busy(priv->cpu_bo));
}
- priv->cpu = (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0;
- assert(priv->cpu == false || !DAMAGE_IS_ALL(priv->gpu_damage));
+ priv->cpu =
+ (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0 &&
+ !DAMAGE_IS_ALL(priv->gpu_damage);
assert(pixmap->devPrivate.ptr);
assert(pixmap->devKind);
assert_pixmap_damage(pixmap);
More information about the xorg-commit
mailing list