diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-13 22:32:00 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-13 22:32:00 +0100 |
commit | 020d84d2d09c71a8209dd774a0735a3c11cb148d (patch) | |
tree | 61342f0a48f0fcaf2838c2bd3924fcb46ba5914c | |
parent | b7fd6906c41e328649b97e16c42848a39f6e48f8 (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.c | 10 |
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; } |