summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-02-26 18:44:35 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-02-26 18:44:35 +0000
commita18ce0f642fa347b61e4ca501bd2f747338a2975 (patch)
treecf1da8fe6c4c5627fe048ee4d1fbcfef986d819a
parent7bb06b02e67435354778fe87a3e0429fe3750c23 (diff)
sna: Flatten the glyph emitters
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_glyphs.c17
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,