summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-03-08 19:59:38 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-03-08 19:59:38 +0100
commit1aa75b1081d9292510965273054c566269169c08 (patch)
treecec07c355b7334539d84b32f24dccba31a77d76c
parentMerge pull request #3452 from Morph1984/anisotropic-filtering (diff)
downloadyuzu-1aa75b1081d9292510965273054c566269169c08.tar
yuzu-1aa75b1081d9292510965273054c566269169c08.tar.gz
yuzu-1aa75b1081d9292510965273054c566269169c08.tar.bz2
yuzu-1aa75b1081d9292510965273054c566269169c08.tar.lz
yuzu-1aa75b1081d9292510965273054c566269169c08.tar.xz
yuzu-1aa75b1081d9292510965273054c566269169c08.tar.zst
yuzu-1aa75b1081d9292510965273054c566269169c08.zip
-rw-r--r--src/video_core/textures/texture.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h
index 07098c70d..7edc4abe1 100644
--- a/src/video_core/textures/texture.h
+++ b/src/video_core/textures/texture.h
@@ -337,20 +337,22 @@ struct TSCEntry {
};
float GetMaxAnisotropy() const {
- switch (static_cast<Anisotropy>(Settings::values.max_anisotropy)) {
- case Anisotropy::Default:
- return static_cast<float>(1U << max_anisotropy);
- case Anisotropy::Filter2x:
- return static_cast<float>(2U << max_anisotropy);
- case Anisotropy::Filter4x:
- return static_cast<float>(4U << max_anisotropy);
- case Anisotropy::Filter8x:
- return static_cast<float>(8U << max_anisotropy);
- case Anisotropy::Filter16x:
- return static_cast<float>(16U << max_anisotropy);
- default:
- return static_cast<float>(1U << max_anisotropy);
- }
+ const u32 min_value = [] {
+ switch (static_cast<Anisotropy>(Settings::values.max_anisotropy)) {
+ default:
+ case Anisotropy::Default:
+ return 1U;
+ case Anisotropy::Filter2x:
+ return 2U;
+ case Anisotropy::Filter4x:
+ return 4U;
+ case Anisotropy::Filter8x:
+ return 8U;
+ case Anisotropy::Filter16x:
+ return 16U;
+ }
+ }();
+ return static_cast<float>(std::max(1U << max_anisotropy, min_value));
}
float GetMinLod() const {