From 5f90e76c54bbf4456c977b3cbca450d7a570179e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 29 Jul 2010 19:18:48 +0100 Subject: 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 file changed, 3 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c index 0fd014ab9b..655c4fb901 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); -- cgit v1.2.3