*(mask) = a;
}
-
-
FASTCALL static void
fbCombineClearC (comp4_t *dest, const comp4_t *src, const comp4_t *mask, int width)
{
fbCombineConjointGeneralC (dest, src, mask, width, CombineXor);
}
-static CombineFuncU pixman_fbCombineFuncU[] = {
+static CombineFunc pixman_fbCombineFuncU[] = {
fbCombineClear,
fbCombineSrcU,
NULL, /* CombineDst */
fbCombineConjointXorU,
};
-static CombineFuncC pixman_fbCombineFuncC[] = {
+static CombineFunc pixman_fbCombineFuncC[] = {
fbCombineClearC,
fbCombineSrcC,
NULL, /* Dest */
data->mask->common.component_alpha &&
PIXMAN_FORMAT_RGB (data->mask->bits.format))
{
- CombineFuncC32 compose =
- wide ? (CombineFuncC32)pixman_composeFunctions64.combineC[data->op] :
+ CombineFunc32 compose =
+ wide ? (CombineFunc32)pixman_composeFunctions64.combineC[data->op] :
pixman_composeFunctions.combineC[data->op];
if (!compose)
return;
- for (i = 0; i < data->height; ++i) {
+ if (!fetchMask)
+ mask_buffer = NULL;
+
+ for (i = 0; i < data->height; ++i)
+ {
/* fill first half of scanline with source */
if (fetchSrc)
{
{
void *src_mask_buffer = 0;
const int useMask = (fetchMask != NULL);
- CombineFuncU32 compose =
- wide ? (CombineFuncU32)pixman_composeFunctions64.combineU[data->op] :
+ CombineFunc32 compose =
+ wide ? (CombineFunc32)pixman_composeFunctions64.combineU[data->op] :
pixman_composeFunctions.combineU[data->op];
if (!compose)
return;
*/
#define FASTCALL
-typedef FASTCALL void (*CombineMaskU32) (uint32_t *src, const uint32_t *mask, int width);
-typedef FASTCALL void (*CombineFuncU32) (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width);
-typedef FASTCALL void (*CombineFuncC32) (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width);
+typedef FASTCALL void (*CombineMask32) (uint32_t *src, const uint32_t *mask, int width);
+typedef FASTCALL void (*CombineFunc32) (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width);
typedef FASTCALL void (*fetchProc32)(bits_image_t *pict, int x, int y, int width,
uint32_t *buffer);
typedef FASTCALL uint32_t (*fetchPixelProc32)(bits_image_t *pict, int offset, int line);
const uint32_t *values, int x, int width,
const pixman_indexed_t *);
-typedef FASTCALL void (*CombineMaskU64) (uint64_t *src, const uint64_t *mask, int width);
-typedef FASTCALL void (*CombineFuncU64) (uint64_t *dest, const uint64_t *src, const uint64_t *mask, int width);
-typedef FASTCALL void (*CombineFuncC64) (uint64_t *dest, const uint64_t *src, const uint64_t *mask, int width);
+typedef FASTCALL void (*CombineMask64) (uint64_t *src, const uint64_t *mask, int width);
+typedef FASTCALL void (*CombineFunc64) (uint64_t *dest, const uint64_t *src, const uint64_t *mask, int width);
typedef FASTCALL void (*fetchProc64)(bits_image_t *pict, int x, int y, int width,
uint64_t *buffer);
typedef FASTCALL uint64_t (*fetchPixelProc64)(bits_image_t *pict, int offset, int line);
} FbComposeData;
typedef struct _FbComposeFunctions32 {
- CombineFuncU32 *combineU;
- CombineFuncC32 *combineC;
- CombineMaskU32 combineMaskU;
+ CombineFunc32 *combineU;
+ CombineFunc32 *combineC;
+ CombineMask32 combineMaskU;
} FbComposeFunctions32;
typedef struct _FbComposeFunctions64 {
- CombineFuncU64 *combineU;
- CombineFuncC64 *combineC;
- CombineMaskU64 combineMaskU;
+ CombineFunc64 *combineU;
+ CombineFunc64 *combineC;
+ CombineMask64 combineMaskU;
} FbComposeFunctions64;
extern FbComposeFunctions32 pixman_composeFunctions;