Signed-off-by: Chris Wilson <[email protected]>
---
 pixman/pixman.c |   39 ++++++++++++++++++---------------------
 1 file changed, 18 insertions(+), 21 deletions(-)

diff --git a/pixman/pixman.c b/pixman/pixman.c
index 97a4590..184f0c4 100644
--- a/pixman/pixman.c
+++ b/pixman/pixman.c
@@ -581,7 +581,6 @@ pixman_image_composite32 (pixman_op_t      op,
                           int32_t          height)
 {
     pixman_format_code_t src_format, mask_format, dest_format;
-    uint32_t src_flags, mask_flags, dest_flags;
     pixman_region32_t region;
     pixman_box32_t extents;
     pixman_implementation_t *imp;
@@ -596,27 +595,27 @@ pixman_image_composite32 (pixman_op_t      op,
     _pixman_image_validate (dest);
 
     src_format = src->common.extended_format_code;
-    src_flags = src->common.flags;
+    info.src_flags = src->common.flags;
 
     if (mask && !(mask->common.flags & FAST_PATH_IS_OPAQUE))
     {
        mask_format = mask->common.extended_format_code;
-       mask_flags = mask->common.flags;
+       info.mask_flags = mask->common.flags;
     }
     else
     {
        mask_format = PIXMAN_null;
-       mask_flags = FAST_PATH_IS_OPAQUE;
+       info.mask_flags = FAST_PATH_IS_OPAQUE;
     }
 
     dest_format = dest->common.extended_format_code;
-    dest_flags = dest->common.flags;
+    info.dest_flags = dest->common.flags;
 
     /* Check for pixbufs */
     if ((mask_format == PIXMAN_a8r8g8b8 || mask_format == PIXMAN_a8b8g8r8) &&
        (src->type == BITS && src->bits.bits == mask->bits.bits)           &&
        (src->common.repeat == mask->common.repeat)                        &&
-       (src_flags & mask_flags & FAST_PATH_ID_TRANSFORM)                  &&
+       (info.src_flags & info.mask_flags & FAST_PATH_ID_TRANSFORM)        &&
        (src_x == mask_x && src_y == mask_y))
     {
        if (src_format == PIXMAN_x8b8g8r8)
@@ -641,7 +640,7 @@ pixman_image_composite32 (pixman_op_t      op,
     extents.x2 -= dest_x - src_x;
     extents.y2 -= dest_y - src_y;
 
-    if (!analyze_extent (src, &extents, &src_flags))
+    if (!analyze_extent (src, &extents, &info.src_flags))
        goto out;
 
     extents.x1 -= src_x - mask_x;
@@ -649,7 +648,7 @@ pixman_image_composite32 (pixman_op_t      op,
     extents.x2 -= src_x - mask_x;
     extents.y2 -= src_y - mask_y;
 
-    if (!analyze_extent (mask, &extents, &mask_flags))
+    if (!analyze_extent (mask, &extents, &info.mask_flags))
        goto out;
 
     /* If the clip is within the source samples, and the samples are
@@ -662,16 +661,16 @@ pixman_image_composite32 (pixman_op_t      op,
                         FAST_PATH_BILINEAR_FILTER |                    \
                         FAST_PATH_SAMPLES_COVER_CLIP_BILINEAR)
 
-    if ((src_flags & NEAREST_OPAQUE) == NEAREST_OPAQUE ||
-       (src_flags & BILINEAR_OPAQUE) == BILINEAR_OPAQUE)
+    if ((info.src_flags & NEAREST_OPAQUE) == NEAREST_OPAQUE ||
+       (info.src_flags & BILINEAR_OPAQUE) == BILINEAR_OPAQUE)
     {
-       src_flags |= FAST_PATH_IS_OPAQUE;
+       info.src_flags |= FAST_PATH_IS_OPAQUE;
     }
 
-    if ((mask_flags & NEAREST_OPAQUE) == NEAREST_OPAQUE ||
-       (mask_flags & BILINEAR_OPAQUE) == BILINEAR_OPAQUE)
+    if ((info.mask_flags & NEAREST_OPAQUE) == NEAREST_OPAQUE ||
+       (info.mask_flags & BILINEAR_OPAQUE) == BILINEAR_OPAQUE)
     {
-       mask_flags |= FAST_PATH_IS_OPAQUE;
+       info.mask_flags |= FAST_PATH_IS_OPAQUE;
     }
 
     /*
@@ -679,20 +678,18 @@ pixman_image_composite32 (pixman_op_t      op,
      * if the src or dest are opaque. The output operator should be
      * mathematically equivalent to the source.
      */
-    op = optimize_operator (op, src_flags, mask_flags, dest_flags);
+    info.op = optimize_operator (op, info.src_flags, info.mask_flags, 
info.dest_flags);
 
     _pixman_implementation_lookup_composite (
-       get_implementation (), op,
-       src_format, src_flags, mask_format, mask_flags, dest_format, dest_flags,
+       get_implementation (), info.op,
+       src_format, info.src_flags,
+       mask_format, info.mask_flags,
+       dest_format, info.dest_flags,
        &imp, &func);
 
-    info.op = op;
     info.src_image = src;
     info.mask_image = mask;
     info.dest_image = dest;
-    info.src_flags = src_flags;
-    info.mask_flags = mask_flags;
-    info.dest_flags = dest_flags;
 
     pbox = pixman_region32_rectangles (&region, &n);
 
-- 
1.7.10.4

_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to