diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2007-09-05 20:10:09 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2007-09-07 18:41:29 +0200 |
commit | 8cfcf9973c765f11d1b45b95b8091ef7e01d7f01 (patch) | |
tree | 9bc54d9d12cca66bb5595851e4b9fd4dcecdb8d8 /exa/exa_render.c | |
parent | e510a77ba4d65d5d6ead514cd698f1b1e3f8a2b6 (diff) |
EXA: Migrate out pixmap in exaPrepareAccess.
Also fix exaFinishAccessGC not to use the same index for tile and stipple.
Diffstat (limited to 'exa/exa_render.c')
-rw-r--r-- | exa/exa_render.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/exa/exa_render.c b/exa/exa_render.c index 2dd3fc1ce..738ac15b1 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -738,7 +738,6 @@ fallback: exaPrintCompositeFallback (op, pSrc, pMask, pDst); #endif - exaDoMigration(pixmaps, npixmaps, FALSE); ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); @@ -889,18 +888,13 @@ exaRasterizeTrapezoid (PicturePtr pPicture, xTrapezoid *trap, int x_off, int y_off) { DrawablePtr pDraw = pPicture->pDrawable; - ExaMigrationRec pixmaps[1]; + PixmapPtr pPixmap = exaGetDrawablePixmap(pDraw); int xoff, yoff; - pixmaps[0].as_dst = TRUE; - pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDraw); - exaDoMigration(pixmaps, 1, FALSE); - exaPrepareAccess(pDraw, EXA_PREPARE_DEST); fbRasterizeTrapezoid(pPicture, trap, x_off, y_off); - exaGetDrawableDeltas(pDraw, pixmaps[0].pPix, &xoff, &yoff); - exaPixmapDirty(pixmaps[0].pPix, pDraw->x + xoff, pDraw->y + yoff, + exaGetDrawableDeltas(pDraw, pPixmap, &xoff, &yoff); + exaPixmapDirty(pPixmap, pDraw->x + xoff, pDraw->y + yoff, pDraw->x + xoff + pDraw->width, pDraw->y + yoff + pDraw->height); exaFinishAccess(pDraw, EXA_PREPARE_DEST); @@ -915,18 +909,13 @@ exaAddTriangles (PicturePtr pPicture, INT16 x_off, INT16 y_off, int ntri, xTriangle *tris) { DrawablePtr pDraw = pPicture->pDrawable; - ExaMigrationRec pixmaps[1]; + PixmapPtr pPixmap = exaGetDrawablePixmap(pDraw); int xoff, yoff; - pixmaps[0].as_dst = TRUE; - pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDraw); - exaDoMigration(pixmaps, 1, FALSE); - exaPrepareAccess(pDraw, EXA_PREPARE_DEST); fbAddTriangles(pPicture, x_off, y_off, ntri, tris); - exaGetDrawableDeltas(pDraw, pixmaps[0].pPix, &xoff, &yoff); - exaPixmapDirty(pixmaps[0].pPix, pDraw->x + xoff, pDraw->y + yoff, + exaGetDrawableDeltas(pDraw, pPixmap, &xoff, &yoff); + exaPixmapDirty(pPixmap, pDraw->x + xoff, pDraw->y + yoff, pDraw->x + xoff + pDraw->width, pDraw->y + yoff + pDraw->height); exaFinishAccess(pDraw, EXA_PREPARE_DEST); |