diff options
author | Thomas Winischhofer <thomas@winischhofer.net> | 2005-10-20 21:45:40 +0000 |
---|---|---|
committer | Thomas Winischhofer <thomas@winischhofer.net> | 2005-10-20 21:45:40 +0000 |
commit | 1f43d218cc24358a0379535ed517c23011633c31 (patch) | |
tree | 46557054c432507ae8e08e63bcef88a8232f140c /exa | |
parent | 15f56b203dbc14ea59885d40fd4bed3da9e8e190 (diff) |
EXA: The "optimization" for using a fill operation instead of 1x1 copies
checked the destination drawable's dimensions (!) instead of the
tile's. Really....
Diffstat (limited to 'exa')
-rw-r--r-- | exa/exa.c | 6 | ||||
-rw-r--r-- | exa/exa_accel.c | 6 | ||||
-rw-r--r-- | exa/exa_migration.c | 6 |
3 files changed, 9 insertions, 9 deletions
@@ -428,7 +428,7 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth) if (w > 32767 || h > 32767) return NullPixmap; - + if (!pScrn->vtSema || pExaScr->swappedOut) { pPixmap = pExaScr->SavedCreatePixmap(pScreen, w, h, depth); } else { @@ -1225,7 +1225,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, STRACE; tileWidth = pTile->drawable.width; tileHeight = pTile->drawable.height; - + if (pDrawable->width > pExaScr->info->card.maxX || pDrawable->height > pExaScr->info->card.maxY || tileWidth > pExaScr->info->card.maxX || @@ -1237,7 +1237,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, /* If we're filling with a solid color, grab it out and go to * FillRegionSolid, saving numerous copies. */ - if (pDrawable->width == 1 && pDrawable->height == 1) { + if (tileWidth == 1 && tileHeight == 1) { CARD32 pixel; exaDrawableUseMemory(&pTile->drawable); diff --git a/exa/exa_accel.c b/exa/exa_accel.c index c8e57e440..4d2014d44 100644 --- a/exa/exa_accel.c +++ b/exa/exa_accel.c @@ -428,7 +428,7 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth) if (w > 32767 || h > 32767) return NullPixmap; - + if (!pScrn->vtSema || pExaScr->swappedOut) { pPixmap = pExaScr->SavedCreatePixmap(pScreen, w, h, depth); } else { @@ -1225,7 +1225,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, STRACE; tileWidth = pTile->drawable.width; tileHeight = pTile->drawable.height; - + if (pDrawable->width > pExaScr->info->card.maxX || pDrawable->height > pExaScr->info->card.maxY || tileWidth > pExaScr->info->card.maxX || @@ -1237,7 +1237,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, /* If we're filling with a solid color, grab it out and go to * FillRegionSolid, saving numerous copies. */ - if (pDrawable->width == 1 && pDrawable->height == 1) { + if (tileWidth == 1 && tileHeight == 1) { CARD32 pixel; exaDrawableUseMemory(&pTile->drawable); diff --git a/exa/exa_migration.c b/exa/exa_migration.c index c8e57e440..4d2014d44 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -428,7 +428,7 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth) if (w > 32767 || h > 32767) return NullPixmap; - + if (!pScrn->vtSema || pExaScr->swappedOut) { pPixmap = pExaScr->SavedCreatePixmap(pScreen, w, h, depth); } else { @@ -1225,7 +1225,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, STRACE; tileWidth = pTile->drawable.width; tileHeight = pTile->drawable.height; - + if (pDrawable->width > pExaScr->info->card.maxX || pDrawable->height > pExaScr->info->card.maxY || tileWidth > pExaScr->info->card.maxX || @@ -1237,7 +1237,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, /* If we're filling with a solid color, grab it out and go to * FillRegionSolid, saving numerous copies. */ - if (pDrawable->width == 1 && pDrawable->height == 1) { + if (tileWidth == 1 && tileHeight == 1) { CARD32 pixel; exaDrawableUseMemory(&pTile->drawable); |