summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-11-13 12:42:58 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-11-13 12:43:42 +0000
commit440eaa049756e5266f3bd80e2751f1fd0d5f9890 (patch)
tree37dd2c6508da548e8bcb350027ca78617c7b9498
parentb6d2bb961517623d46aa6944307cb998ee125459 (diff)
downloadxf86-video-intel-440eaa049756e5266f3bd80e2751f1fd0d5f9890.tar.gz
xf86-video-intel-440eaa049756e5266f3bd80e2751f1fd0d5f9890.tar.bz2
xf86-video-intel-440eaa049756e5266f3bd80e2751f1fd0d5f9890.zip
sna/gen4: Tidy emission of opacity vertex attribute
Just make it more consistent between the various emitters Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/gen4_render.c20
-rw-r--r--src/sna/gen5_render.c9
2 files changed, 14 insertions, 15 deletions
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 3aa33db3d..387dd8553 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 95ff30f89..54d7c86bf 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