llvmpipe: fix out-of-bounds texture sampling
authorBrian Paul <brianp@vmware.com>
Fri, 30 Apr 2010 19:54:31 +0000 (13:54 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 30 Apr 2010 19:59:07 +0000 (13:59 -0600)
commitd225221e7084a1e8e22c41cbd3c58775d6f298a1
tree8ec6503f324b20f29110e104e05fb184de6a6b75
parent3a757b722d9d24a74b6a79cb2d4aae81ae8152d0
llvmpipe: fix out-of-bounds texture sampling

If we're using a wrap mode in which border color sampling is possible
it means that texcoords may be outside of the texture image bounds.
Fetching the texel may result in a segfault.

Use the 'use_border' variable to catch such texcoords and replace
the texel offset with zero (which will be in bounds).

Fixes segfault in Lightsmark demo, fd.o bug 27877.
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c