summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm
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
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')
-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) &&