summaryrefslogtreecommitdiff
path: root/exa/exa_render.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-09-05 20:10:09 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-07 18:41:29 +0200
commit8cfcf9973c765f11d1b45b95b8091ef7e01d7f01 (patch)
tree9bc54d9d12cca66bb5595851e4b9fd4dcecdb8d8 /exa/exa_render.c
parente510a77ba4d65d5d6ead514cd698f1b1e3f8a2b6 (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.c23
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);