From 8bb58a3ce83d6b9c1f6796ce8e62450bdaa52cf0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Wed, 5 Aug 2009 21:24:50 -0400 Subject: [PATCH] Don't run fast paths if the format requires wide compositing. This could happen because the wide formats would still be considered solid if the image was 1x1 and repeating. --- pixman/pixman-utils.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pixman/pixman-utils.c b/pixman/pixman-utils.c index 1396fb7..961c6c6 100644 --- a/pixman/pixman-utils.c +++ b/pixman/pixman-utils.c @@ -663,7 +663,8 @@ _pixman_run_fast_path (const pixman_fast_path_t *paths, if (has_fast_path && src->type == BITS) { has_fast_path = !src->bits.read_func && - !src->bits.write_func; + !src->bits.write_func && + !PIXMAN_FORMAT_IS_WIDE (src->bits.format); } } @@ -674,9 +675,10 @@ _pixman_run_fast_path (const pixman_fast_path_t *paths, !mask->common.alpha_map && !mask->bits.read_func && !mask->bits.write_func && - mask->common.filter != PIXMAN_FILTER_CONVOLUTION && - mask->common.repeat != PIXMAN_REPEAT_PAD && - mask->common.repeat != PIXMAN_REPEAT_REFLECT; + mask->common.filter != PIXMAN_FILTER_CONVOLUTION && + mask->common.repeat != PIXMAN_REPEAT_PAD && + mask->common.repeat != PIXMAN_REPEAT_REFLECT; + !PIXMAN_FORMAT_IS_WIDE (src->bits.format); } if (has_fast_path) -- 2.7.4