diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 8 | ||||
| -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, 21 insertions, 0 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index da6e5aa88..8ecd87150 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -684,6 +684,7 @@ void Config::ReadRendererValues() {      ReadGlobalSetting(Settings::values.shader_backend);      ReadGlobalSetting(Settings::values.use_asynchronous_shaders);      ReadGlobalSetting(Settings::values.use_fast_gpu_time); +    ReadGlobalSetting(Settings::values.use_pessimistic_flushes);      ReadGlobalSetting(Settings::values.bg_red);      ReadGlobalSetting(Settings::values.bg_green);      ReadGlobalSetting(Settings::values.bg_blue); @@ -1300,6 +1301,7 @@ void Config::SaveRendererValues() {                   Settings::values.shader_backend.UsingGlobal());      WriteGlobalSetting(Settings::values.use_asynchronous_shaders);      WriteGlobalSetting(Settings::values.use_fast_gpu_time); +    WriteGlobalSetting(Settings::values.use_pessimistic_flushes);      WriteGlobalSetting(Settings::values.bg_red);      WriteGlobalSetting(Settings::values.bg_green);      WriteGlobalSetting(Settings::values.bg_blue); diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 7c3196c83..01f074699 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -28,6 +28,7 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {      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()); +    ui->use_pessimistic_flushes->setChecked(Settings::values.use_pessimistic_flushes.GetValue());      if (Settings::IsConfiguringGlobal()) {          ui->gpu_accuracy->setCurrentIndex( @@ -55,6 +56,8 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {                                               use_asynchronous_shaders);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time,                                               ui->use_fast_gpu_time, use_fast_gpu_time); +    ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_pessimistic_flushes, +                                             ui->use_pessimistic_flushes, use_pessimistic_flushes);  }  void ConfigureGraphicsAdvanced::changeEvent(QEvent* event) { @@ -77,6 +80,8 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {          ui->use_asynchronous_shaders->setEnabled(              Settings::values.use_asynchronous_shaders.UsingGlobal());          ui->use_fast_gpu_time->setEnabled(Settings::values.use_fast_gpu_time.UsingGlobal()); +        ui->use_pessimistic_flushes->setEnabled( +            Settings::values.use_pessimistic_flushes.UsingGlobal());          ui->anisotropic_filtering_combobox->setEnabled(              Settings::values.max_anisotropy.UsingGlobal()); @@ -89,6 +94,9 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {                                              use_asynchronous_shaders);      ConfigurationShared::SetColoredTristate(ui->use_fast_gpu_time,                                              Settings::values.use_fast_gpu_time, use_fast_gpu_time); +    ConfigurationShared::SetColoredTristate(ui->use_pessimistic_flushes, +                                            Settings::values.use_pessimistic_flushes, +                                            use_pessimistic_flushes);      ConfigurationShared::SetColoredComboBox(          ui->gpu_accuracy, ui->label_gpu_accuracy,          static_cast<int>(Settings::values.gpu_accuracy.GetValue(true))); diff --git a/src/yuzu/configuration/configure_graphics_advanced.h b/src/yuzu/configuration/configure_graphics_advanced.h index 1ef7bd916..12e816905 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.h +++ b/src/yuzu/configuration/configure_graphics_advanced.h @@ -39,6 +39,7 @@ private:      ConfigurationShared::CheckState use_vsync;      ConfigurationShared::CheckState use_asynchronous_shaders;      ConfigurationShared::CheckState use_fast_gpu_time; +    ConfigurationShared::CheckState use_pessimistic_flushes;      const Core::System& system;  }; diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index d6d819364..87a121471 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -100,6 +100,16 @@           </widget>          </item>          <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> +          </property> +          <property name="text"> +           <string>Use pessimistic buffer flushes (Hack)</string> +          </property> +         </widget> +        </item> +        <item>           <widget class="QWidget" name="af_layout" native="true">            <layout class="QHBoxLayout" name="horizontalLayout_1">             <property name="leftMargin"> | 
