summaryrefslogtreecommitdiff
path: root/src/sna/gen4_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-02-05 10:11:14 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-02-05 10:16:10 +0000
commit1565917f10d9fb3c7e2e7e273173c38c364b9861 (patch)
tree28db50fe47dca6799733b14fedf35d94fbb39c7d /src/sna/gen4_render.c
parent37bc822190f36be7b021167ba4d306bbcd97957b (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.c10
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;