v3d: Fix min vs mag determination when not doing mip filtering.

Fixes all 128 failing tests in
dEQP-GLES3.functional.texture.filtering.*.combinations
This commit is contained in:
Eric Anholt 2018-06-20 10:22:44 -07:00
parent 3f960c1338
commit edb7890750

View file

@ -556,9 +556,17 @@ v3d_create_sampler_state(struct pipe_context *pctx,
15);
sampler.max_level_of_detail = MIN2(cso->max_lod, 15);
/* If we're not doing inter-miplevel filtering, we need to
* clamp the LOD so that we only sample from baselevel.
* However, we need to still allow the calculated LOD to be
* fractionally over the baselevel, so that the HW can decide
* between the min and mag filters.
*/
if (cso->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) {
sampler.min_level_of_detail = 0;
sampler.max_level_of_detail = 0;
sampler.min_level_of_detail =
MIN2(sampler.min_level_of_detail, 1.0 / 256.0);
sampler.max_level_of_detail =
MIN2(sampler.max_level_of_detail, 1.0 / 256.0);
}
if (cso->max_anisotropy) {