FullscreenUI: Mirror Qt graphics settings changes

This commit is contained in:
Stenzek 2023-03-13 01:41:57 +10:00 committed by refractionpcsx2
parent 6c46418f68
commit b897f367ce
1 changed files with 23 additions and 18 deletions

View File

@ -3071,6 +3071,12 @@ void FullscreenUI::DrawGraphicsSettingsPage()
renderer == GSRendererType::OGL || renderer == GSRendererType::VK || renderer == GSRendererType::Metal); renderer == GSRendererType::OGL || renderer == GSRendererType::VK || renderer == GSRendererType::Metal);
//const bool is_software = (renderer == GSRendererType::SW); //const bool is_software = (renderer == GSRendererType::SW);
#ifndef PCSX2_DEVBUILD
const bool hw_fixes_visible = is_hardware && IsEditingGameSettings(bsi);
#else
const bool hw_fixes_visible = is_hardware;
#endif
BeginMenuButtons(); BeginMenuButtons();
MenuHeading("Renderer"); MenuHeading("Renderer");
@ -3134,8 +3140,6 @@ void FullscreenUI::DrawGraphicsSettingsPage()
std::size(s_anisotropic_filtering_entries)); std::size(s_anisotropic_filtering_entries));
DrawIntListSetting(bsi, "Dithering", "Selects the type of dithering applies when the game requests it.", "EmuCore/GS", DrawIntListSetting(bsi, "Dithering", "Selects the type of dithering applies when the game requests it.", "EmuCore/GS",
"dithering_ps2", 2, s_dithering_options, std::size(s_dithering_options)); "dithering_ps2", 2, s_dithering_options, std::size(s_dithering_options));
DrawIntListSetting(bsi, "CRC Fix Level", "Applies manual fixes to difficult-to-emulate effects in the hardware renderers.",
"EmuCore/GS", "crc_hack_level", static_cast<int>(CRCHackLevel::Automatic), s_crc_fix_options, std::size(s_crc_fix_options), -1);
DrawIntListSetting(bsi, "Blending Accuracy", DrawIntListSetting(bsi, "Blending Accuracy",
"Determines the level of accuracy when emulating blend modes not supported by the host graphics API.", "EmuCore/GS", "Determines the level of accuracy when emulating blend modes not supported by the host graphics API.", "EmuCore/GS",
"accurate_blending_unit", static_cast<int>(AccBlendLevel::Basic), s_blending_options, std::size(s_blending_options)); "accurate_blending_unit", static_cast<int>(AccBlendLevel::Basic), s_blending_options, std::size(s_blending_options));
@ -3143,17 +3147,18 @@ void FullscreenUI::DrawGraphicsSettingsPage()
"Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games.", "Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games.",
"EmuCore/GS", "texture_preloading", static_cast<int>(TexturePreloadingLevel::Off), s_preloading_options, "EmuCore/GS", "texture_preloading", static_cast<int>(TexturePreloadingLevel::Off), s_preloading_options,
std::size(s_preloading_options)); std::size(s_preloading_options));
DrawIntListSetting(bsi, "Hardware Download Mode", "Changes synchronization behavior for GS downloads.", "EmuCore/GS",
"HWDownloadMode", static_cast<int>(GSHardwareDownloadMode::Enabled), s_hw_download, std::size(s_hw_download));
DrawToggleSetting(bsi, "GPU Palette Conversion",
"Applies palettes to textures on the GPU instead of the CPU. Can result in speed improvements in some games.", "EmuCore/GS",
"paltex", false);
} }
else else
{ {
DrawIntRangeSetting(bsi, "Software Rendering Threads",
"Number of threads to use in addition to the main GS thread for rasterization.", "EmuCore/GS", "extrathreads", 2, 0, 10);
DrawToggleSetting(bsi, "Auto Flush (Software)", "Force a primitive flush when a framebuffer is also an input texture.",
"EmuCore/GS", "autoflush_sw", true);
DrawToggleSetting(bsi, "Edge AA (AA1)", "Enables emulation of the GS's edge anti-aliasing (AA1).", "EmuCore/GS", "aa1", true);
DrawToggleSetting(bsi, "Mipmapping", "Enables emulation of the GS's texture mipmapping.", "EmuCore/GS", "mipmap", true);
} }
if (is_hardware) if (hw_fixes_visible)
{ {
MenuHeading("Hardware Fixes"); MenuHeading("Hardware Fixes");
DrawToggleSetting(bsi, "Manual Hardware Fixes", "Disables automatic hardware fixes, allowing you to set fixes manually.", DrawToggleSetting(bsi, "Manual Hardware Fixes", "Disables automatic hardware fixes, allowing you to set fixes manually.",
@ -3171,6 +3176,8 @@ void FullscreenUI::DrawGraphicsSettingsPage()
"Off (Default)", "Normal (Vertex)", "Special (Texture)", "Special (Texture - Aggressive)"}; "Off (Default)", "Normal (Vertex)", "Special (Texture)", "Special (Texture - Aggressive)"};
static constexpr const char* s_round_sprite_options[] = {"Off (Default)", "Half", "Full"}; static constexpr const char* s_round_sprite_options[] = {"Off (Default)", "Half", "Full"};
DrawIntListSetting(bsi, "CRC Fix Level", "Applies manual fixes to difficult-to-emulate effects in the hardware renderers.",
"EmuCore/GS", "crc_hack_level", static_cast<int>(CRCHackLevel::Automatic), s_crc_fix_options, std::size(s_crc_fix_options), -1);
DrawIntListSetting(bsi, "Half-Bottom Override", "Control the half-screen fix detection on texture shuffling.", "EmuCore/GS", DrawIntListSetting(bsi, "Half-Bottom Override", "Control the half-screen fix detection on texture shuffling.", "EmuCore/GS",
"UserHacks_Half_Bottom_Override", -1, s_generic_options, std::size(s_generic_options), -1); "UserHacks_Half_Bottom_Override", -1, s_generic_options, std::size(s_generic_options), -1);
DrawIntListSetting(bsi, "CPU Sprite Render Size", "Uses software renderer to draw texture decompression-like sprites.", DrawIntListSetting(bsi, "CPU Sprite Render Size", "Uses software renderer to draw texture decompression-like sprites.",
@ -3207,6 +3214,9 @@ void FullscreenUI::DrawGraphicsSettingsPage()
DrawToggleSetting(bsi, "Estimate Texture Region", DrawToggleSetting(bsi, "Estimate Texture Region",
"Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games).", "EmuCore/GS", "Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games).", "EmuCore/GS",
"UserHacks_EstimateTextureRegion", false, manual_hw_fixes); "UserHacks_EstimateTextureRegion", false, manual_hw_fixes);
DrawToggleSetting(bsi, "GPU Palette Conversion",
"Applies palettes to textures on the GPU instead of the CPU. Can result in speed improvements in some games.", "EmuCore/GS",
"paltex", false);
MenuHeading("Upscaling Fixes"); MenuHeading("Upscaling Fixes");
DrawIntListSetting(bsi, "Half-Pixel Offset", "Adjusts vertices relative to upscaling.", "EmuCore/GS", DrawIntListSetting(bsi, "Half-Pixel Offset", "Adjusts vertices relative to upscaling.", "EmuCore/GS",
@ -3226,16 +3236,6 @@ void FullscreenUI::DrawGraphicsSettingsPage()
"UserHacks_WildHack", false, manual_hw_fixes); "UserHacks_WildHack", false, manual_hw_fixes);
} }
} }
else
{
// extrathreads
DrawIntRangeSetting(bsi, "Software Rendering Threads",
"Number of threads to use in addition to the main GS thread for rasterization.", "EmuCore/GS", "extrathreads", 2, 0, 10);
DrawToggleSetting(bsi, "Auto Flush (Software)", "Force a primitive flush when a framebuffer is also an input texture.",
"EmuCore/GS", "autoflush_sw", true);
DrawToggleSetting(bsi, "Edge AA (AA1)", "Enables emulation of the GS's edge anti-aliasing (AA1).", "EmuCore/GS", "aa1", true);
DrawToggleSetting(bsi, "Mipmapping", "Enables emulation of the GS's texture mipmapping.", "EmuCore/GS", "mipmap", true);
}
if (is_hardware) if (is_hardware)
{ {
@ -3302,6 +3302,11 @@ void FullscreenUI::DrawGraphicsSettingsPage()
DrawToggleSetting(bsi, "Disable Threaded Presentation", DrawToggleSetting(bsi, "Disable Threaded Presentation",
"Presents frames on a worker thread, instead of on the GS thread. Can improve frame times on some systems, at the cost of " "Presents frames on a worker thread, instead of on the GS thread. Can improve frame times on some systems, at the cost of "
"potentially worse frame pacing.", "EmuCore/GS", "DisableThreadedPresentation", false); "potentially worse frame pacing.", "EmuCore/GS", "DisableThreadedPresentation", false);
if (hw_fixes_visible)
{
DrawIntListSetting(bsi, "Hardware Download Mode", "Changes synchronization behavior for GS downloads.", "EmuCore/GS",
"HWDownloadMode", static_cast<int>(GSHardwareDownloadMode::Enabled), s_hw_download, std::size(s_hw_download));
}
DrawIntListSetting(bsi, "Override Texture Barriers", "Forces texture barrier functionality to the specified value.", "EmuCore/GS", DrawIntListSetting(bsi, "Override Texture Barriers", "Forces texture barrier functionality to the specified value.", "EmuCore/GS",
"OverrideTextureBarriers", -1, s_generic_options, std::size(s_generic_options), -1); "OverrideTextureBarriers", -1, s_generic_options, std::size(s_generic_options), -1);
DrawIntListSetting(bsi, "Override Geometry Shaders", "Forces geometry shader functionality to the specified value.", "EmuCore/GS", DrawIntListSetting(bsi, "Override Geometry Shaders", "Forces geometry shader functionality to the specified value.", "EmuCore/GS",