aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/textures/texture.cpp
diff options
context:
space:
mode:
authorWollnashorn <Wollnashorn@users.noreply.github.com>2023-06-14 03:57:39 +0200
committerWollnashorn <Wollnashorn@users.noreply.github.com>2023-06-14 03:57:39 +0200
commit614f8a0429beb466cbb26d996cf6ce802ad2c796 (patch)
tree563f65ad81a3fa2b9462bd42f7550727c15e30be /src/video_core/textures/texture.cpp
parentff4c4a45e66635ec7521999932c675b5fa9f0ecb (diff)
video_core: Never apply AF to None mipmap mode
Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option
Diffstat (limited to 'src/video_core/textures/texture.cpp')
-rw-r--r--src/video_core/textures/texture.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/textures/texture.cpp b/src/video_core/textures/texture.cpp
index 083bfd8d3d..b46dce0961 100644
--- a/src/video_core/textures/texture.cpp
+++ b/src/video_core/textures/texture.cpp
@@ -62,9 +62,10 @@ std::array<float, 4> TSCEntry::BorderColor() const noexcept {
}
float TSCEntry::MaxAnisotropy() const noexcept {
- if (max_anisotropy == 0 && (depth_compare_enabled.Value() ||
- (mipmap_filter != TextureMipmapFilter::Linear &&
- !Settings::values.use_aggressive_anisotropic_filtering))) {
+ const bool suitable_mipmap_filter = Settings::values.use_aggressive_anisotropic_filtering
+ ? mipmap_filter != TextureMipmapFilter::None
+ : mipmap_filter != TextureMipmapFilter::Linear;
+ if (max_anisotropy == 0 && (depth_compare_enabled.Value() || !suitable_mipmap_filter)) {
return 1.0f;
}
const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue();