From: Søren Sandmann Pedersen Date: Sat, 7 Nov 2009 20:28:57 +0000 (-0500) Subject: Don't call _pixman_implementation_composite() anymore. X-Git-Tag: 1.0_branch~639^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=488480301c7ca9cb4e41c8d0f489fb56e5d9efdd;p=profile%2Fivi%2Fpixman.git Don't call _pixman_implementation_composite() anymore. Instead just call _pixman_run_fast_path(). Since we view general_composite() as a fast path now, we know that it will find *some* compositing routine. --- diff --git a/pixman/pixman.c b/pixman/pixman.c index 9ab875d..f70823e 100644 --- a/pixman/pixman.c +++ b/pixman/pixman.c @@ -192,6 +192,7 @@ pixman_image_composite32 (pixman_op_t op, int mask_dx, mask_dy; uint32_t *dest_bits; int dest_dx, dest_dy; + pixman_implementation_t *i; _pixman_image_validate (src); if (mask) @@ -221,13 +222,19 @@ pixman_image_composite32 (pixman_op_t op, if (dest->common.need_workaround) apply_workaround (dest, &dest_x, &dest_y, &dest_bits, &dest_dx, &dest_dy); - _pixman_implementation_composite (imp, op, - src, mask, dest, - src_x, src_y, - mask_x, mask_y, - dest_x, dest_y, - width, height); - + for (i = imp; i != NULL; i = i->delegate) + { + if (_pixman_run_fast_path (i->fast_paths, imp, + op, src, mask, dest, + src_x, src_y, + mask_x, mask_y, + dest_x, dest_y, + width, height)) + { + break; + } + } + if (src->common.need_workaround) unapply_workaround (src, src_bits, src_dx, src_dy); if (mask && mask->common.need_workaround)