GameSettings: Add trait for sw-renderer-for-readbacks

This commit is contained in:
Connor McLaughlin 2021-05-19 14:22:19 +10:00
parent 5d877250e9
commit a6d76e787f
3 changed files with 9 additions and 1 deletions

View file

@ -133,7 +133,7 @@ private:
enum : u32
{
GAME_LIST_CACHE_SIGNATURE = 0x45434C47,
GAME_LIST_CACHE_VERSION = 29
GAME_LIST_CACHE_VERSION = 30
};
using CacheMap = std::unordered_map<std::string, GameListEntry>;

View file

@ -21,6 +21,7 @@ namespace GameSettings {
std::array<std::pair<const char*, const char*>, static_cast<u32>(Trait::Count)> s_trait_names = {{
{"ForceInterpreter", TRANSLATABLE("GameSettingsTrait", "Force Interpreter")},
{"ForceSoftwareRenderer", TRANSLATABLE("GameSettingsTrait", "Force Software Renderer")},
{"ForceSoftwareRendererForReadbacks", TRANSLATABLE("GameSettingsTrait", "Force Software Renderer For Readbacks")},
{"ForceInterlacing", TRANSLATABLE("GameSettingsTrait", "Force Interlacing")},
{"DisableTrueColor", TRANSLATABLE("GameSettingsTrait", "Disable True Color")},
{"DisableUpscaling", TRANSLATABLE("GameSettingsTrait", "Disable Upscaling")},
@ -1345,6 +1346,12 @@ void Entry::ApplySettings(bool display_osd_messages) const
g_settings.gpu_pgxp_depth_buffer = false;
}
if (HasTrait(Trait::ForceSoftwareRenderer))
{
Log_WarningPrint("Using software renderer for readbacks.");
g_settings.gpu_renderer = GPURenderer::Software;
}
if (HasTrait(Trait::ForceRecompilerMemoryExceptions))
{
Log_WarningPrint("Memory exceptions for recompiler forced by game settings.");

View file

@ -13,6 +13,7 @@ enum class Trait : u32
{
ForceInterpreter,
ForceSoftwareRenderer,
ForceSoftwareRendererForReadbacks,
ForceInterlacing,
DisableTrueColor,
DisableUpscaling,