The A1 trapezoids are used for aliased rendering, is that still preserved? Maarten.
2009/12/28 Michel Dänzer <[email protected]>: > 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 > _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
