summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-10-13 22:32:00 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-10-13 22:32:00 +0100
commit020d84d2d09c71a8209dd774a0735a3c11cb148d (patch)
tree61342f0a48f0fcaf2838c2bd3924fcb46ba5914c
parentb7fd6906c41e328649b97e16c42848a39f6e48f8 (diff)
sna/accel: Fix sense of nothing-to-do due to clipping
A missing not due to a hasty conversion from an assert. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_accel.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 49264990..10737573 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -3174,16 +3174,20 @@ sna_glyph_blt(DrawablePtr drawable, GCPtr gc,
uint8_t rop = transparent ? ROP[gc->alu] : ROP_S;
RegionRec clip;
- if (priv->gpu_bo->tiling == I915_TILING_Y)
+ if (priv->gpu_bo->tiling == I915_TILING_Y) {
+ DBG(("%s -- fallback, dst uses Y-tiling\n", __FUNCTION__));
return false;
+ }
region_set(&clip, extents);
region_maybe_clip(&clip, gc->pCompositeClip);
- if (RegionNotEmpty(&clip))
- return false;
+ if (!RegionNotEmpty(&clip))
+ return true;
/* XXX loop over clips using SETUP_CLIP? */
if (clip.data != NULL) {
+ DBG(("%s -- fallback too many clip rects [%d]\n",
+ __FUNCTION__, REGION_NUM_RECTS(&clip)));
RegionUninit(&clip);
return false;
}