From ce3f8bf94eda5c118572b302f0d561e9a6f1b20e Mon Sep 17 00:00:00 2001 From: James Rowe Date: Sat, 7 Sep 2019 16:08:10 -0600 Subject: [PATCH] Add frontend settings --- src/citra/config.cpp | 2 ++ src/citra/default_ini.h | 4 ++++ src/citra_qt/configuration/config.cpp | 4 ++-- src/citra_qt/configuration/configure_enhancements.cpp | 2 ++ src/citra_qt/configuration/configure_enhancements.ui | 7 +++++++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/citra/config.cpp b/src/citra/config.cpp index 86d592b8c..eeebcf399 100644 --- a/src/citra/config.cpp +++ b/src/citra/config.cpp @@ -122,6 +122,8 @@ void Config::ReadValues() { Settings::values.resolution_factor = static_cast(sdl2_config->GetInteger("Renderer", "resolution_factor", 1)); Settings::values.use_frame_limit = sdl2_config->GetBoolean("Renderer", "use_frame_limit", true); + Settings::values.use_disk_shader_cache = + sdl2_config->GetBoolean("Renderer", "use_disk_shader_cache", true); Settings::values.frame_limit = static_cast(sdl2_config->GetInteger("Renderer", "frame_limit", 100)); Settings::values.use_vsync_new = diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h index d646823e2..fa51ec746 100644 --- a/src/citra/default_ini.h +++ b/src/citra/default_ini.h @@ -117,6 +117,10 @@ use_shader_jit = # 0: Off, 1 (default): On use_vsync_new = +# Reduce stuttering by storing and loading generated shaders to disk +# 0: Off, 1 (default. On) +use_disk_shader_cache = + # Resolution scale factor # 0: Auto (scales resolution to window size), 1: Native 3DS screen resolution, Otherwise a scale # factor for the 3DS resolution diff --git a/src/citra_qt/configuration/config.cpp b/src/citra_qt/configuration/config.cpp index e94d2dec0..7601d485b 100644 --- a/src/citra_qt/configuration/config.cpp +++ b/src/citra_qt/configuration/config.cpp @@ -239,7 +239,7 @@ void Config::ReadUtilityValues() { Settings::values.dump_textures = ReadSetting("dump_textures", false).toBool(); Settings::values.custom_textures = ReadSetting("custom_textures", false).toBool(); Settings::values.preload_textures = ReadSetting("preload_textures", false).toBool(); - Settings::values.use_disk_shader_cache = ReadSetting("use_disk_shader_cache", false).toBool(); + Settings::values.use_disk_shader_cache = ReadSetting("use_disk_shader_cache", true).toBool(); qt_config->endGroup(); } @@ -714,7 +714,7 @@ void Config::SaveUtilityValues() { WriteSetting("dump_textures", Settings::values.dump_textures, false); WriteSetting("custom_textures", Settings::values.custom_textures, false); WriteSetting("preload_textures", Settings::values.preload_textures, false); - WriteSetting("use_disk_shader_cache", Settings::values.use_disk_shader_cache, false); + WriteSetting("use_disk_shader_cache", Settings::values.use_disk_shader_cache, true); qt_config->endGroup(); } diff --git a/src/citra_qt/configuration/configure_enhancements.cpp b/src/citra_qt/configuration/configure_enhancements.cpp index 677f868c2..6484bc204 100644 --- a/src/citra_qt/configuration/configure_enhancements.cpp +++ b/src/citra_qt/configuration/configure_enhancements.cpp @@ -53,6 +53,7 @@ void ConfigureEnhancements::SetConfiguration() { ui->toggle_linear_filter->setChecked(Settings::values.filter_mode); ui->layout_combobox->setCurrentIndex(static_cast(Settings::values.layout_option)); ui->swap_screen->setChecked(Settings::values.swap_screen); + ui->toggle_disk_shader_cache->setChecked(Settings::values.use_disk_shader_cache); ui->toggle_dump_textures->setChecked(Settings::values.dump_textures); ui->toggle_custom_textures->setChecked(Settings::values.custom_textures); ui->toggle_preload_textures->setChecked(Settings::values.preload_textures); @@ -97,6 +98,7 @@ void ConfigureEnhancements::ApplyConfiguration() { Settings::values.layout_option = static_cast(ui->layout_combobox->currentIndex()); Settings::values.swap_screen = ui->swap_screen->isChecked(); + Settings::values.use_disk_shader_cache = ui->toggle_disk_shader_cache->isChecked(); Settings::values.dump_textures = ui->toggle_dump_textures->isChecked(); Settings::values.custom_textures = ui->toggle_custom_textures->isChecked(); Settings::values.preload_textures = ui->toggle_preload_textures->isChecked(); diff --git a/src/citra_qt/configuration/configure_enhancements.ui b/src/citra_qt/configuration/configure_enhancements.ui index bb677dabb..1bebf6200 100644 --- a/src/citra_qt/configuration/configure_enhancements.ui +++ b/src/citra_qt/configuration/configure_enhancements.ui @@ -264,6 +264,13 @@ Utility + + + + Use Disk Shader Cache + + +