mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2026-01-20 03:28:04 +00:00
[mmx] Fix mask creation bugs
This line:
mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
only works when mask has 0s in the lower 24 bits, so add
mask &= 0xff000000;
before.
Reported by Todd Rinaldo on the #cairo IRC channel.
This commit is contained in:
parent
714559dccd
commit
a652d5c154
@ -1385,6 +1385,7 @@ mmx_composite_over_8888_n_8888 (pixman_implementation_t *imp,
|
||||
PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
|
||||
|
||||
mask = _pixman_image_get_solid (mask_image, dst_image->bits.format);
|
||||
mask &= 0xff000000;
|
||||
mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
|
||||
vmask = load8888 (mask);
|
||||
srca = MC (4x00ff);
|
||||
@ -1470,6 +1471,7 @@ mmx_composite_over_x888_n_8888 (pixman_implementation_t *imp,
|
||||
PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
|
||||
mask = _pixman_image_get_solid (mask_image, dst_image->bits.format);
|
||||
|
||||
mask &= 0xff000000;
|
||||
mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
|
||||
vmask = load8888 (mask);
|
||||
srca = MC (4x00ff);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user