Make the arbitrary mipmap detection threshold configureable
This is likely a "superuser" option at best, but I want to be able to play with it without rebuilding if I want to tweak the heuristics
This commit is contained in:
parent
29b7e33c14
commit
8be5cdfcad
|
@ -109,6 +109,8 @@ const ConfigInfo<bool> GFX_ENHANCE_DISABLE_COPY_FILTER{
|
|||
{System::GFX, "Enhancements", "DisableCopyFilter"}, true};
|
||||
const ConfigInfo<bool> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION{
|
||||
{System::GFX, "Enhancements", "ArbitraryMipmapDetection"}, true};
|
||||
const ConfigInfo<float> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD{
|
||||
{System::GFX, "Enhancements", "ArbitraryMipmapDetectionThreshold"}, 4.5f};
|
||||
|
||||
// Graphics.Stereoscopy
|
||||
|
||||
|
|
|
@ -86,6 +86,7 @@ extern const ConfigInfo<std::string> GFX_ENHANCE_POST_SHADER;
|
|||
extern const ConfigInfo<bool> GFX_ENHANCE_FORCE_TRUE_COLOR;
|
||||
extern const ConfigInfo<bool> GFX_ENHANCE_DISABLE_COPY_FILTER;
|
||||
extern const ConfigInfo<bool> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION;
|
||||
extern const ConfigInfo<float> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD;
|
||||
|
||||
// Graphics.Stereoscopy
|
||||
|
||||
|
|
|
@ -507,7 +507,7 @@ public:
|
|||
// expect a normal blurred mipmap to look like and what we actually received
|
||||
// 4.5% was chosen because it's just below the lowest clearly-arbitrary texture
|
||||
// I found in my tests, the background clouds in Mario Galaxy's Observatory lobby.
|
||||
constexpr auto THRESHOLD_PERCENT = 4.5f;
|
||||
const auto threshold = g_ActiveConfig.fArbitraryMipmapDetectionThreshold;
|
||||
|
||||
auto* src = downsample_buffer;
|
||||
auto* dst = downsample_buffer + levels[1].shape.row_length * levels[1].shape.height * 4;
|
||||
|
@ -533,7 +533,7 @@ public:
|
|||
}
|
||||
|
||||
auto all_levels = total_diff / (levels.size() - 1);
|
||||
return all_levels > THRESHOLD_PERCENT;
|
||||
return all_levels > threshold;
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
@ -121,6 +121,8 @@ void VideoConfig::Refresh()
|
|||
bForceTrueColor = Config::Get(Config::GFX_ENHANCE_FORCE_TRUE_COLOR);
|
||||
bDisableCopyFilter = Config::Get(Config::GFX_ENHANCE_DISABLE_COPY_FILTER);
|
||||
bArbitraryMipmapDetection = Config::Get(Config::GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION);
|
||||
fArbitraryMipmapDetectionThreshold =
|
||||
Config::Get(Config::GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD);
|
||||
|
||||
stereo_mode = Config::Get(Config::GFX_STEREO_MODE);
|
||||
iStereoDepth = Config::Get(Config::GFX_STEREO_DEPTH);
|
||||
|
|
|
@ -75,6 +75,7 @@ struct VideoConfig final
|
|||
bool bForceTrueColor;
|
||||
bool bDisableCopyFilter;
|
||||
bool bArbitraryMipmapDetection;
|
||||
float fArbitraryMipmapDetectionThreshold;
|
||||
|
||||
// Information
|
||||
bool bShowFPS;
|
||||
|
|
Loading…
Reference in New Issue