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.
lp_build_sample_nop(&bld, texel_out);
}
else if (util_format_fits_8unorm(bld.format_desc) &&
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_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 &&
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 &&
}
else {
if (gallivm_debug & GALLIVM_DEBUG_PERF &&
}
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) &&
(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) &&