llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)
authorBrian Paul <brianp@vmware.com>
Wed, 13 Jan 2010 00:08:07 +0000 (17:08 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 13 Jan 2010 00:08:07 +0000 (17:08 -0700)
commit214ffad01598c8780417b9fa9df75e951c8ac049
tree2132c46804a7569cfdd6fb4563d1aa7b32529e28
parentde10168a462f57ead41800ea135476bb5ae8c678
llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)

In some corner cases the right-most / bottom-most vertex can be
right on the edge of the framebuffer.  Because the maxx, maxy vals
are computed with a series of float/int, pixel/tile transformations
we can end up with maxx >= scene->x_tiles or maxy >= scene->y_tiles.
This leads to putting data into bins that never get processed, or
reset.  This becomes stale data that can lead to segfaults.

Clamping fixes this.
src/gallium/drivers/llvmpipe/lp_setup_tri.c