diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 5 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 14 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 44 | 
4 files changed, 64 insertions, 0 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 70737c54e..662651196 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -711,6 +711,7 @@ void Config::ReadRendererValues() {      ReadGlobalSetting(Settings::values.nvdec_emulation);      ReadGlobalSetting(Settings::values.accelerate_astc);      ReadGlobalSetting(Settings::values.async_astc); +    ReadGlobalSetting(Settings::values.astc_recompression);      ReadGlobalSetting(Settings::values.use_reactive_flushing);      ReadGlobalSetting(Settings::values.shader_backend);      ReadGlobalSetting(Settings::values.use_asynchronous_shaders); @@ -1359,6 +1360,10 @@ void Config::SaveRendererValues() {                   Settings::values.nvdec_emulation.UsingGlobal());      WriteGlobalSetting(Settings::values.accelerate_astc);      WriteGlobalSetting(Settings::values.async_astc); +    WriteSetting(QString::fromStdString(Settings::values.astc_recompression.GetLabel()), +                 static_cast<u32>(Settings::values.astc_recompression.GetValue(global)), +                 static_cast<u32>(Settings::values.astc_recompression.GetDefault()), +                 Settings::values.astc_recompression.UsingGlobal());      WriteGlobalSetting(Settings::values.use_reactive_flushing);      WriteSetting(QString::fromStdString(Settings::values.shader_backend.GetLabel()),                   static_cast<u32>(Settings::values.shader_backend.GetValue(global)), diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index 7d26e9ab6..9cb9db6cf 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -208,3 +208,4 @@ Q_DECLARE_METATYPE(Settings::ScalingFilter);  Q_DECLARE_METATYPE(Settings::AntiAliasing);  Q_DECLARE_METATYPE(Settings::RendererBackend);  Q_DECLARE_METATYPE(Settings::ShaderBackend); +Q_DECLARE_METATYPE(Settings::AstcRecompression); diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 1f3e489d0..896863f87 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -27,6 +27,7 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {      ui->async_present->setEnabled(runtime_lock);      ui->renderer_force_max_clock->setEnabled(runtime_lock);      ui->async_astc->setEnabled(runtime_lock); +    ui->astc_recompression_combobox->setEnabled(runtime_lock);      ui->use_asynchronous_shaders->setEnabled(runtime_lock);      ui->anisotropic_filtering_combobox->setEnabled(runtime_lock);      ui->enable_compute_pipelines_checkbox->setEnabled(runtime_lock); @@ -47,14 +48,20 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {              static_cast<int>(Settings::values.gpu_accuracy.GetValue()));          ui->anisotropic_filtering_combobox->setCurrentIndex(              Settings::values.max_anisotropy.GetValue()); +        ui->astc_recompression_combobox->setCurrentIndex( +            static_cast<int>(Settings::values.astc_recompression.GetValue()));      } else {          ConfigurationShared::SetPerGameSetting(ui->gpu_accuracy, &Settings::values.gpu_accuracy);          ConfigurationShared::SetPerGameSetting(ui->anisotropic_filtering_combobox,                                                 &Settings::values.max_anisotropy); +        ConfigurationShared::SetPerGameSetting(ui->astc_recompression_combobox, +                                               &Settings::values.astc_recompression);          ConfigurationShared::SetHighlight(ui->label_gpu_accuracy,                                            !Settings::values.gpu_accuracy.UsingGlobal());          ConfigurationShared::SetHighlight(ui->af_label,                                            !Settings::values.max_anisotropy.UsingGlobal()); +        ConfigurationShared::SetHighlight(ui->label_astc_recompression, +                                          !Settings::values.astc_recompression.UsingGlobal());      }  } @@ -71,6 +78,8 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {                                               ui->use_reactive_flushing, use_reactive_flushing);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.async_astc, ui->async_astc,                                               async_astc); +    ConfigurationShared::ApplyPerGameSetting(&Settings::values.astc_recompression, +                                             ui->astc_recompression_combobox);      ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders,                                               ui->use_asynchronous_shaders,                                               use_asynchronous_shaders); @@ -105,6 +114,8 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {              Settings::values.renderer_force_max_clock.UsingGlobal());          ui->use_reactive_flushing->setEnabled(Settings::values.use_reactive_flushing.UsingGlobal());          ui->async_astc->setEnabled(Settings::values.async_astc.UsingGlobal()); +        ui->astc_recompression_combobox->setEnabled( +            Settings::values.astc_recompression.UsingGlobal());          ui->use_asynchronous_shaders->setEnabled(              Settings::values.use_asynchronous_shaders.UsingGlobal());          ui->use_fast_gpu_time->setEnabled(Settings::values.use_fast_gpu_time.UsingGlobal()); @@ -144,6 +155,9 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {      ConfigurationShared::SetColoredComboBox(          ui->anisotropic_filtering_combobox, ui->af_label,          static_cast<int>(Settings::values.max_anisotropy.GetValue(true))); +    ConfigurationShared::SetColoredComboBox( +        ui->astc_recompression_combobox, ui->label_astc_recompression, +        static_cast<int>(Settings::values.astc_recompression.GetValue(true)));  }  void ConfigureGraphicsAdvanced::ExposeComputeOption() { diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index 9ef7c8e8f..37757a918 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -70,6 +70,50 @@           </widget>          </item>          <item> +         <widget class="QWidget" name="astc_recompression_layout" native="true"> +          <layout class="QHBoxLayout" name="horizontalLayout_3"> +            <property name="leftMargin"> +              <number>0</number> +            </property> +            <property name="topMargin"> +              <number>0</number> +            </property> +            <property name="rightMargin"> +              <number>0</number> +            </property> +            <property name="bottomMargin"> +              <number>0</number> +            </property> +            <item> +              <widget class="QLabel" name="label_astc_recompression"> +              <property name="text"> +                <string>ASTC recompression:</string> +              </property> +              </widget> +            </item> +            <item> +              <widget class="QComboBox" name="astc_recompression_combobox"> +                <item> +                <property name="text"> +                  <string>Uncompressed (Best quality)</string> +                </property> +                </item> +                <item> +                <property name="text"> +                  <string>BC1 (Low quality)</string> +                </property> +                </item> +                <item> +                <property name="text"> +                  <string>BC3 (Medium quality)</string> +                </property> +                </item> +              </widget> +            </item> +          </layout> +         </widget> +        </item> +        <item>           <widget class="QCheckBox" name="async_present">            <property name="text">             <string>Enable asynchronous presentation (Vulkan only)</string>  | 
