summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-09-10 20:09:00 +0100
committerJosé Fonseca <jfonseca@vmware.com>2010-09-11 13:34:54 +0100
commit552e2b5065a931f8787012a94fadf66566982050 (patch)
treed772135d393eecffa6e17a2adce2d5a12ba04044 /src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
parent74f6edaee46505935b21e1d34f621b4aaf52fd35 (diff)
gallivm: nr_channels is only valid for formats with plain layout.
This is erroneously throwing non plain formats out of the faster AoS sampling path. Doing 8bit interpolation for single channels such as L8 should be no worse than with floating point. But this may need more investigation.
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index 93cbf159aa..baf0402f56 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -2190,9 +2190,8 @@ lp_build_sample_soa(LLVMBuilderRef builder,
lp_build_sample_nop(&bld, texel_out);
}
else if (util_format_fits_8unorm(bld.format_desc) &&
- bld.format_desc->nr_channels > 1 &&
(static_state->target == PIPE_TEXTURE_2D ||
- static_state->target == PIPE_TEXTURE_RECT) &&
+ static_state->target == PIPE_TEXTURE_RECT) &&
static_state->min_img_filter == PIPE_TEX_FILTER_LINEAR &&
static_state->mag_img_filter == PIPE_TEX_FILTER_LINEAR &&
static_state->min_mip_filter == PIPE_TEX_MIPFILTER_NONE &&
@@ -2204,7 +2203,6 @@ lp_build_sample_soa(LLVMBuilderRef builder,
}
else {
if (gallivm_debug & GALLIVM_DEBUG_PERF &&
- bld.format_desc->nr_channels > 1 &&
(static_state->min_img_filter != PIPE_TEX_FILTER_NEAREST ||
static_state->mag_img_filter != PIPE_TEX_FILTER_NEAREST ||
static_state->min_mip_filter == PIPE_TEX_MIPFILTER_LINEAR) &&