diff options
author | Roland Scheidegger <[email protected]> | 2013-07-05 18:06:17 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-07-05 18:07:51 +0200 |
commit | 9ef49cfd841a8cbf280a1a2b66ce90f710e44687 (patch) | |
tree | b9a23addd79386817b67d73789e30ce276191a3c /src/gallium/auxiliary/gallivm | |
parent | 45f174ce40c8eab006e8f032ffc40703050a639b (diff) |
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.)
Diffstat (limited to 'src/gallium/auxiliary/gallivm')
-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 { |