pixman: Branch 'master' - 2 commits
Søren Sandmann Pedersen
sandmann at kemper.freedesktop.org
Fri Jun 26 16:25:25 PDT 2009
pixman/pixman-arm-neon.c | 15 ++++++++-------
pixman/pixman-arm-simd.c | 5 +++--
2 files changed, 11 insertions(+), 9 deletions(-)
New commits:
commit 996e59f7f81864f7935d6dd58d8efd5a5ea265ea
Author: Guillaume Letellier <glet.n800 at googlemail.com>
Date: Fri Jun 26 19:02:08 2009 -0400
Fix ARM build.
Commit 6e20c2574354d1cb071a1201ff166cb5e92c00d2 broke the build on ARM
architectures by not updating the use of fbComposeGetSolid()
correctly.
diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
index b88ede8..cbd3a92 100644
--- a/pixman/pixman-arm-neon.c
+++ b/pixman/pixman-arm-neon.c
@@ -459,7 +459,7 @@ fbCompositeSrc_8888x8x8888neon (
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- _pixman_image_get_solid (pMask, mask, pDst->bits.format);
+ mask = _pixman_image_get_solid (pMask, pDst->bits.format);
mask_alpha = vdup_n_u8((mask) >> 24);
if (width>=8)
@@ -656,8 +656,9 @@ fbCompositeSolidMask_nx8x8888neon (
uint8x8_t mask_selector=vreinterpret_u8_u64(vcreate_u64(0x0101010100000000ULL));
uint8x8_t alpha_selector=vreinterpret_u8_u64(vcreate_u64(0x0707070703030303ULL));
- _pixman_image_get_solid(pSrc, src, pDst->bits.format);
+ src = _pixman_image_get_solid(pSrc, pDst->bits.format);
+ // bail out if fully transparent
srca = src >> 24;
if (src == 0)
return;
@@ -861,7 +862,7 @@ fbCompositeSrcAdd_8888x8x8neon (
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- _pixman_image_get_solid (pSrc, src, pDst->bits.format);
+ src = _pixman_image_get_solid (pSrc, pDst->bits.format);
sa = vdup_n_u8((src) >> 24);
if (width>=8)
@@ -1732,7 +1733,7 @@ fbCompositeSolidMask_nx8x0565neon (
uint32_t kernelCount, copyCount;
uint8_t kernelOffset, copyOffset;
- _pixman_image_get_solid(pSrc, src, pDst->bits.format);
+ src = _pixman_image_get_solid(pSrc, pDst->bits.format);
// bail out if fully transparent or degenerate
srca = src >> 24;
@@ -1873,7 +1874,7 @@ fbCompositeSolid_nx0565neon (
uint32_t kernelCount, copyCount;
uint8_t kernelOffset, copyOffset;
- _pixman_image_get_solid(pSrc, src, pDst->bits.format);
+ src = _pixman_image_get_solid(pSrc, pDst->bits.format);
// bail out if fully transparent
srca = src >> 24;
diff --git a/pixman/pixman-arm-simd.c b/pixman/pixman-arm-simd.c
index 1b7c14d..cccb21f 100644
--- a/pixman/pixman-arm-simd.c
+++ b/pixman/pixman-arm-simd.c
@@ -217,7 +217,7 @@ fbCompositeSrc_8888x8x8888arm (
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- _pixman_image_get_solid (pMask, mask, pDst->bits.format);
+ mask = _pixman_image_get_solid (pMask, pDst->bits.format);
mask = (mask) >> 24;
while (height--)
@@ -321,8 +321,9 @@ fbCompositeSolidMask_nx8x8888arm (
int dstStride, maskStride;
uint16_t w;
- _pixman_image_get_solid(pSrc, src, pDst->bits.format);
+ src = _pixman_image_get_solid(pSrc, pDst->bits.format);
+ // bail out if fully transparent
srca = src >> 24;
if (src == 0)
return;
commit e8addcc69a36375d1330749e00854d9651c8f8d0
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date: Fri Jun 26 18:58:23 2009 -0400
Change checks for srca == 0 to src == 0
It is not generally correct to bail out just because the source alpha
is 0. The color channels still mig not be and in that case the correct
result is:
s + (1 - srca) * d = s + d
which is not generally 0.
diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
index b4f9a27..b88ede8 100644
--- a/pixman/pixman-arm-neon.c
+++ b/pixman/pixman-arm-neon.c
@@ -1736,7 +1736,7 @@ fbCompositeSolidMask_nx8x0565neon (
// bail out if fully transparent or degenerate
srca = src >> 24;
- if(srca == 0)
+ if(src == 0)
return;
if(width == 0 || height == 0)
return;
@@ -1877,7 +1877,7 @@ fbCompositeSolid_nx0565neon (
// bail out if fully transparent
srca = src >> 24;
- if(srca == 0)
+ if(src == 0)
return;
if(width == 0 || height == 0)
return;
More information about the xorg-commit
mailing list