EXA: Tile offscreen pixmap coordinate offsets are always 0.

This commit is contained in:
Michel Dänzer 2007-09-27 13:08:40 +02:00
parent d6f4764bf5
commit da7d9aa1fb

View File

@ -1187,7 +1187,7 @@ exaFillRegionTiled (DrawablePtr pDrawable,
PixmapPtr pPixmap;
ExaPixmapPrivPtr pExaPixmap;
ExaPixmapPrivPtr pTileExaPixmap = ExaGetPixmapPriv(pTile);
int xoff, yoff, tileXoff, tileYoff;
int xoff, yoff;
int tileWidth, tileHeight;
ExaMigrationRec pixmaps[2];
int nbox = REGION_NUM_RECTS (pRegion);
@ -1228,15 +1228,10 @@ exaFillRegionTiled (DrawablePtr pDrawable,
pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
if (!pPixmap)
if (!pPixmap || !exaPixmapIsOffscreen(pTile))
goto fallback;
if (!exaPixmapIsOffscreen(pTile))
goto fallback;
if ((*pExaScr->info->PrepareCopy) (exaGetOffscreenPixmap((DrawablePtr)pTile,
&tileXoff, &tileYoff),
pPixmap, 0, 0, alu, planemask))
if ((*pExaScr->info->PrepareCopy) (pTile, pPixmap, 1, 1, alu, planemask))
{
while (nbox--)
{
@ -1262,9 +1257,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
w = width;
width -= w;
(*pExaScr->info->Copy) (pPixmap,
tileX + tileXoff, tileY + tileYoff,
dstX, dstY, w, h);
(*pExaScr->info->Copy) (pPixmap, tileX, tileY, dstX, dstY,
w, h);
dstX += w;
tileX = 0;
}