xf86-video-intel: 2 commits - src/sna/gen3_render.c src/sna/gen4_render.c src/sna/gen5_render.c src/sna/gen6_render.c src/sna/gen7_render.c src/sna/sna_accel.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Jun 14 14:38:10 PDT 2013
src/sna/gen3_render.c | 1 -
src/sna/gen4_render.c | 1 -
src/sna/gen5_render.c | 1 -
src/sna/gen6_render.c | 1 -
src/sna/gen7_render.c | 1 -
src/sna/sna_accel.c | 9 +++++++--
6 files changed, 7 insertions(+), 7 deletions(-)
New commits:
commit cafa33a522ac634d465f24d0a1607516e65a0828
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Jun 13 22:51:42 2013 +0100
sna/gen3+: Remove redundant clearing of clear hint in video playback
The clear hint is correctly updated when performing the move-to-gpu and
so it is being superfluously repeated by the callers.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index 3c30623..13a46d3 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -5533,7 +5533,6 @@ gen3_render_video(struct sna *sna,
pix_xoff, pix_yoff);
}
}
- priv->clear = false;
return true;
}
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index addd838..e6b6d44 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -1432,7 +1432,6 @@ gen4_render_video(struct sna *sna,
OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
} while (1);
- priv->clear = false;
return true;
}
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 5870c02..11b9069 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -1406,7 +1406,6 @@ gen5_render_video(struct sna *sna,
}
box++;
}
- priv->clear = false;
gen4_vertex_flush(sna);
return true;
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 007d2ff..5cdfec7 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1692,7 +1692,6 @@ gen6_render_video(struct sna *sna,
}
box++;
}
- priv->clear = false;
gen4_vertex_flush(sna);
return true;
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 20dc6d8..49a82e1 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1882,7 +1882,6 @@ gen7_render_video(struct sna *sna,
}
box++;
}
- priv->clear = false;
gen4_vertex_flush(sna);
return true;
commit 45ca894bce73e199d679b9f147c52ada59e40ccb
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Jun 13 16:47:10 2013 +0100
sna: Tighten a few asserts on pixmap migration
Tracking to track down where the CPU hint may be set to true but the
pixmap remain entirely damaged on the GPU.
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 5d96ac5..4ec21fd 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -1783,6 +1783,7 @@ _sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned int flags)
pixmap->drawable.height,
flags));
+ assert(flags & (MOVE_READ | MOVE_WRITE));
assert_pixmap_damage(pixmap);
priv = sna_pixmap(pixmap);
@@ -2061,7 +2062,8 @@ done:
sna_pixmap_free_gpu(sna, priv);
}
}
- priv->cpu = (flags & MOVE_ASYNC_HINT) == 0;
+ priv->cpu = (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0;
+ assert(priv->cpu == false || !DAMAGE_IS_ALL(priv->gpu_damage));
assert(pixmap->devPrivate.ptr);
assert(pixmap->devKind);
assert_pixmap_damage(pixmap);
@@ -2191,6 +2193,7 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
if (flags & MOVE_WRITE) {
assert_drawable_contains_box(drawable, ®ion->extents);
}
+ assert(flags & (MOVE_WRITE | MOVE_READ));
if (box_empty(®ion->extents))
return true;
@@ -2593,6 +2596,7 @@ done:
out:
if (flags & MOVE_WRITE) {
+ assert(!DAMAGE_IS_ALL(priv->gpu_damage));
priv->source_count = SOURCE_BIAS;
assert(priv->gpu_bo == NULL || priv->gpu_bo->proxy == NULL);
assert(priv->gpu_bo || priv->gpu_damage == NULL);
@@ -2606,7 +2610,8 @@ 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_ASYNC_HINT) == 0;
+ priv->cpu = (flags & (MOVE_INPLACE_HINT | MOVE_ASYNC_HINT)) == 0;
+ assert(priv->cpu == false || !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