diff options
| author | 2023-06-14 03:57:39 +0200 | |
|---|---|---|
| committer | 2023-06-14 03:57:39 +0200 | |
| commit | 44f616edb97520e9bc82b9f9c0658a8a35806b89 (patch) | |
| tree | 563f65ad81a3fa2b9462bd42f7550727c15e30be /src/video_core/textures/texture.cpp | |
| parent | video_core: Disable anisotropic filtering for samplers with depth compare (diff) | |
| download | yuzu-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.cpp | 7 |
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 | ||
| 64 | float TSCEntry::MaxAnisotropy() const noexcept { | 64 | float 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(); |