summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-11-08 16:18:58 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-11-08 18:12:04 +0000
commit7b95f87b26675af3a1923fef824c45e087098d61 (patch)
treeecb71c3978ce79076514e03194d70da810951f8c
parent9a8d3a9dfff8be65b4ab28312ec49dbca36019e0 (diff)
sna: Use the blitter for overlapping lines if the alu doesn't read dst
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 873007df..b9b82cc1 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4056,9 +4056,8 @@ sna_poly_line(DrawablePtr drawable, GCPtr gc,
gc->lineWidth,
gc->planemask, PM_IS_SOLID(drawable, gc->planemask),
flags & 2));
- if (gc->fillStyle == FillSolid &&
- gc->lineStyle == LineSolid &&
- (gc->lineWidth == 0 || (gc->lineWidth == 1 && n == 1)) &&
+ if (gc->fillStyle == FillSolid && gc->lineStyle == LineSolid &&
+ (gc->lineWidth == 0 || (gc->lineWidth == 1 && (n == 1 || gc->alu == GXcopy))) &&
PM_IS_SOLID(drawable, gc->planemask)) {
struct sna_pixmap *priv = sna_pixmap_from_drawable(drawable);
struct sna_damage **damage;