summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-09-27 13:08:40 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-27 13:30:48 +0200
commitda7d9aa1fb60e13a59c9f842fed7aefc5b97c195 (patch)
tree15a3bb4b9756ae470cb7b078198ac9e9badcd0ac /exa
parentd6f4764bf5f3a601a0034ded039857e8ea5563b2 (diff)
EXA: Tile offscreen pixmap coordinate offsets are always 0.
Diffstat (limited to 'exa')
-rw-r--r--exa/exa_accel.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 76dbc7271..142d556a0 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -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)
- goto fallback;
-
- if (!exaPixmapIsOffscreen(pTile))
+ if (!pPixmap || !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;
}