From: Roland Scheidegger Date: Fri, 5 Jul 2013 16:06:17 +0000 (+0200) Subject: gallivm: (trivial) fix using one lod instead of per-quad lod for texel fetch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9ef49cfd841a8cbf280a1a2b66ce90f710e44687;p=mesa.git gallivm: (trivial) fix using one lod instead of per-quad lod for texel fetch The logic for choosing number of lods was bogus. (The code should ultimately handle the case of only one lod even with multiple quads but currently can't.) --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c index 4b5674197f0..fa9edb5489c 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c @@ -1588,7 +1588,8 @@ lp_build_sample_soa(struct gallivm_state *gallivm, (!is_fetch && mip_filter != PIPE_TEX_MIPFILTER_NONE))) bld.num_lods = type.length; /* TODO: for true scalar_lod should only use 1 lod value */ - else if (!is_fetch && mip_filter != PIPE_TEX_MIPFILTER_NONE) { + else if ((is_fetch && explicit_lod && bld.static_texture_state->target != PIPE_BUFFER ) || + (!is_fetch && mip_filter != PIPE_TEX_MIPFILTER_NONE)) { bld.num_lods = num_quads; } else {