From: José Fonseca Date: Fri, 10 Sep 2010 19:09:00 +0000 (+0100) Subject: gallivm: nr_channels is only valid for formats with plain layout. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=552e2b5065a931f8787012a94fadf66566982050;p=mesa.git 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. --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c index 93cbf159aa4..baf0402f56a 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) &&