diff options
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 { |