Mesa (master): gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Jul 29 18:19:40 UTC 2010


Module: Mesa
Branch: master
Commit: 5f90e76c54bbf4456c977b3cbca450d7a570179e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f90e76c54bbf4456c977b3cbca450d7a570179e

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Jul 29 19:18:48 2010 +0100

gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture

If y==NULL and y_stride==NULL it means the texture is 1D.  Return
zero for out_i and the offset instead of garbage.

---

 src/gallium/auxiliary/gallivm/lp_bld_sample.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
index 0fd014a..655c4fb 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
@@ -179,6 +179,9 @@ lp_build_sample_offset(struct lp_build_context *bld,
       LLVMValueRef y_offset = lp_build_mul(bld, y, y_stride);
       offset = lp_build_add(bld, offset, y_offset);
    }
+   else {
+      *out_j = bld->zero;
+   }
 
    if (z && z_stride) {
       LLVMValueRef z_offset = lp_build_mul(bld, z, z_stride);




More information about the mesa-commit mailing list