glamor_fill/tile: Fixed a tileX/tileY calculation bug.

The previous's calculation is incorrect, now fix it and then
we don't need to fallback at glamor_tile.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Tested-by: Peng Li <peng.li@intel.com>
This commit is contained in:
Zhigang Gong 2012-02-03 11:44:51 +08:00 committed by Eric Anholt
parent 39d9e6c693
commit 91891b3711
2 changed files with 2 additions and 10 deletions

View File

@ -31,7 +31,6 @@
* *
* GC fill implementation, based loosely on fb_fill.c * GC fill implementation, based loosely on fb_fill.c
*/ */
Bool Bool
glamor_fill(DrawablePtr drawable, glamor_fill(DrawablePtr drawable,
GCPtr gc, int x, int y, int width, int height, Bool fallback) GCPtr gc, int x, int y, int width, int height, Bool fallback)
@ -74,8 +73,8 @@ glamor_fill(DrawablePtr drawable,
height, height,
gc->alu, gc->alu,
gc->planemask, gc->planemask,
drawable->x + x + off_x - gc->patOrg.x, x - drawable->x - gc->patOrg.x,
drawable->y + y + off_y - gc->patOrg.y)) y - drawable->y - gc->patOrg.y))
goto fail; goto fail;
break; break;
} }

View File

@ -124,13 +124,6 @@ glamor_tile(PixmapPtr pixmap, PixmapPtr tile,
if (src_pixmap_priv == NULL || dst_pixmap_priv == NULL) if (src_pixmap_priv == NULL || dst_pixmap_priv == NULL)
goto fail; goto fail;
if (((tile_x != 0) && (tile_x + width > tile->drawable.width))
|| ((tile_y != 0)
&& (tile_y + height > tile->drawable.height))) {
/* XXX We can recreate a new pixmap here to avoid partial tiling. */
goto fail;
}
if (glamor_priv->tile_prog == 0) { if (glamor_priv->tile_prog == 0) {
glamor_fallback("Tiling unsupported\n"); glamor_fallback("Tiling unsupported\n");
goto fail; goto fail;