mirror of https://github.com/PCSX2/pcsx2.git
GS: Add automatic trilinear filtering level
This commit is contained in:
parent
bc7ed4e7d0
commit
1b83e17d60
|
@ -133,7 +133,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
|
|||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.upscaleMultiplier, "EmuCore/GS", "upscale_multiplier", 1, 1);
|
||||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.textureFiltering, "EmuCore/GS", "filter", static_cast<int>(BiFiltering::PS2));
|
||||
SettingWidgetBinder::BindWidgetToIntSetting(
|
||||
sif, m_ui.trilinearFiltering, "EmuCore/GS", "UserHacks_TriFilter", static_cast<int>(TriFiltering::Off));
|
||||
sif, m_ui.trilinearFiltering, "EmuCore/GS", "UserHacks_TriFilter", static_cast<int>(TriFiltering::Automatic), -1);
|
||||
SettingWidgetBinder::BindWidgetToEnumSetting(
|
||||
sif, m_ui.anisotropicFiltering, "EmuCore/GS", "MaxAnisotropy", s_anisotropic_filtering_entries, s_anisotropic_filtering_values, "1");
|
||||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.dithering, "EmuCore/GS", "dithering_ps2", 2);
|
||||
|
|
|
@ -422,7 +422,12 @@
|
|||
<widget class="QComboBox" name="trilinearFiltering">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>None (Default)</string>
|
||||
<string>Automatic (Default)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Off (None)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
|
|
|
@ -146,8 +146,9 @@ enum class BiFiltering : u8
|
|||
Forced_But_Sprite,
|
||||
};
|
||||
|
||||
enum class TriFiltering : u8
|
||||
enum class TriFiltering : s8
|
||||
{
|
||||
Automatic = -1,
|
||||
Off,
|
||||
PS2,
|
||||
Forced,
|
||||
|
@ -525,7 +526,7 @@ struct Pcsx2Config
|
|||
int UserHacks_RoundSprite{0};
|
||||
int UserHacks_TCOffsetX{0};
|
||||
int UserHacks_TCOffsetY{0};
|
||||
TriFiltering UserHacks_TriFilter{TriFiltering::Off};
|
||||
TriFiltering UserHacks_TriFilter{TriFiltering::Automatic};
|
||||
int OverrideTextureBarriers{-1};
|
||||
int OverrideGeometryShaders{-1};
|
||||
|
||||
|
|
|
@ -1242,7 +1242,8 @@ void GSApp::Init()
|
|||
m_gs_bifilter.push_back(GSSetting(static_cast<u32>(BiFiltering::Forced), "Bilinear", "Forced"));
|
||||
m_gs_bifilter.push_back(GSSetting(static_cast<u32>(BiFiltering::PS2), "Bilinear", "PS2"));
|
||||
|
||||
m_gs_trifilter.push_back(GSSetting(static_cast<u32>(TriFiltering::Off), "None", "Default"));
|
||||
m_gs_trifilter.push_back(GSSetting(static_cast<u32>(TriFiltering::Automatic), "Automatic", "Default"));
|
||||
m_gs_trifilter.push_back(GSSetting(static_cast<u32>(TriFiltering::Off), "None", ""));
|
||||
m_gs_trifilter.push_back(GSSetting(static_cast<u32>(TriFiltering::PS2), "Trilinear", ""));
|
||||
m_gs_trifilter.push_back(GSSetting(static_cast<u32>(TriFiltering::Forced), "Trilinear", "Ultra/Slow"));
|
||||
|
||||
|
@ -1413,7 +1414,7 @@ void GSApp::Init()
|
|||
m_default_configuration["UserHacks_TCOffsetX"] = "0";
|
||||
m_default_configuration["UserHacks_TCOffsetY"] = "0";
|
||||
m_default_configuration["UserHacks_TextureInsideRt"] = "0";
|
||||
m_default_configuration["UserHacks_TriFilter"] = std::to_string(static_cast<s8>(TriFiltering::Off));
|
||||
m_default_configuration["UserHacks_TriFilter"] = std::to_string(static_cast<s8>(TriFiltering::Automatic));
|
||||
m_default_configuration["UserHacks_WildHack"] = "0";
|
||||
m_default_configuration["wrap_gs_mem"] = "0";
|
||||
m_default_configuration["vsync"] = "0";
|
||||
|
|
|
@ -1067,6 +1067,7 @@ void GSRendererNew::EmulateTextureSampler(const GSTextureCache::Source* tex)
|
|||
}
|
||||
break;
|
||||
|
||||
case TriFiltering::Automatic:
|
||||
case TriFiltering::Off:
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -408,7 +408,12 @@ u32 GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions&
|
|||
case GSHWFixId::TrilinearFiltering:
|
||||
{
|
||||
if (value >= 0 && value <= static_cast<int>(TriFiltering::Forced))
|
||||
{
|
||||
if (config.UserHacks_TriFilter == TriFiltering::Automatic)
|
||||
config.UserHacks_TriFilter = static_cast<TriFiltering>(value);
|
||||
else if (config.UserHacks_TriFilter == TriFiltering::Off)
|
||||
Console.Warning("[GameDB] Game requires trilinear filtering but it has been force disabled.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -630,7 +630,7 @@ void Pcsx2Config::GSOptions::MaskUserHacks()
|
|||
|
||||
// in wx, we put trilinear filtering behind user hacks, but not in qt.
|
||||
#ifndef PCSX2_CORE
|
||||
UserHacks_TriFilter = TriFiltering::Off;
|
||||
UserHacks_TriFilter = TriFiltering::Automatic;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue