summaryrefslogtreecommitdiff
path: root/pixman/pixman-orc.c
diff options
context:
space:
mode:
Diffstat (limited to 'pixman/pixman-orc.c')
-rw-r--r--pixman/pixman-orc.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/pixman/pixman-orc.c b/pixman/pixman-orc.c
index c9ccb08..56c2042 100644
--- a/pixman/pixman-orc.c
+++ b/pixman/pixman-orc.c
@@ -112,6 +112,21 @@ orc_combine_atop_u (pixman_implementation_t *imp,
}
}
+static void
+orc_combine_xor_u (pixman_implementation_t *imp,
+ pixman_op_t op,
+ uint32_t * dst,
+ const uint32_t * src,
+ const uint32_t * mask,
+ int width)
+{
+ if (mask) {
+ orc_code_combine_xor_u (dst, src, mask, width);
+ } else {
+ orc_code_combine_xor_u_n (dst, src, width);
+ }
+}
+
pixman_bool_t
pixman_fill_orc (uint32_t *bits,
@@ -499,7 +514,7 @@ _pixman_implementation_create_orc (void)
//imp->combine_32[PIXMAN_OP_OUT_REVERSE] = orc_combine_out_reverse_u;
imp->combine_32[PIXMAN_OP_ATOP] = orc_combine_atop_u;
//imp->combine_32[PIXMAN_OP_ATOP_REVERSE] = orc_combine_atop_reverse_u;
- //imp->combine_32[PIXMAN_OP_XOR] = orc_combine_xor_u;
+ imp->combine_32[PIXMAN_OP_XOR] = orc_combine_xor_u;
imp->combine_32[PIXMAN_OP_ADD] = orc_combine_add_u;
//imp->combine_32[PIXMAN_OP_SATURATE] = orc_combine_saturate_u;