summaryrefslogtreecommitdiff
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:20:45 +0200
commitc7d6d1f589d729fa689d22d82fe30afbc6e1cacb (patch)
tree9cd841a7c1997a1aa44f3a96f3bae2ef0f95277d
parent1d938a80fd4fa58d1791c146b6b5c2dfe148dce7 (diff)
EXA: Punt on fallback case not handled correctly in exaFillRegionTiled.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=12520 .
-rw-r--r--exa/exa_accel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 028d93644..90595d4be 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1285,13 +1285,14 @@ exaFillRegionTiled (DrawablePtr pDrawable,
exaMarkSync(pDrawable->pScreen);
REGION_TRANSLATE(pScreen, pRegion, -xoff, -yoff);
return TRUE;
}
fallback:
- if (alu != GXcopy || !EXA_PM_IS_SOLID(pDrawable, planemask)) {
+ if (alu != GXcopy || pPatOrg->x != 0 || pPatOrg->y != 0 ||
+ !EXA_PM_IS_SOLID(pDrawable, planemask)) {
REGION_TRANSLATE(pScreen, pRegion, -xoff, -yoff);
return FALSE;
}
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pTile, pDrawable,
exaDrawableLocation(&pTile->drawable),
exaDrawableLocation(pDrawable)));