From: Eric Anholt Date: Mon, 5 Feb 2018 11:06:59 +0000 (+0000) Subject: broadcom/vc5: Fix non-mipfiltered sampling. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63a8a0f3c017d018220966422deffcb46bf2e373;p=mesa.git broadcom/vc5: Fix non-mipfiltered sampling. We need to clamp the LOD to 0 if mip filtering is disabled. This is part of fixing KHR-GLES3.shaders.struct.uniform.sampler_array_fragment. --- diff --git a/src/gallium/drivers/vc5/vc5_state.c b/src/gallium/drivers/vc5/vc5_state.c index 9d4d0893f8b..65dd9a2c42b 100644 --- a/src/gallium/drivers/vc5/vc5_state.c +++ b/src/gallium/drivers/vc5/vc5_state.c @@ -538,12 +538,17 @@ vc5_create_sampler_state(struct pipe_context *pctx, sampler.mag_filter_nearest = cso->mag_img_filter == PIPE_TEX_FILTER_NEAREST; sampler.mip_filter_nearest = - cso->min_mip_filter == PIPE_TEX_MIPFILTER_NEAREST; + cso->min_mip_filter != PIPE_TEX_MIPFILTER_LINEAR; sampler.min_level_of_detail = MIN2(MAX2(0, cso->min_lod), 15); sampler.max_level_of_detail = MIN2(cso->max_lod, 15); + if (cso->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) { + sampler.min_level_of_detail = 0; + sampler.max_level_of_detail = 0; + } + if (cso->max_anisotropy) { sampler.anisotropy_enable = true;