xf86-video-intel: 3 commits - src/sna/gen4_render.c src/sna/gen7_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Sat Jul 14 08:20:03 PDT 2012
src/sna/gen4_render.c | 2 +-
src/sna/gen7_render.c | 14 ++++++--------
2 files changed, 7 insertions(+), 9 deletions(-)
New commits:
commit 50d61c38bdb720c17ba5bfcaf97032338e466d9b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jul 14 16:07:32 2012 +0100
sna/gen4: Fix typo introduced in checking dst format
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 d6623f7..c6fbddb 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -573,7 +573,7 @@ static uint32_t gen4_get_dest_format(PictFormat format)
static bool gen4_check_dst_format(PictFormat format)
{
- if (gen4_check_dst_format(format) != -1)
+ if (gen4_get_dest_format(format) != -1)
return true;
DBG(("%s: unhandled format: %x\n", __FUNCTION__, (int)format));
commit fc91b1f157f9e6e4097e662e2890574e530344ac
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jul 14 15:48:50 2012 +0100
sna/gen7: Only emit the render flushes between operations
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index f393bf6..352bd45 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -974,6 +974,9 @@ gen7_emit_state(struct sna *sna,
{
bool need_stall = false;
+ if (sna->render_state.gen7.emit_flush)
+ gen7_emit_pipe_flush(sna);
+
gen7_emit_cc(sna,
gen7_get_blend(op->op,
op->has_component_alpha,
@@ -1011,7 +1014,7 @@ gen7_emit_state(struct sna *sna,
if (need_stall)
gen7_emit_pipe_stall(sna);
- sna->render_state.gen7.emit_flush = op->op != PictOpSrc;
+ sna->render_state.gen7.emit_flush = op->op > PictOpSrc;
}
static void gen7_magic_ca_pass(struct sna *sna,
@@ -1055,11 +1058,6 @@ static void gen7_vertex_flush(struct sna *sna)
sna->kgem.batch[sna->render_state.gen7.vertex_offset] =
sna->render.vertex_index - sna->render.vertex_start;
sna->render_state.gen7.vertex_offset = 0;
-
- if (sna->render_state.gen7.emit_flush) {
- gen7_emit_pipe_flush(sna);
- sna->render_state.gen7.emit_flush = false;
- }
}
static int gen7_vertex_finish(struct sna *sna)
@@ -4293,6 +4291,7 @@ gen7_render_expire(struct kgem *kgem)
static void gen7_render_reset(struct sna *sna)
{
+ sna->render_state.gen7.emit_flush = false;
sna->render_state.gen7.needs_invariant = true;
sna->render_state.gen7.vb_id = 0;
sna->render_state.gen7.ve_id = -1;
commit d30dc59651f156e9d4572141e2c54af89d007a37
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jul 14 15:42:19 2012 +0100
sna/gen7: Only fallback to BLT for a redirected target
As we can always use a partial surface for the source.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 9e7683e..f393bf6 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -3369,8 +3369,7 @@ gen7_render_copy_boxes(struct sna *sna, uint8_t alu,
box, n))
return true;
- if ((too_large(dst->drawable.width, dst->drawable.height) ||
- too_large(src->drawable.width, src->drawable.height)) &&
+ if (too_large(dst->drawable.width, dst->drawable.height) ||
sna_blt_compare_depth(&src->drawable, &dst->drawable)) {
BoxRec extents = box[0];
int i;
More information about the xorg-commit
mailing list