diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-02-05 10:11:14 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-02-05 10:16:10 +0000 |
commit | 1565917f10d9fb3c7e2e7e273173c38c364b9861 (patch) | |
tree | 28db50fe47dca6799733b14fedf35d94fbb39c7d /src/sna/gen4_render.c | |
parent | 37bc822190f36be7b021167ba4d306bbcd97957b (diff) |
sna/gen4: Disable non-rectilinear GPU span compositing
This seems to be the primary victim of the render corruption, so disable
until the root cause is fixed.
References: https://bugs.freedesktop.org/show_bug.cgi?id=55500
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 | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c index 7fc85209..a387cf9d 100644 --- a/src/sna/gen4_render.c +++ b/src/sna/gen4_render.c @@ -50,6 +50,7 @@ * the BLT engine. */ #define FORCE_SPANS 0 +#define FORCE_NONRECTILINEAR_SPANS -1 #define NO_COMPOSITE 0 #define NO_COMPOSITE_SPANS 0 @@ -2112,7 +2113,12 @@ gen4_check_composite_spans(struct sna *sna, return FORCE_SPANS > 0; if ((flags & COMPOSITE_SPANS_RECTILINEAR) == 0) { - struct sna_pixmap *priv = sna_pixmap_from_drawable(dst->pDrawable); + struct sna_pixmap *priv; + + if (FORCE_NONRECTILINEAR_SPANS) + return FORCE_NONRECTILINEAR_SPANS > 0; + + priv = sna_pixmap_from_drawable(dst->pDrawable); assert(priv); if (priv->cpu_bo && kgem_bo_is_busy(priv->cpu_bo)) @@ -2176,6 +2182,8 @@ gen4_render_composite_spans(struct sna *sna, } tmp->base.mask.bo = NULL; + tmp->base.mask.filter = SAMPLER_FILTER_NEAREST; + tmp->base.mask.repeat = SAMPLER_EXTEND_NONE; tmp->base.is_affine = tmp->base.src.is_affine; tmp->base.has_component_alpha = false; |