diff options
Diffstat (limited to 'src/video_core/textures/texture.cpp')
| -rw-r--r-- | src/video_core/textures/texture.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/video_core/textures/texture.cpp b/src/video_core/textures/texture.cpp index ba066f98f..06954963d 100644 --- a/src/video_core/textures/texture.cpp +++ b/src/video_core/textures/texture.cpp | |||
| @@ -66,15 +66,14 @@ float TSCEntry::MaxAnisotropy() const noexcept { | |||
| 66 | return 1.0f; | 66 | return 1.0f; |
| 67 | } | 67 | } |
| 68 | const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue(); | 68 | const auto anisotropic_settings = Settings::values.max_anisotropy.GetValue(); |
| 69 | u32 new_max_anisotropic{}; | 69 | u32 added_anisotropic{}; |
| 70 | if (anisotropic_settings == 0) { | 70 | if (anisotropic_settings == 0) { |
| 71 | const auto anisotropic_based_onscale = Settings::values.resolution_info.up_scale >> | 71 | added_anisotropic = Settings::values.resolution_info.up_scale >> |
| 72 | Settings::values.resolution_info.down_shift; | 72 | Settings::values.resolution_info.down_shift; |
| 73 | new_max_anisotropic = std::max(anisotropic_based_onscale + 1U, 1U); | ||
| 74 | } else { | 73 | } else { |
| 75 | new_max_anisotropic = Settings::values.max_anisotropy.GetValue(); | 74 | added_anisotropic = Settings::values.max_anisotropy.GetValue() - 1U; |
| 76 | } | 75 | } |
| 77 | return static_cast<float>(1U << std::min(max_anisotropy + anisotropic_settings - 1, 31U)); | 76 | return static_cast<float>(1U << (max_anisotropy + added_anisotropic)); |
| 78 | } | 77 | } |
| 79 | 78 | ||
| 80 | } // namespace Tegra::Texture | 79 | } // namespace Tegra::Texture |