xf86-video-intel: 2 commits - src/sna/brw src/sna/gen4_render.c src/sna/gen5_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Tue Nov 13 04:51:08 PST 2012
src/sna/brw/brw_wm.c | 4 ++--
src/sna/gen4_render.c | 20 +++++++++++---------
src/sna/gen5_render.c | 9 +++------
3 files changed, 16 insertions(+), 17 deletions(-)
New commits:
commit d2897cb0136ffec83365c7530ed544b562cac478
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Nov 13 12:43:44 2012 +0000
sna/gen4,5: Fix the opacity shader to use the right vertex attribute
Reported-by: Edward Sheldrake <ejsheldrake at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57054
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/brw/brw_wm.c b/src/sna/brw/brw_wm.c
index f54e55e..af047a2 100644
--- a/src/sna/brw/brw_wm.c
+++ b/src/sna/brw/brw_wm.c
@@ -653,7 +653,7 @@ brw_wm_kernel__affine_opacity(struct brw_compile *p, int dispatch)
if (p->gen < 60) {
brw_wm_xy(p, dispatch);
- mask = 4;
+ mask = 5;
} else
mask = dispatch == 16 ? 8 : 6;
@@ -670,7 +670,7 @@ brw_wm_kernel__projective_opacity(struct brw_compile *p, int dispatch)
if (p->gen < 60) {
brw_wm_xy(p, dispatch);
- mask = 4;
+ mask = 5;
} else
mask = dispatch == 16 ? 8 : 6;
commit 440eaa049756e5266f3bd80e2751f1fd0d5f9890
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Nov 13 12:42:58 2012 +0000
sna/gen4: Tidy emission of opacity vertex attribute
Just make it more consistent between the various emitters
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 3aa33db..387dd85 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -2534,20 +2534,17 @@ gen4_emit_composite_spans_affine(struct sna *sna,
OUT_VERTEX(box->x2, box->y2);
gen4_emit_composite_texcoord_affine(sna, &op->base.src,
box->x2, box->y2);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(1);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(1);
OUT_VERTEX(box->x1, box->y2);
gen4_emit_composite_texcoord_affine(sna, &op->base.src,
box->x1, box->y2);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(1);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(1);
OUT_VERTEX(box->x1, box->y1);
gen4_emit_composite_texcoord_affine(sna, &op->base.src,
box->x1, box->y1);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(0);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(0);
}
fastcall static void
@@ -2697,11 +2694,16 @@ gen4_render_composite_spans(struct sna *sna,
tmp->base.has_component_alpha = false;
tmp->base.need_magic_ca_pass = false;
- tmp->prim_emit = gen4_emit_composite_spans_primitive;
- if (tmp->base.src.is_solid)
+ if (tmp->base.src.is_solid) {
+ DBG(("%s: using solid fast emitter\n", __FUNCTION__));
tmp->prim_emit = gen4_emit_composite_spans_solid;
- else if (tmp->base.is_affine)
+ } else if (tmp->base.is_affine) {
+ DBG(("%s: using affine fast emitter\n", __FUNCTION__));
tmp->prim_emit = gen4_emit_composite_spans_affine;
+ } else {
+ DBG(("%s: using general emitter\n", __FUNCTION__));
+ tmp->prim_emit = gen4_emit_composite_spans_primitive;
+ }
tmp->base.floats_per_vertex = 5 + 2*!tmp->base.is_affine;
tmp->base.floats_per_rect = 3 * tmp->base.floats_per_vertex;
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 95ff30f..54d7c86 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -2545,20 +2545,17 @@ gen5_emit_composite_spans_affine(struct sna *sna,
OUT_VERTEX(box->x2, box->y2);
gen5_emit_composite_texcoord_affine(sna, &op->base.src,
box->x2, box->y2);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(1);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(1);
OUT_VERTEX(box->x1, box->y2);
gen5_emit_composite_texcoord_affine(sna, &op->base.src,
box->x1, box->y2);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(1);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(1);
OUT_VERTEX(box->x1, box->y1);
gen5_emit_composite_texcoord_affine(sna, &op->base.src,
box->x1, box->y1);
- OUT_VERTEX_F(opacity);
- OUT_VERTEX_F(0);
+ OUT_VERTEX_F(opacity); OUT_VERTEX_F(0);
}
fastcall static void
More information about the xorg-commit
mailing list