diff options
author | Eric Anholt <[email protected]> | 2018-02-05 11:06:59 +0000 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-02-05 13:53:38 +0000 |
commit | 63a8a0f3c017d018220966422deffcb46bf2e373 (patch) | |
tree | 46bb83774f2f0502cba2702a7852ac039ee4673c | |
parent | e29988c9089616da67e2803f0f0c37c16e202deb (diff) |
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.
-rw-r--r-- | src/gallium/drivers/vc5/vc5_state.c | 7 |
1 files changed, 6 insertions, 1 deletions
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; |