xf86-video-intel: 2 commits - src/sna/sna_accel.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Jun 13 13:45:37 PDT 2014
src/sna/sna_accel.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
New commits:
commit 15485602d8451bcf6c2e979ccbd9cdc11111bcce
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 13 20:30:25 2014 +0100
sna: Use the right is-clipped hint
The region here has yet to be clipped, and so the only valid is-clipped
hint is from the flags computed from the PolyRect extents. Make sure we
use those when determining whether it is valid to discard damage.
Fixes regression from
commit ad0390068832ad4727371902fe41a85a53de1894 [2.99.903]
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Sep 24 10:00:03 2013 +0100
sna: Separate out copy preferrence from operating in place decision
Reported-by: Nick Bowler <nbowler at draconx.ca>
Tested-by: Nick Bowler <nbowler at draconx.ca>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79992
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 13fe6ed..ce04ca0 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -14382,16 +14382,15 @@ sna_poly_fill_rect(DrawablePtr draw, GCPtr gc, int n, xRectangle *rect)
RegionTranslate(®ion, dx, dy);
}
- if (region_subsumes_drawable(®ion, &pixmap->drawable)) {
- discard_cpu_damage(sna, priv);
- hint |= IGNORE_CPU | REPLACES;
- } else {
- if ((flags & 2) == 0)
- hint |= IGNORE_CPU;
- if (priv->cpu_damage &&
- region_subsumes_damage(®ion, priv->cpu_damage)) {
+ if ((flags & 2) == 0) {
+ hint |= IGNORE_CPU;
+ if (region_subsumes_drawable(®ion, &pixmap->drawable)) {
discard_cpu_damage(sna, priv);
- hint |= IGNORE_CPU;
+ hint |= REPLACES;
+ } else {
+ if (priv->cpu_damage &&
+ region_subsumes_damage(®ion, priv->cpu_damage))
+ discard_cpu_damage(sna, priv);
}
}
if (priv->cpu_damage == NULL) {
commit b082a07a69ba5490fba47766c4f608b1cdf2427e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 13 18:56:57 2014 +0100
sna: Only discard the CPU bo if we have a GPU bo to transfer the damage to
References: https://bugs.freedesktop.org/show_bug.cgi?id=79992
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 72c16d3..13fe6ed 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -6005,7 +6005,8 @@ static void discard_cpu_damage(struct sna *sna, struct sna_pixmap *priv)
sna_damage_destroy(&priv->cpu_damage);
list_del(&priv->flush_list);
- sna_pixmap_free_cpu(sna, priv, priv->cpu);
+ if (priv->gpu_bo && sna_pixmap_free_cpu(sna, priv, priv->cpu))
+ sna_damage_all(&priv->gpu_damage, priv->pixmap);
priv->cpu = false;
}
More information about the xorg-commit
mailing list