fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ pixman_image_get_solid (pMask, mask, pDst->bits.format);
mask_alpha = vdup_n_u8((mask) >> 24);
if (width>=8)
uint8x8_t mask_selector=vreinterpret_u8_u64(vcreate_u64(0x0101010100000000ULL));
uint8x8_t alpha_selector=vreinterpret_u8_u64(vcreate_u64(0x0707070703030303ULL));
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ pixman_image_get_solid(pSrc, src, pDst->bits.format);
srca = src >> 24;
if (src == 0)
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid (pSrc, src, pDst->bits.format);
+ pixman_image_get_solid (pSrc, src, pDst->bits.format);
sa = vdup_n_u8((src) >> 24);
if (width>=8)
uint32_t kernelCount, copyCount;
uint8_t kernelOffset, copyOffset;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ pixman_image_get_solid(pSrc, src, pDst->bits.format);
// bail out if fully transparent or degenerate
srca = src >> 24;
uint32_t kernelCount, copyCount;
uint8_t kernelOffset, copyOffset;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ pixman_image_get_solid(pSrc, src, pDst->bits.format);
// bail out if fully transparent
srca = src >> 24;
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ pixman_image_get_solid (pMask, mask, pDst->bits.format);
mask = (mask) >> 24;
while (height--)
int dstStride, maskStride;
uint16_t w;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ pixman_image_get_solid(pSrc, src, pDst->bits.format);
srca = src >> 24;
if (src == 0)
uint16_t w;
uint16_t t;
- fbComposeGetSolid(iSrc, src, iDst->bits.format);
+ src = pixman_image_get_solid(iSrc, iDst->bits.format);
srca = src >> 24;
int dstStride, maskStride;
uint16_t w;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
uint16_t w;
uint32_t m, n, o, p;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
int dstStride, maskStride;
uint16_t w;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
int dstStride, maskStride;
uint16_t w;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
uint16_t w;
uint32_t m, n, o;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid (pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid (pSrc, pDst->bits.format);
sa = (src >> 24);
while (height--)
{
uint32_t src;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (pDst->bits.format == PIXMAN_a8)
src = src >> 24;
static void
image_property_changed (pixman_image_t *image)
{
-
-
image->common.property_changed (image);
}
}
}
+uint32_t
+pixman_image_get_solid (pixman_image_t *image, pixman_format_code_t format)
+{
+ uint32_t result;
+
+ _pixman_image_get_scanline_32 (image, 0, 0, 1, &result, NULL, 0);
+
+ /* If necessary, convert RGB <--> BGR. */
+ if (PIXMAN_FORMAT_TYPE (format) != PIXMAN_TYPE_ARGB)
+ {
+ result = (((result & 0xff000000) >> 0) |
+ ((result & 0x00ff0000) >> 16) |
+ ((result & 0x0000ff00) >> 0) |
+ ((result & 0x000000ff) << 16));
+ }
+
+ return result;
+}
+
pixman_bool_t
pixman_image_is_opaque (pixman_image_t *image)
{
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src >> 24 == 0)
return;
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src >> 24 == 0)
return;
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (srca == 0)
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ mask = pixman_image_get_solid (pMask, pDst->bits.format);
mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
vmask = load8888 (mask);
srca = MC(4x00ff);
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ mask = pixman_image_get_solid (pMask, pDst->bits.format);
mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
vmask = load8888 (mask);
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (srca == 0)
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (srca == 0)
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (srca == 0)
CHECKPOINT();
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (srca == 0)
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
sa = src >> 24;
if (sa == 0)
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
sa = src >> 24;
if (sa == 0)
#endif
-#define fbComposeGetSolid(img, res, fmt) \
- { \
- uint32_t __pixel; \
- \
- _pixman_image_get_scanline_32 (img, 0, 0, 1, &__pixel, NULL, 0); \
- \
- /* If necessary, convert RGB <--> BGR. */ \
- if (PIXMAN_FORMAT_TYPE(fmt) != PIXMAN_TYPE_ARGB) \
- { \
- (__pixel) = ((((__pixel) & 0xff000000) >> 0) | \
- (((__pixel) & 0x00ff0000) >> 16) | \
- (((__pixel) & 0x0000ff00) >> 0) | \
- (((__pixel) & 0x000000ff) << 16)); \
- } \
- (res) = __pixel; \
- }
-
#define fbComposeGetStart(pict,x,y,type,out_stride,line,mul) do { \
uint32_t *__bits__; \
int __stride__; \
pixman_bool_t
pixman_image_can_get_solid (pixman_image_t *image);
+uint32_t
+pixman_image_get_solid (pixman_image_t *image,
+ pixman_format_code_t format);
+
pixman_bool_t
pixman_compute_composite_region32 (pixman_region32_t * pRegion,
pixman_image_t * pSrc,
__m128i xmmSrc, xmmAlpha;
__m128i xmmDst, xmmDstLo, xmmDstHi;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src == 0)
return;
__m128i xmmSrc, xmmAlpha;
__m128i xmmDst, xmmDst0, xmmDst1, xmmDst2, xmmDst3;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src == 0)
return;
__m64 mmxSrc, mmxAlpha, mmxMask, mmxDst;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src == 0)
return;
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ mask = pixman_image_get_solid (pMask, pDst->bits.format);
xmmMask = createMask_16_128 (mask >> 24);
fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
- fbComposeGetSolid (pMask, mask, pDst->bits.format);
+ mask = pixman_image_get_solid (pMask, pDst->bits.format);
xmmMask = createMask_16_128 (mask >> 24);
xmmAlpha = Mask00ff;
__m64 mmxSrc, mmxAlpha, mmxMask, mmxDest;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
__m128i xmmSrc, xmmDef;
__m128i xmmMask, xmmMaskLo, xmmMaskHi;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
__m128i xmmMask, xmmMaskLo, xmmMaskHi;
__m128i xmmDst, xmmDst0, xmmDst1, xmmDst2, xmmDst3;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
srca = src >> 24;
if (src == 0)
__m64 mmxSrc, mmxAlpha, mmxMask, mmxDest;
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
if (src == 0)
return;
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
sa = src >> 24;
if (sa == 0)
fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1);
fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
- fbComposeGetSolid(pSrc, src, pDst->bits.format);
+ src = pixman_image_get_solid(pSrc, pDst->bits.format);
sa = src >> 24;
if (sa == 0)
uint32_t *dstLine, *dst;
int dstStride;
- fbComposeGetSolid (pSrc, pDst, src);
+ pixman_image_get_solid (pSrc, pDst, src);
if (src >> 24 == 0)
return;
uint16_t w;
int dstStride;
- fbComposeGetSolid (pSrc, pDst, src);
+ pixman_image_get_solid (pSrc, pDst, src);
if (src >> 24 == 0)
return;