From 9ef49cfd841a8cbf280a1a2b66ce90f710e44687 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Fri, 5 Jul 2013 18:06:17 +0200 Subject: [PATCH] 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.) --- src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 { -- 2.30.2