diff options
Diffstat (limited to 'src/mesa/pipe')
-rw-r--r-- | src/mesa/pipe/softpipe/sp_clear.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mesa/pipe/softpipe/sp_clear.c b/src/mesa/pipe/softpipe/sp_clear.c index 2d5344f424b..539da1d58b3 100644 --- a/src/mesa/pipe/softpipe/sp_clear.c +++ b/src/mesa/pipe/softpipe/sp_clear.c @@ -50,11 +50,17 @@ softpipe_clear(struct pipe_context *pipe, struct pipe_surface *ps, softpipe_update_derived(softpipe); /* not needed?? */ - x = 0; - y = 0; w = softpipe->framebuffer.cbufs[0]->width; h = softpipe->framebuffer.cbufs[0]->height; + /* Use the X coord to trick region_fill() into filling at an offset + * from the start of the region. Perhaps pipe_region should have the + * 'offset' field, not pipe_surface??? + */ + assert(ps->offset % ps->region->cpp == 0); + x = ps->offset / ps->region->cpp; + y = 0; + assert(w <= ps->region->pitch); assert(h <= ps->region->height); |