summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-05-20 10:33:17 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-05-20 10:41:12 +0100
commit5a7a9c93e7f807ae8ee7504ff308e9676dbe8d25 (patch)
treeae92a8049d93ec671e879c539c1f5e7801ddf545 /src
parentced090871bbc4c052fd4ac627cdd8fc7e80f0d62 (diff)
image: Tidy lerp8x4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/cairo-image-compositor.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 5a1ea4a6..b0afc5d4 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -1921,15 +1921,10 @@ mul8_8 (uint8_t a, uint8_t b)
static inline uint32_t
lerp8x4 (uint32_t src, uint8_t a, uint32_t dst)
{
- uint8_t ia = ~a;
- uint32_t r1, r2;
-
- r1 = add8x2_8x2 (mul8x2_8 (src, a),
- mul8x2_8 (dst, ia));
- r2 = add8x2_8x2 (mul8x2_8 (src >> G_SHIFT, a),
- mul8x2_8 (dst >> G_SHIFT, ia));
-
- return r1 | (r2 << G_SHIFT);
+ return (add8x2_8x2 (mul8x2_8 (src, a),
+ mul8x2_8 (dst, ~a)) |
+ add8x2_8x2 (mul8x2_8 (src >> G_SHIFT, a),
+ mul8x2_8 (dst >> G_SHIFT, ~a)) << G_SHIFT);
}
static cairo_status_t