diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 10 | 
3 files changed, 20 insertions, 0 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 27775701d..b08b87426 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -643,6 +643,8 @@ void Config::ReadRendererValues() {      Settings::values.use_asynchronous_gpu_emulation =          ReadSetting(QStringLiteral("use_asynchronous_gpu_emulation"), false).toBool();      Settings::values.use_vsync = ReadSetting(QStringLiteral("use_vsync"), true).toBool(); +    Settings::values.use_assembly_shaders = +        ReadSetting(QStringLiteral("use_assembly_shaders"), false).toBool();      Settings::values.use_fast_gpu_time =          ReadSetting(QStringLiteral("use_fast_gpu_time"), true).toBool();      Settings::values.force_30fps_mode = @@ -1090,6 +1092,8 @@ void Config::SaveRendererValues() {      WriteSetting(QStringLiteral("use_asynchronous_gpu_emulation"),                   Settings::values.use_asynchronous_gpu_emulation, false);      WriteSetting(QStringLiteral("use_vsync"), Settings::values.use_vsync, true); +    WriteSetting(QStringLiteral("use_assembly_shaders"), Settings::values.use_assembly_shaders, +                 false);      WriteSetting(QStringLiteral("use_fast_gpu_time"), Settings::values.use_fast_gpu_time, true);      WriteSetting(QStringLiteral("force_30fps_mode"), Settings::values.force_30fps_mode, false); diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 5bb2ae555..37aadf7f8 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -12,6 +12,9 @@ ConfigureGraphicsAdvanced::ConfigureGraphicsAdvanced(QWidget* parent)      ui->setupUi(this); +    // TODO: Remove this after assembly shaders are fully integrated +    ui->use_assembly_shaders->setVisible(false); +      SetConfiguration();  } @@ -22,6 +25,8 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {      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->use_assembly_shaders->setEnabled(runtime_lock); +    ui->use_assembly_shaders->setChecked(Settings::values.use_assembly_shaders);      ui->use_fast_gpu_time->setChecked(Settings::values.use_fast_gpu_time);      ui->force_30fps_mode->setEnabled(runtime_lock);      ui->force_30fps_mode->setChecked(Settings::values.force_30fps_mode); @@ -33,6 +38,7 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {      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.use_assembly_shaders = ui->use_assembly_shaders->isChecked();      Settings::values.use_fast_gpu_time = ui->use_fast_gpu_time->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 770b80c50..0021607ac 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -63,6 +63,16 @@           </widget>          </item>          <item> +         <widget class="QCheckBox" name="use_assembly_shaders"> +          <property name="toolTip"> +           <string>Enabling this reduces shader stutter. Enables OpenGL assembly shaders on supported Nvidia devices (NV_gpu_program5 is required). This feature is experimental.</string> +          </property> +          <property name="text"> +           <string>Use assembly shaders (experimental, Nvidia OpenGL only)</string> +          </property> +         </widget> +        </item> +        <item>           <widget class="QCheckBox" name="force_30fps_mode">            <property name="text">             <string>Force 30 FPS mode</string> | 
