Merge pull request #3486 from ReinUsesLisp/fix-anisotropy-hack

textures: Fix anisotropy hack
This commit is contained in:
bunnei 2020-03-08 16:28:07 -04:00 committed by GitHub
commit c281173df6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 14 deletions

View File

@ -337,20 +337,22 @@ struct TSCEntry {
}; };
float GetMaxAnisotropy() const { float GetMaxAnisotropy() const {
switch (static_cast<Anisotropy>(Settings::values.max_anisotropy)) { const u32 min_value = [] {
case Anisotropy::Default: switch (static_cast<Anisotropy>(Settings::values.max_anisotropy)) {
return static_cast<float>(1U << max_anisotropy); default:
case Anisotropy::Filter2x: case Anisotropy::Default:
return static_cast<float>(2U << max_anisotropy); return 1U;
case Anisotropy::Filter4x: case Anisotropy::Filter2x:
return static_cast<float>(4U << max_anisotropy); return 2U;
case Anisotropy::Filter8x: case Anisotropy::Filter4x:
return static_cast<float>(8U << max_anisotropy); return 4U;
case Anisotropy::Filter16x: case Anisotropy::Filter8x:
return static_cast<float>(16U << max_anisotropy); return 8U;
default: case Anisotropy::Filter16x:
return static_cast<float>(1U << max_anisotropy); return 16U;
} }
}();
return static_cast<float>(std::max(1U << max_anisotropy, min_value));
} }
float GetMinLod() const { float GetMinLod() const {