Also use this function in the xBGR case
authorSøren Sandmann Pedersen <sandmann@redhat.com>
Mon, 18 Jun 2007 03:10:23 +0000 (23:10 -0400)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Mon, 18 Jun 2007 03:10:23 +0000 (23:10 -0400)
pixman/pixman-pict.c

index bd4c1f1..5e13529 100644 (file)
@@ -1465,17 +1465,22 @@ pixman_image_composite (pixman_op_t      op,
                }
                else
                {
-                   if (pSrc->bits.format == PIXMAN_x8r8g8b8    &&
-                       pMask->bits.format == PIXMAN_a8         &&
-                       (pDst->bits.format == PIXMAN_a8r8g8b8 ||
-                        pDst->bits.format == PIXMAN_x8r8g8b8))
+                   if (pMask->bits.format == PIXMAN_a8)
                    {
+                       if ((pSrc->bits.format == PIXMAN_x8r8g8b8 &&
+                            (pDst->bits.format == PIXMAN_x8r8g8b8 ||
+                             pDst->bits.format == PIXMAN_a8r8g8b8))  ||
+                           (pSrc->bits.format == PIXMAN_x8b8g8r8 &&
+                            (pDst->bits.format == PIXMAN_x8b8g8r8 ||
+                             pDst->bits.format == PIXMAN_a8b8g8r8)))
+                       {
 #ifdef USE_MMX
-                       if (pixman_have_mmx())
-                           func = fbCompositeOver_x888x8x8888mmx;
-                       else
+                           if (pixman_have_mmx())
+                               func = fbCompositeOver_x888x8x8888mmx;
+                           else
 #endif
-                           func = fbCompositeOver_x888x8x8888;
+                               func = fbCompositeOver_x888x8x8888;
+                       }
                    }
                }
            }