summaryrefslogtreecommitdiff
path: root/src/video_core/textures/texture.cpp
diff options
context:
space:
mode:
authorGravatar Wollnashorn2023-06-14 03:57:39 +0200
committerGravatar Wollnashorn2023-06-14 03:57:39 +0200
commit44f616edb97520e9bc82b9f9c0658a8a35806b89 (patch)
tree563f65ad81a3fa2b9462bd42f7550727c15e30be /src/video_core/textures/texture.cpp
parentvideo_core: Disable anisotropic filtering for samplers with depth compare (diff)
downloadyuzu-44f616edb97520e9bc82b9f9c0658a8a35806b89.tar.gz
yuzu-44f616edb97520e9bc82b9f9c0658a8a35806b89.tar.xz
yuzu-44f616edb97520e9bc82b9f9c0658a8a35806b89.zip
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 083bfd8d3..b46dce096 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 {
62} 62}
63 63
64float TSCEntry::MaxAnisotropy() const noexcept { 64float TSCEntry::MaxAnisotropy() const noexcept {
65 if (max_anisotropy == 0 && (depth_compare_enabled.Value() || 65 const bool suitable_mipmap_filter = Settings::values.use_aggressive_anisotropic_filtering
66 (mipmap_filter != TextureMipmapFilter::Linear && 66 ? mipmap_filter != TextureMipmapFilter::None
67 !Settings::values.use_aggressive_anisotropic_filtering))) { 67 : mipmap_filter != TextureMipmapFilter::Linear;
68 if (max_anisotropy == 0 && (depth_compare_enabled.Value() || !suitable_mipmap_filter)) {
68 return 1.0f; 69 return 1.0f;
69 } 70 }
70 const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue(); 71 const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue();