summaryrefslogtreecommitdiffstats
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
parent74f6edaee46505935b21e1d34f621b4aaf52fd35 (diff)
downloadexternal_mesa3d-552e2b5065a931f8787012a94fadf66566982050.zip
external_mesa3d-552e2b5065a931f8787012a94fadf66566982050.tar.gz
external_mesa3d-552e2b5065a931f8787012a94fadf66566982050.tar.bz2
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.
-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 93cbf15..baf0402 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) &&