From: Michel Dänzer <[email protected]> It's more or less impossible for us to accelerate such formats at this point.
Signed-off-by: Michel Dänzer <[email protected]> --- exa/exa_render.c | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/exa/exa_render.c b/exa/exa_render.c index 1b68e1c..d4d4abf 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -1099,10 +1099,7 @@ exaCreateAlphaPicture (ScreenPtr pScreen, if (!pPictFormat) { - if (pDst->polyEdge == PolyEdgeSharp) - pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1); - else - pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8); if (!pPictFormat) return 0; } @@ -1158,6 +1155,9 @@ exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, INT16 xDst, yDst; INT16 xRel, yRel; + if (maskFormat->depth < 8) + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + miTrapezoidBounds (ntrap, traps, &bounds); if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2) @@ -1186,10 +1186,7 @@ exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, bounds.y2 - bounds.y1); FreePicture (pPicture, 0); } else { - if (pDst->polyEdge == PolyEdgeSharp) - maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); - else - maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); for (; ntrap; ntrap--, traps++) exaTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps); } @@ -1222,6 +1219,9 @@ exaTriangles (CARD8 op, PicturePtr pSrc, PicturePtr pDst, INT16 xDst, yDst; INT16 xRel, yRel; + if (maskFormat->depth < 8) + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + miTriangleBounds (ntri, tris, &bounds); if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2) @@ -1247,10 +1247,7 @@ exaTriangles (CARD8 op, PicturePtr pSrc, PicturePtr pDst, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1); FreePicture (pPicture, 0); } else { - if (pDst->polyEdge == PolyEdgeSharp) - maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); - else - maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); for (; ntri; ntri--, tris++) exaTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris); -- 1.6.5.7 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
