diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 7 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 15 | 
4 files changed, 21 insertions, 4 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index bb731276e..305891d18 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -692,6 +692,7 @@ void Config::ReadRendererValues() {      qt_config->beginGroup(QStringLiteral("Renderer"));      ReadGlobalSetting(Settings::values.renderer_backend); +    ReadGlobalSetting(Settings::values.async_presentation);      ReadGlobalSetting(Settings::values.renderer_force_max_clock);      ReadGlobalSetting(Settings::values.vulkan_device);      ReadGlobalSetting(Settings::values.fullscreen_mode); @@ -1313,6 +1314,7 @@ 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()); +    WriteGlobalSetting(Settings::values.async_presentation);      WriteGlobalSetting(Settings::values.renderer_force_max_clock);      WriteGlobalSetting(Settings::values.vulkan_device);      WriteSetting(QString::fromStdString(Settings::values.fullscreen_mode.GetLabel()), diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 59fb1b334..7f7bf0e4d 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -22,11 +22,13 @@ ConfigureGraphicsAdvanced::~ConfigureGraphicsAdvanced() = default;  void ConfigureGraphicsAdvanced::SetConfiguration() {      const bool runtime_lock = !system.IsPoweredOn();      ui->use_vsync->setEnabled(runtime_lock); +    ui->async_present->setEnabled(runtime_lock);      ui->renderer_force_max_clock->setEnabled(runtime_lock);      ui->async_astc->setEnabled(runtime_lock);      ui->use_asynchronous_shaders->setEnabled(runtime_lock);      ui->anisotropic_filtering_combobox->setEnabled(runtime_lock); +    ui->async_present->setChecked(Settings::values.async_presentation.GetValue());      ui->renderer_force_max_clock->setChecked(Settings::values.renderer_force_max_clock.GetValue());      ui->use_vsync->setChecked(Settings::values.use_vsync.GetValue());      ui->async_astc->setChecked(Settings::values.async_astc.GetValue()); @@ -54,6 +56,8 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {  void ConfigureGraphicsAdvanced::ApplyConfiguration() {      ConfigurationShared::ApplyPerGameSetting(&Settings::values.gpu_accuracy, ui->gpu_accuracy); +    ConfigurationShared::ApplyPerGameSetting(&Settings::values.async_presentation, +                                             ui->async_present, async_present);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.renderer_force_max_clock,                                               ui->renderer_force_max_clock,                                               renderer_force_max_clock); @@ -90,6 +94,7 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {      // Disable if not global (only happens during game)      if (Settings::IsConfiguringGlobal()) {          ui->gpu_accuracy->setEnabled(Settings::values.gpu_accuracy.UsingGlobal()); +        ui->async_present->setEnabled(Settings::values.async_presentation.UsingGlobal());          ui->renderer_force_max_clock->setEnabled(              Settings::values.renderer_force_max_clock.UsingGlobal());          ui->use_vsync->setEnabled(Settings::values.use_vsync.UsingGlobal()); @@ -107,6 +112,8 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {          return;      } +    ConfigurationShared::SetColoredTristate(ui->async_present, Settings::values.async_presentation, +                                            async_present);      ConfigurationShared::SetColoredTristate(ui->renderer_force_max_clock,                                              Settings::values.renderer_force_max_clock,                                              renderer_force_max_clock); diff --git a/src/yuzu/configuration/configure_graphics_advanced.h b/src/yuzu/configuration/configure_graphics_advanced.h index bf1b04749..5394ed40a 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 async_present;      ConfigurationShared::CheckState renderer_force_max_clock;      ConfigurationShared::CheckState use_vsync;      ConfigurationShared::CheckState async_astc; diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index a7dbdc18c..d7ec18939 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -7,7 +7,7 @@      <x>0</x>      <y>0</y>      <width>404</width> -    <height>321</height> +    <height>376</height>     </rect>    </property>    <property name="windowTitle"> @@ -70,6 +70,13 @@           </widget>          </item>          <item> +         <widget class="QCheckBox" name="async_present"> +          <property name="text"> +           <string>Enable asynchronous presentation (Vulkan only)</string> +          </property> +         </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> @@ -112,7 +119,7 @@          <item>           <widget class="QCheckBox" name="use_fast_gpu_time">            <property name="toolTip"> -            <string>Enables Fast GPU Time. This option will force most games to run at their highest native resolution.</string> +           <string>Enables Fast GPU Time. This option will force most games to run at their highest native resolution.</string>            </property>            <property name="text">             <string>Use Fast GPU Time (Hack)</string> @@ -122,7 +129,7 @@          <item>           <widget class="QCheckBox" name="use_pessimistic_flushes">            <property name="toolTip"> -            <string>Enables pessimistic buffer flushes. This option will force unmodified buffers to be flushed, which can cost performance.</string> +           <string>Enables pessimistic buffer flushes. This option will force unmodified buffers to be flushed, which can cost performance.</string>            </property>            <property name="text">             <string>Use pessimistic buffer flushes (Hack)</string> @@ -132,7 +139,7 @@          <item>           <widget class="QCheckBox" name="use_vulkan_driver_pipeline_cache">            <property name="toolTip"> -            <string>Enables GPU vendor-specific pipeline cache. This option can improve shader loading time significantly in cases where the Vulkan driver does not store pipeline cache files internally.</string> +           <string>Enables GPU vendor-specific pipeline cache. This option can improve shader loading time significantly in cases where the Vulkan driver does not store pipeline cache files internally.</string>            </property>            <property name="text">             <string>Use Vulkan pipeline cache</string> | 
