diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-02-26 18:44:35 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-02-26 18:44:35 +0000 |
commit | a18ce0f642fa347b61e4ca501bd2f747338a2975 (patch) | |
tree | cf1da8fe6c4c5627fe048ee4d1fbcfef986d819a | |
parent | 7bb06b02e67435354778fe87a3e0429fe3750c23 (diff) |
sna: Flatten the glyph emitters
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_glyphs.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c index 5fed8b41..3b1cf379 100644 --- a/src/sna/sna_glyphs.c +++ b/src/sna/sna_glyphs.c @@ -502,7 +502,7 @@ static void apply_damage_clipped_to_dst(struct sna_composite_op *op, sna_damage_add_box(op->damage, &box); } -static bool +flatten static bool glyphs_to_dst(struct sna *sna, CARD8 op, PicturePtr src, @@ -830,7 +830,7 @@ sna_glyph_get_image(GlyphPtr g, ScreenPtr s) return image; } -static bool +flatten static bool glyphs_via_mask(struct sna *sna, CARD8 op, PicturePtr src, @@ -1694,17 +1694,10 @@ sna_glyphs(CARD8 op, goto fallback; } - if (mask == NULL) { - if (glyphs_to_dst(sna, op, - src, dst, - src_x, src_y, - nlist, list, glyphs)) - return; - } - /* Try to discard the mask for non-overlapping glyphs */ - if (mask && dst->pCompositeClip->data == NULL && - can_discard_mask(op, src, mask, nlist, list, glyphs)) { + if (mask == NULL || + (dst->pCompositeClip->data == NULL && + can_discard_mask(op, src, mask, nlist, list, glyphs))) { DBG(("%s: discarding mask\n", __FUNCTION__)); if (glyphs_to_dst(sna, op, src, dst, |