diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2007-09-27 13:08:40 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2007-09-27 13:20:45 +0200 |
commit | c7d6d1f589d729fa689d22d82fe30afbc6e1cacb (patch) | |
tree | 9cd841a7c1997a1aa44f3a96f3bae2ef0f95277d | |
parent | 1d938a80fd4fa58d1791c146b6b5c2dfe148dce7 (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.c | 3 |
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))); |