llvmpipe: properly clip tile writes

This commit is contained in:
Keith Whitwell 2009-10-09 16:19:00 +01:00
parent c2e926b72d
commit 05131f7502
1 changed files with 10 additions and 2 deletions

View File

@ -269,15 +269,23 @@ static void lp_rast_store_color( struct lp_rasterizer *rast )
{
const unsigned x = rast->x;
const unsigned y = rast->y;
unsigned w = TILESIZE;
unsigned h = TILESIZE;
RAST_DEBUG("%s %d,%d\n", __FUNCTION__, x, y);
if (x + w > rast->width)
w -= x + w - rast->width;
if (y + h > rast->height)
h -= y + h - rast->height;
RAST_DEBUG("%s %d,%d %dx%d\n", __FUNCTION__, x, y, w, h);
lp_tile_write_4ub(rast->cbuf_transfer->format,
rast->tile.color,
rast->cbuf_map,
rast->cbuf_transfer->stride,
x, y,
TILESIZE, TILESIZE);
w, h);
}