Mesa (master): gallivm: fix multiple lods with different min/ mag filter and wide vectors

Roland Scheidegger sroland at kemper.freedesktop.org
Wed Nov 28 17:08:22 UTC 2012


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

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Nov 28 18:07:27 2012 +0100

gallivm: fix multiple lods with different min/mag filter and wide vectors

broken since 529fe420ba6836479619ba42e53665724755fc1c,
I forgot some code, only added the comment...
Fixes bug 57644.

---

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

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index 97a23df..35eb9cd 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -1155,6 +1155,9 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
        * least unless we have explicit lod (and who uses different
        * min/mag filter with that?)
        */
+      if (bld->num_lods > 1)
+         lod_ipart = LLVMBuildExtractElement(builder, lod_ipart,
+                                             lp_build_const_int32(bld->gallivm, 0), "");
 
       /* minify = lod >= 0.0 */
       minify = LLVMBuildICmp(builder, LLVMIntSGE,




More information about the mesa-commit mailing list