summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGert Wollny <[email protected]>2019-04-07 09:39:22 +0200
committerGert Wollny <[email protected]>2019-04-09 09:50:13 +0200
commit11f219a5ee8a80376a892d5ef4c7d46a76232cb8 (patch)
tree5ba323bdaf1cae82cf035c107c2be644c8a65fa6
parent6279074de18444152a3ab2f3b870d1779dd9726f (diff)
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 <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
-rw-r--r--src/gallium/drivers/softpipe/sp_tex_sample.c6
1 files changed, 3 insertions, 3 deletions
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 {