diff --git a/pixman/src/fbpict.c b/pixman/src/fbpict.c index 25352527f..03f75f102 100644 --- a/pixman/src/fbpict.c +++ b/pixman/src/fbpict.c @@ -1642,8 +1642,14 @@ pixman_composite (pixman_operator_t op, break; #ifdef USE_MMX case PICT_x8r8g8b8: + if ((pDst->format_code == PICT_a8r8g8b8 || + pDst->format_code == PICT_x8r8g8b8) && + pMask->format_code == PICT_a8 && fbHaveMMX()) + func = fbCompositeSrc_x888x8x8888mmx; + break; case PICT_x8b8g8r8: - if (pDst->format_code == pSrc->format_code && + if ((pDst->format_code == PICT_a8b8g8r8 || + pDst->format_code == PICT_x8b8g8r8) && pMask->format_code == PICT_a8 && fbHaveMMX()) func = fbCompositeSrc_x888x8x8888mmx; break;