diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 8 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 5 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 33 | 
3 files changed, 35 insertions, 11 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 7f6dfac84..196a3a116 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -639,8 +639,8 @@ void Config::ReadRendererValues() {      Settings::values.frame_limit = ReadSetting(QStringLiteral("frame_limit"), 100).toInt();      Settings::values.use_disk_shader_cache =          ReadSetting(QStringLiteral("use_disk_shader_cache"), true).toBool(); -    Settings::values.use_accurate_gpu_emulation = -        ReadSetting(QStringLiteral("use_accurate_gpu_emulation"), false).toBool(); +    const int gpu_accuracy_level = ReadSetting(QStringLiteral("gpu_accuracy"), 0).toInt(); +    Settings::values.gpu_accuracy = static_cast<Settings::GPUAccuracy>(gpu_accuracy_level);      Settings::values.use_asynchronous_gpu_emulation =          ReadSetting(QStringLiteral("use_asynchronous_gpu_emulation"), false).toBool();      Settings::values.use_vsync = ReadSetting(QStringLiteral("use_vsync"), true).toBool(); @@ -1080,8 +1080,8 @@ void Config::SaveRendererValues() {      WriteSetting(QStringLiteral("frame_limit"), Settings::values.frame_limit, 100);      WriteSetting(QStringLiteral("use_disk_shader_cache"), Settings::values.use_disk_shader_cache,                   true); -    WriteSetting(QStringLiteral("use_accurate_gpu_emulation"), -                 Settings::values.use_accurate_gpu_emulation, false); +    WriteSetting(QStringLiteral("gpu_accuracy"), static_cast<int>(Settings::values.gpu_accuracy), +                 0);      WriteSetting(QStringLiteral("use_asynchronous_gpu_emulation"),                   Settings::values.use_asynchronous_gpu_emulation, false);      WriteSetting(QStringLiteral("use_vsync"), Settings::values.use_vsync, true); diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index b9f429f84..0a3f47339 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -19,7 +19,7 @@ ConfigureGraphicsAdvanced::~ConfigureGraphicsAdvanced() = default;  void ConfigureGraphicsAdvanced::SetConfiguration() {      const bool runtime_lock = !Core::System::GetInstance().IsPoweredOn(); -    ui->use_accurate_gpu_emulation->setChecked(Settings::values.use_accurate_gpu_emulation); +    ui->gpu_accuracy->setCurrentIndex(static_cast<int>(Settings::values.gpu_accuracy));      ui->use_vsync->setEnabled(runtime_lock);      ui->use_vsync->setChecked(Settings::values.use_vsync);      ui->force_30fps_mode->setEnabled(runtime_lock); @@ -29,7 +29,8 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {  }  void ConfigureGraphicsAdvanced::ApplyConfiguration() { -    Settings::values.use_accurate_gpu_emulation = ui->use_accurate_gpu_emulation->isChecked(); +    auto gpu_accuracy = static_cast<Settings::GPUAccuracy>(ui->gpu_accuracy->currentIndex()); +    Settings::values.gpu_accuracy = gpu_accuracy;      Settings::values.use_vsync = ui->use_vsync->isChecked();      Settings::values.force_30fps_mode = ui->force_30fps_mode->isChecked();      Settings::values.max_anisotropy = ui->anisotropic_filtering_combobox->currentIndex(); diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index 42eec278e..0c7b383e0 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -23,11 +23,34 @@         </property>         <layout class="QVBoxLayout" name="verticalLayout_3">          <item> -         <widget class="QCheckBox" name="use_accurate_gpu_emulation"> -          <property name="text"> -           <string>Use accurate GPU emulation (slow)</string> -          </property> -         </widget> +         <layout class="QHBoxLayout" name="horizontalLayout_2"> +          <item> +           <widget class="QLabel" name="label_gpu_accuracy"> +            <property name="text"> +             <string>Accuracy Level:</string> +            </property> +           </widget> +          </item> +          <item> +           <widget class="QComboBox" name="gpu_accuracy"> +            <item> +             <property name="text"> +              <string notr="true">Normal</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string notr="true">High</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string notr="true">Extreme(very slow)</string> +             </property> +            </item> +           </widget> +          </item> +         </layout>          </item>          <item>           <widget class="QCheckBox" name="use_vsync"> | 
