xf86-video-intel: 3 commits - src/sna/gen4_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Tue Nov 6 08:41:29 PST 2012
src/sna/gen4_render.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
New commits:
commit b2245838c15b54d72557de8facb7cc15d59624ae
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Nov 6 16:32:32 2012 +0000
sna/gen4: opacity spans requires the per-rectangle flush w/a
Note that this is worsened, but not caused, by:
commit e1a63de8991a6586b83c06bcb3369208871cf43d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Nov 2 09:10:32 2012 +0000
sna/gen4+: Prefer GPU spans if the destination is active
References: https://bugs.freedesktop.org/show_bug.cgi?id=55500
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 76d1cb1..6d44a4a 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -2564,6 +2564,8 @@ gen4_render_composite_spans_box(struct sna *sna,
gen4_get_rectangles(sna, &op->base, 1, gen4_bind_surfaces);
op->prim_emit(sna, op, box, opacity);
+
+ _FLUSH();
}
static void
commit a0540ebff083974688c863e08203e3d71a297340
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Nov 6 16:00:42 2012 +0000
sna/gen4: Remove a couple of old, now redundant, w/a flushes
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index f095ea6..76d1cb1 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -237,9 +237,6 @@ static void gen4_magic_ca_pass(struct sna *sna,
assert(op->mask.bo != NULL);
assert(op->has_component_alpha);
- if (FLUSH_EVERY_VERTEX)
- OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
-
gen4_emit_pipelined_pointers(sna, op, PictOpAdd,
gen4_choose_composite_kernel(PictOpAdd,
true, true, op->is_affine));
@@ -1382,9 +1379,6 @@ gen4_emit_state(struct sna *sna,
{
bool flush = false;
- if (FLUSH_EVERY_VERTEX)
- OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
-
gen4_emit_drawing_rectangle(sna, op);
flush |= gen4_emit_binding_table(sna, wm_binding_table);
flush |= gen4_emit_pipelined_pointers(sna, op, op->op, op->u.gen4.wm_kernel);
commit aaaa6c356456a4bab595c6e6485893c538064e37
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Nov 6 14:34:51 2012 +0000
sna/gen4: Flush after pipelined pointer updates (inverted logic!)
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 9d95bae..f095ea6 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -1266,7 +1266,7 @@ gen4_emit_pipelined_pointers(struct sna *sna,
key = sp | bp << 16;
if (key == sna->render_state.gen4.last_pipelined_pointers)
- return true;
+ return false;
OUT_BATCH(GEN4_3DSTATE_PIPELINED_POINTERS | 5);
OUT_BATCH(sna->render_state.gen4.vs);
@@ -1278,7 +1278,7 @@ gen4_emit_pipelined_pointers(struct sna *sna,
sna->render_state.gen4.last_pipelined_pointers = key;
gen4_emit_urb(sna);
- return false;
+ return true;
}
static void
More information about the xorg-commit
mailing list