From aacdce2879011d6f9afd12deac197297d53919f5 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Fri, 19 Apr 2019 10:41:51 +0200 Subject: [PATCH] softpipe: keep input lod for explicite derivatives This only affects anisotropic interpolation. Signed-off-by: Gert Wollny Reviewed-by: Roland Scheidegger --- src/gallium/drivers/softpipe/sp_tex_sample.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_tex_sample.c b/src/gallium/drivers/softpipe/sp_tex_sample.c index f8de104..41bd57c 100644 --- a/src/gallium/drivers/softpipe/sp_tex_sample.c +++ b/src/gallium/drivers/softpipe/sp_tex_sample.c @@ -1932,10 +1932,12 @@ compute_lod(const struct pipe_sampler_state *sampler, switch (control) { case TGSI_SAMPLER_LOD_NONE: case TGSI_SAMPLER_LOD_ZERO: - /* XXX FIXME */ - case TGSI_SAMPLER_DERIVS_EXPLICIT: lod[0] = lod[1] = lod[2] = lod[3] = CLAMP(biased_lambda, min_lod, max_lod); break; + case TGSI_SAMPLER_DERIVS_EXPLICIT: + for (i = 0; i < TGSI_QUAD_SIZE; i++) + lod[i] = lod_in[i]; + break; case TGSI_SAMPLER_LOD_BIAS: for (i = 0; i < TGSI_QUAD_SIZE; i++) { lod[i] = biased_lambda + lod_in[i]; -- 2.7.4