summaryrefslogtreecommitdiff
path: root/src/sna/gen4_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-12-12 09:50:34 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-12-12 09:50:34 +0000
commit2dbe7d91a7f15a3a9ddad696c5088ca98898fca2 (patch)
tree7c2bd5ad1b47e652e67425090c1a6dd6c000e0d0 /src/sna/gen4_render.c
parent2502218a9340044bb660be68f059971119077e29 (diff)
sna/gen4: Use the single-threaded SF w/a for spans as well
Fixes the flickering seen in the fishtank demo, for example. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen4_render.c')
-rw-r--r--src/sna/gen4_render.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 873e1a4a..75b07a3c 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -2756,9 +2756,11 @@ gen4_render_composite_spans(struct sna *sna,
tmp->base.has_component_alpha = false;
tmp->base.need_magic_ca_pass = false;
+ tmp->base.u.gen4.sf = 1;
if (tmp->base.src.is_solid) {
DBG(("%s: using solid fast emitter\n", __FUNCTION__));
tmp->prim_emit = gen4_emit_composite_spans_solid;
+ tmp->base.u.gen4.sf = 0;
} else if (tmp->base.is_affine) {
DBG(("%s: using affine fast emitter\n", __FUNCTION__));
tmp->prim_emit = gen4_emit_composite_spans_affine;
@@ -2771,7 +2773,6 @@ gen4_render_composite_spans(struct sna *sna,
tmp->base.u.gen4.wm_kernel = WM_KERNEL_OPACITY | !tmp->base.is_affine;
tmp->base.u.gen4.ve_id = 1 << 1 | tmp->base.is_affine;
- tmp->base.u.gen4.sf = 0;
tmp->box = gen4_render_composite_spans_box;
tmp->boxes = gen4_render_composite_spans_boxes;