diff options
Diffstat (limited to 'src/yuzu')
-rw-r--r-- | src/yuzu/configuration/config.cpp | 12 | ||||
-rw-r--r-- | src/yuzu/configuration/config.h | 1 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 19 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics.ui | 51 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 7 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 10 |
6 files changed, 65 insertions, 35 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 195d3556c..786c1222f 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -764,10 +764,8 @@ void Config::ReadRendererValues() { ReadGlobalSetting(Settings::values.use_asynchronous_gpu_emulation); 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); ReadGlobalSetting(Settings::values.use_fast_gpu_time); ReadGlobalSetting(Settings::values.use_vulkan_driver_pipeline_cache); @@ -1428,13 +1426,19 @@ void Config::SaveRendererValues() { static_cast<u32>(Settings::values.nvdec_emulation.GetValue(global)), static_cast<u32>(Settings::values.nvdec_emulation.GetDefault()), Settings::values.nvdec_emulation.UsingGlobal()); - WriteGlobalSetting(Settings::values.accelerate_astc); - WriteGlobalSetting(Settings::values.async_astc); + WriteSetting(QString::fromStdString(Settings::values.accelerate_astc.GetLabel()), + static_cast<u32>(Settings::values.accelerate_astc.GetValue(global)), + static_cast<u32>(Settings::values.accelerate_astc.GetDefault()), + Settings::values.accelerate_astc.UsingGlobal()); 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.accelerate_astc.GetLabel()), + static_cast<u32>(Settings::values.accelerate_astc.GetValue(global)), + static_cast<u32>(Settings::values.accelerate_astc.GetDefault()), + Settings::values.shader_backend.UsingGlobal()); WriteSetting(QString::fromStdString(Settings::values.shader_backend.GetLabel()), static_cast<u32>(Settings::values.shader_backend.GetValue(global)), static_cast<u32>(Settings::values.shader_backend.GetDefault()), diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index 1211389d2..e066f7552 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -218,3 +218,4 @@ Q_DECLARE_METATYPE(Settings::AntiAliasing); Q_DECLARE_METATYPE(Settings::RendererBackend); Q_DECLARE_METATYPE(Settings::ShaderBackend); Q_DECLARE_METATYPE(Settings::AstcRecompression); +Q_DECLARE_METATYPE(Settings::AstcDecodeMode); diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index a4965524a..e70781357 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp @@ -194,14 +194,13 @@ void ConfigureGraphics::SetConfiguration() { ui->use_disk_shader_cache->setEnabled(runtime_lock); ui->nvdec_emulation_widget->setEnabled(runtime_lock); ui->resolution_combobox->setEnabled(runtime_lock); - ui->accelerate_astc->setEnabled(runtime_lock); + ui->astc_decode_mode_combobox->setEnabled(runtime_lock); ui->vsync_mode_layout->setEnabled(runtime_lock || Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::Vulkan); ui->use_disk_shader_cache->setChecked(Settings::values.use_disk_shader_cache.GetValue()); ui->use_asynchronous_gpu_emulation->setChecked( Settings::values.use_asynchronous_gpu_emulation.GetValue()); - ui->accelerate_astc->setChecked(Settings::values.accelerate_astc.GetValue()); if (Settings::IsConfiguringGlobal()) { ui->api->setCurrentIndex(static_cast<int>(Settings::values.renderer_backend.GetValue())); @@ -222,6 +221,11 @@ void ConfigureGraphics::SetConfiguration() { ConfigurationShared::SetHighlight(ui->api_widget, !Settings::values.renderer_backend.UsingGlobal()); + ConfigurationShared::SetPerGameSetting(ui->astc_decode_mode_combobox, + &Settings::values.accelerate_astc); + ConfigurationShared::SetHighlight(ui->astc_decode_mode_layout, + !Settings::values.accelerate_astc.UsingGlobal()); + ConfigurationShared::SetPerGameSetting(ui->nvdec_emulation, &Settings::values.nvdec_emulation); ConfigurationShared::SetHighlight(ui->nvdec_emulation_widget, @@ -337,8 +341,8 @@ void ConfigureGraphics::ApplyConfiguration() { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_gpu_emulation, ui->use_asynchronous_gpu_emulation, use_asynchronous_gpu_emulation); - ConfigurationShared::ApplyPerGameSetting(&Settings::values.accelerate_astc, ui->accelerate_astc, - accelerate_astc); + ConfigurationShared::ApplyPerGameSetting(&Settings::values.accelerate_astc, + ui->astc_decode_mode_combobox); if (Settings::IsConfiguringGlobal()) { // Guard if during game and set to game-specific value @@ -555,7 +559,7 @@ void ConfigureGraphics::SetupPerGameUI() { ui->use_asynchronous_gpu_emulation->setEnabled( Settings::values.use_asynchronous_gpu_emulation.UsingGlobal()); ui->nvdec_emulation->setEnabled(Settings::values.nvdec_emulation.UsingGlobal()); - ui->accelerate_astc->setEnabled(Settings::values.accelerate_astc.UsingGlobal()); + ui->astc_decode_mode_combobox->setEnabled(Settings::values.accelerate_astc.UsingGlobal()); ui->use_disk_shader_cache->setEnabled(Settings::values.use_disk_shader_cache.UsingGlobal()); ui->bg_button->setEnabled(Settings::values.bg_red.UsingGlobal()); ui->fsr_slider_layout->setEnabled(Settings::values.fsr_sharpening_slider.UsingGlobal()); @@ -577,8 +581,6 @@ void ConfigureGraphics::SetupPerGameUI() { ConfigurationShared::SetColoredTristate( ui->use_disk_shader_cache, Settings::values.use_disk_shader_cache, use_disk_shader_cache); - ConfigurationShared::SetColoredTristate(ui->accelerate_astc, Settings::values.accelerate_astc, - accelerate_astc); ConfigurationShared::SetColoredTristate(ui->use_asynchronous_gpu_emulation, Settings::values.use_asynchronous_gpu_emulation, use_asynchronous_gpu_emulation); @@ -597,6 +599,9 @@ void ConfigureGraphics::SetupPerGameUI() { ConfigurationShared::SetColoredComboBox( ui->anti_aliasing_combobox, ui->anti_aliasing_label, static_cast<int>(Settings::values.anti_aliasing.GetValue(true))); + ConfigurationShared::SetColoredComboBox( + ui->astc_decode_mode_combobox, ui->astc_decode_mode_label, + static_cast<int>(Settings::values.accelerate_astc.GetValue(true))); ConfigurationShared::InsertGlobalItem( ui->api, static_cast<int>(Settings::values.renderer_backend.GetValue(true))); ConfigurationShared::InsertGlobalItem( diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui index 39f70e406..91b09625b 100644 --- a/src/yuzu/configuration/configure_graphics.ui +++ b/src/yuzu/configuration/configure_graphics.ui @@ -182,13 +182,6 @@ </widget> </item> <item> - <widget class="QCheckBox" name="accelerate_astc"> - <property name="text"> - <string>Accelerate ASTC texture decoding</string> - </property> - </widget> - </item> - <item> <widget class="QWidget" name="vsync_mode_layout" native="true"> <layout class="QHBoxLayout" name="horizontalLayout_4"> <property name="leftMargin"> @@ -227,6 +220,50 @@ Immediate (no synchronization) just presents whatever is available and can exhib </widget> </item> <item> + <widget class="QWidget" name="astc_decode_mode_layout" native="true"> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <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="astc_decode_mode_label"> + <property name="text"> + <string>ASTC Texture Decoding Method:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="astc_decode_mode_combobox"> + <item> + <property name="text"> + <string>CPU</string> + </property> + </item> + <item> + <property name="text"> + <string>GPU Compute</string> + </property> + </item> + <item> + <property name="text"> + <string>CPU Asynchronous (Hack)</string> + </property> + </item> + </widget> + </item> + </layout> + </widget> + </item> + <item> <widget class="QWidget" name="nvdec_emulation_widget" native="true"> <layout class="QHBoxLayout" name="nvdec_emulation_layout"> <property name="leftMargin"> diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index c0a044767..e5c99f742 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -26,7 +26,6 @@ void ConfigureGraphicsAdvanced::SetConfiguration() { ui->use_reactive_flushing->setEnabled(runtime_lock); 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); @@ -35,7 +34,6 @@ void ConfigureGraphicsAdvanced::SetConfiguration() { ui->async_present->setChecked(Settings::values.async_presentation.GetValue()); ui->renderer_force_max_clock->setChecked(Settings::values.renderer_force_max_clock.GetValue()); ui->use_reactive_flushing->setChecked(Settings::values.use_reactive_flushing.GetValue()); - ui->async_astc->setChecked(Settings::values.async_astc.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_vulkan_driver_pipeline_cache->setChecked( @@ -79,8 +77,6 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() { ui->anisotropic_filtering_combobox); ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_reactive_flushing, 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, @@ -121,7 +117,6 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() { ui->renderer_force_max_clock->setEnabled( 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( @@ -148,8 +143,6 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() { renderer_force_max_clock); ConfigurationShared::SetColoredTristate( ui->use_reactive_flushing, Settings::values.use_reactive_flushing, use_reactive_flushing); - ConfigurationShared::SetColoredTristate(ui->async_astc, Settings::values.async_astc, - async_astc); ConfigurationShared::SetColoredTristate(ui->use_asynchronous_shaders, Settings::values.use_asynchronous_shaders, use_asynchronous_shaders); diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index d527a6f38..859ab9366 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -131,16 +131,6 @@ </widget> </item> <item> - <widget class="QCheckBox" name="async_astc"> - <property name="toolTip"> - <string>Enables asynchronous ASTC texture decoding, which may reduce load time stutter. This feature is experimental.</string> - </property> - <property name="text"> - <string>Decode ASTC textures asynchronously (Hack)</string> - </property> - </widget> - </item> - <item> <widget class="QCheckBox" name="use_reactive_flushing"> <property name="toolTip"> <string>Uses reactive flushing instead of predictive flushing. Allowing a more accurate syncing of memory.</string> |