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