diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 11 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 10 | 
4 files changed, 26 insertions, 0 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index fbfa3ba35..0db62baa3 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -690,6 +690,7 @@ void Config::ReadRendererValues() {      qt_config->beginGroup(QStringLiteral("Renderer"));      ReadGlobalSetting(Settings::values.renderer_backend); +    ReadGlobalSetting(Settings::values.renderer_force_max_clock);      ReadGlobalSetting(Settings::values.vulkan_device);      ReadGlobalSetting(Settings::values.fullscreen_mode);      ReadGlobalSetting(Settings::values.aspect_ratio); @@ -1306,6 +1307,9 @@ void Config::SaveRendererValues() {                   static_cast<u32>(Settings::values.renderer_backend.GetValue(global)),                   static_cast<u32>(Settings::values.renderer_backend.GetDefault()),                   Settings::values.renderer_backend.UsingGlobal()); +    WriteSetting(QString::fromStdString(Settings::values.renderer_force_max_clock.GetLabel()), +                 static_cast<u32>(Settings::values.renderer_force_max_clock.GetValue(global)), +                 static_cast<u32>(Settings::values.renderer_force_max_clock.GetDefault()));      WriteGlobalSetting(Settings::values.vulkan_device);      WriteSetting(QString::fromStdString(Settings::values.fullscreen_mode.GetLabel()),                   static_cast<u32>(Settings::values.fullscreen_mode.GetValue(global)), diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index a3fbe2ad0..fdf8485ce 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -25,6 +25,7 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {      ui->use_asynchronous_shaders->setEnabled(runtime_lock);      ui->anisotropic_filtering_combobox->setEnabled(runtime_lock); +    ui->renderer_force_max_clock->setChecked(Settings::values.renderer_force_max_clock.GetValue());      ui->use_vsync->setChecked(Settings::values.use_vsync.GetValue());      ui->use_asynchronous_shaders->setChecked(Settings::values.use_asynchronous_shaders.GetValue());      ui->use_fast_gpu_time->setChecked(Settings::values.use_fast_gpu_time.GetValue()); @@ -39,6 +40,8 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {              Settings::values.max_anisotropy.GetValue());      } else {          ConfigurationShared::SetPerGameSetting(ui->gpu_accuracy, &Settings::values.gpu_accuracy); +        ConfigurationShared::SetPerGameSetting(ui->renderer_force_max_clock, +                                               &Settings::values.renderer_force_max_clock);          ConfigurationShared::SetPerGameSetting(ui->anisotropic_filtering_combobox,                                                 &Settings::values.max_anisotropy);          ConfigurationShared::SetHighlight(ui->label_gpu_accuracy, @@ -50,6 +53,9 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {  void ConfigureGraphicsAdvanced::ApplyConfiguration() {      ConfigurationShared::ApplyPerGameSetting(&Settings::values.gpu_accuracy, ui->gpu_accuracy); +    ConfigurationShared::ApplyPerGameSetting(&Settings::values.renderer_force_max_clock, +                                             ui->renderer_force_max_clock, +                                             renderer_force_max_clock);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy,                                               ui->anisotropic_filtering_combobox);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_vsync, ui->use_vsync, use_vsync); @@ -81,6 +87,8 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {      // Disable if not global (only happens during game)      if (Settings::IsConfiguringGlobal()) {          ui->gpu_accuracy->setEnabled(Settings::values.gpu_accuracy.UsingGlobal()); +        ui->renderer_force_max_clock->setEnabled( +            Settings::values.renderer_force_max_clock.UsingGlobal());          ui->use_vsync->setEnabled(Settings::values.use_vsync.UsingGlobal());          ui->use_asynchronous_shaders->setEnabled(              Settings::values.use_asynchronous_shaders.UsingGlobal()); @@ -95,6 +103,9 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {          return;      } +    ConfigurationShared::SetColoredTristate(ui->renderer_force_max_clock, +                                            Settings::values.renderer_force_max_clock, +                                            renderer_force_max_clock);      ConfigurationShared::SetColoredTristate(ui->use_vsync, Settings::values.use_vsync, use_vsync);      ConfigurationShared::SetColoredTristate(ui->use_asynchronous_shaders,                                              Settings::values.use_asynchronous_shaders, diff --git a/src/yuzu/configuration/configure_graphics_advanced.h b/src/yuzu/configuration/configure_graphics_advanced.h index 891efc068..df557d585 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.h +++ b/src/yuzu/configuration/configure_graphics_advanced.h @@ -36,6 +36,7 @@ private:      std::unique_ptr<Ui::ConfigureGraphicsAdvanced> ui; +    ConfigurationShared::CheckState renderer_force_max_clock;      ConfigurationShared::CheckState use_vsync;      ConfigurationShared::CheckState use_asynchronous_shaders;      ConfigurationShared::CheckState use_fast_gpu_time; diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index ccbdcf08f..061885e30 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -70,6 +70,16 @@           </widget>          </item>          <item> +         <widget class="QCheckBox" name="renderer_force_max_clock"> +          <property name="toolTip"> +           <string>Runs work in the background while waiting for graphics commands to keep the GPU from lowering its clock speed.</string> +          </property> +          <property name="text"> +           <string>Force maximum clocks (Vulkan only)</string> +          </property> +         </widget> +        </item> +        <item>           <widget class="QCheckBox" name="use_vsync">            <property name="toolTip">             <string>VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference.</string> | 
