From a209d464f913d743f644461e1c82634ec97f1e3e Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Tue, 7 Apr 2020 20:47:31 -0300 Subject: video_core/textures: Move GetMaxAnisotropy to cpp file --- src/video_core/textures/texture.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/video_core/textures/texture.cpp') diff --git a/src/video_core/textures/texture.cpp b/src/video_core/textures/texture.cpp index b1417db1e..d1939d744 100644 --- a/src/video_core/textures/texture.cpp +++ b/src/video_core/textures/texture.cpp @@ -2,8 +2,10 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include #include +#include "core/settings.h" #include "video_core/textures/texture.h" namespace Tegra::Texture { @@ -45,6 +47,22 @@ constexpr std::array SRGB_CONVERSION_LUT = { 0.917104f, 0.929242f, 0.941493f, 0.953859f, 0.966338f, 1.000000f, 1.000000f, 1.000000f, }; +unsigned SettingsMinimumAnisotropy() noexcept { + switch (static_cast(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; + } +} + } // Anonymous namespace std::array TSCEntry::GetBorderColor() const noexcept { @@ -55,4 +73,8 @@ std::array TSCEntry::GetBorderColor() const noexcept { SRGB_CONVERSION_LUT[srgb_border_color_b], border_color[3]}; } +float TSCEntry::GetMaxAnisotropy() const noexcept { + return static_cast(std::max(1U << max_anisotropy, SettingsMinimumAnisotropy())); +} + } // namespace Tegra::Texture -- cgit v1.2.3