From: Gert Wollny Date: Sun, 7 Apr 2019 07:39:22 +0000 (+0200) Subject: softpipe: Don't use mag filter for gather op X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11f219a5ee8a80376a892d5ef4c7d46a76232cb8;p=mesa.git softpipe: Don't use mag filter for gather op For the gather op no magnifictaion filter is provided, so always use the filter given for minification (which is the linear filter) Fixes: 0dff1533f25951adda3c36be6d9efa944741befb softpipe: Use mag texture filter also for clamped lod == 0 Signed-off-by: Gert Wollny Reviewed-by: Dave Airlie --- diff --git a/src/gallium/drivers/softpipe/sp_tex_sample.c b/src/gallium/drivers/softpipe/sp_tex_sample.c index 1b40e3545bd..d20b7f9e518 100644 --- a/src/gallium/drivers/softpipe/sp_tex_sample.c +++ b/src/gallium/drivers/softpipe/sp_tex_sample.c @@ -1956,7 +1956,7 @@ mip_filter_linear(const struct sp_sampler_view *sp_sview, args.p = p[j]; args.face_id = filt_args->faces[j]; - if (lod[j] <= 0.0) { + if (lod[j] <= 0.0 && !args.gather_only) { args.level = psview->u.tex.first_level; mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]); } @@ -2040,7 +2040,7 @@ mip_filter_nearest(const struct sp_sampler_view *sp_sview, args.p = p[j]; args.face_id = filt_args->faces[j]; - if (lod[j] <= 0.0) { + if (lod[j] <= 0.0 && !args.gather_only) { args.level = psview->u.tex.first_level; mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]); } else { @@ -2100,7 +2100,7 @@ mip_filter_none(const struct sp_sampler_view *sp_sview, args.t = t[j]; args.p = p[j]; args.face_id = filt_args->faces[j]; - if (lod[j] <= 0.0f) { + if (lod[j] <= 0.0f && !args.gather_only) { mag_filter(sp_sview, sp_samp, &args, &rgba[0][j]); } else {