diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-12-31 17:30:40 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-12-31 17:51:00 +0000 |
commit | 48a5797c0f227204d0723de0ef34b046964c571e (patch) | |
tree | 82706160f8f07575fa305eda9f26a4261bd6ae8b /src/sna/gen4_render.c | |
parent | e4f6ba6b47c41645a40e314f14047ba0b5f93a01 (diff) |
sna/gen4: Tweak single-thread SF w/a for solids
Allow multiple threads for the rare case of compositing with a solid
color.
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.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c index 3486e086..5b137f0f 100644 --- a/src/sna/gen4_render.c +++ b/src/sna/gen4_render.c @@ -1997,7 +1997,6 @@ gen4_render_composite(struct sna *sna, tmp->is_affine = tmp->src.is_affine; tmp->has_component_alpha = false; tmp->need_magic_ca_pass = false; - tmp->u.gen4.sf = 0; if (mask) { if (mask->componentAlpha && PICT_FORMAT_RGB(mask->format)) { @@ -2046,9 +2045,10 @@ gen4_render_composite(struct sna *sna, } gen4_choose_composite_emitter(tmp); - if (tmp->mask.bo == NULL && tmp->src.transform == NULL) - /* XXX using more then one thread causes corruption? */ - tmp->u.gen4.sf = 1; + /* XXX using more then one thread causes corruption? */ + tmp->u.gen4.sf = (tmp->mask.bo == NULL && + tmp->src.transform == NULL && + !tmp->src.is_solid); tmp->u.gen4.wm_kernel = gen4_choose_composite_kernel(tmp->op, |