EXA: Tile offscreen pixmap coordinate offsets are always 0.
This commit is contained in:
parent
d6f4764bf5
commit
da7d9aa1fb
|
@ -1187,7 +1187,7 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
||||||
PixmapPtr pPixmap;
|
PixmapPtr pPixmap;
|
||||||
ExaPixmapPrivPtr pExaPixmap;
|
ExaPixmapPrivPtr pExaPixmap;
|
||||||
ExaPixmapPrivPtr pTileExaPixmap = ExaGetPixmapPriv(pTile);
|
ExaPixmapPrivPtr pTileExaPixmap = ExaGetPixmapPriv(pTile);
|
||||||
int xoff, yoff, tileXoff, tileYoff;
|
int xoff, yoff;
|
||||||
int tileWidth, tileHeight;
|
int tileWidth, tileHeight;
|
||||||
ExaMigrationRec pixmaps[2];
|
ExaMigrationRec pixmaps[2];
|
||||||
int nbox = REGION_NUM_RECTS (pRegion);
|
int nbox = REGION_NUM_RECTS (pRegion);
|
||||||
|
@ -1228,15 +1228,10 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
||||||
|
|
||||||
pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
|
pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
|
||||||
|
|
||||||
if (!pPixmap)
|
if (!pPixmap || !exaPixmapIsOffscreen(pTile))
|
||||||
goto fallback;
|
goto fallback;
|
||||||
|
|
||||||
if (!exaPixmapIsOffscreen(pTile))
|
if ((*pExaScr->info->PrepareCopy) (pTile, pPixmap, 1, 1, alu, planemask))
|
||||||
goto fallback;
|
|
||||||
|
|
||||||
if ((*pExaScr->info->PrepareCopy) (exaGetOffscreenPixmap((DrawablePtr)pTile,
|
|
||||||
&tileXoff, &tileYoff),
|
|
||||||
pPixmap, 0, 0, alu, planemask))
|
|
||||||
{
|
{
|
||||||
while (nbox--)
|
while (nbox--)
|
||||||
{
|
{
|
||||||
|
@ -1262,9 +1257,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
||||||
w = width;
|
w = width;
|
||||||
width -= w;
|
width -= w;
|
||||||
|
|
||||||
(*pExaScr->info->Copy) (pPixmap,
|
(*pExaScr->info->Copy) (pPixmap, tileX, tileY, dstX, dstY,
|
||||||
tileX + tileXoff, tileY + tileYoff,
|
w, h);
|
||||||
dstX, dstY, w, h);
|
|
||||||
dstX += w;
|
dstX += w;
|
||||||
tileX = 0;
|
tileX = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue