diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_cpu.cpp | 3 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_cpu.ui | 12 | 
3 files changed, 19 insertions, 0 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 34c2a5f8b..43cd11ba0 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -764,6 +764,8 @@ void Config::ReadCpuValues() {              ReadSetting(QStringLiteral("cpuopt_unsafe_unfuse_fma"), true).toBool();          Settings::values.cpuopt_unsafe_reduce_fp_error =              ReadSetting(QStringLiteral("cpuopt_unsafe_reduce_fp_error"), true).toBool(); +        Settings::values.cpuopt_unsafe_inaccurate_nan = +            ReadSetting(QStringLiteral("cpuopt_unsafe_inaccurate_nan"), true).toBool();      }      qt_config->endGroup(); @@ -1327,6 +1329,8 @@ void Config::SaveCpuValues() {                       Settings::values.cpuopt_unsafe_unfuse_fma, true);          WriteSetting(QStringLiteral("cpuopt_unsafe_reduce_fp_error"),                       Settings::values.cpuopt_unsafe_reduce_fp_error, true); +        WriteSetting(QStringLiteral("cpuopt_unsafe_inaccurate_nan"), +                     Settings::values.cpuopt_unsafe_inaccurate_nan, true);      }      qt_config->endGroup(); diff --git a/src/yuzu/configuration/configure_cpu.cpp b/src/yuzu/configuration/configure_cpu.cpp index 37fcd6adc..d055cbd60 100644 --- a/src/yuzu/configuration/configure_cpu.cpp +++ b/src/yuzu/configuration/configure_cpu.cpp @@ -36,6 +36,8 @@ void ConfigureCpu::SetConfiguration() {      ui->cpuopt_unsafe_unfuse_fma->setChecked(Settings::values.cpuopt_unsafe_unfuse_fma);      ui->cpuopt_unsafe_reduce_fp_error->setEnabled(runtime_lock);      ui->cpuopt_unsafe_reduce_fp_error->setChecked(Settings::values.cpuopt_unsafe_reduce_fp_error); +    ui->cpuopt_unsafe_inaccurate_nan->setEnabled(runtime_lock); +    ui->cpuopt_unsafe_inaccurate_nan->setChecked(Settings::values.cpuopt_unsafe_inaccurate_nan);  }  void ConfigureCpu::AccuracyUpdated(int index) { @@ -61,6 +63,7 @@ void ConfigureCpu::ApplyConfiguration() {          static_cast<Settings::CPUAccuracy>(ui->accuracy->currentIndex());      Settings::values.cpuopt_unsafe_unfuse_fma = ui->cpuopt_unsafe_unfuse_fma->isChecked();      Settings::values.cpuopt_unsafe_reduce_fp_error = ui->cpuopt_unsafe_reduce_fp_error->isChecked(); +    Settings::values.cpuopt_unsafe_inaccurate_nan = ui->cpuopt_unsafe_inaccurate_nan->isChecked();  }  void ConfigureCpu::changeEvent(QEvent* event) { diff --git a/src/yuzu/configuration/configure_cpu.ui b/src/yuzu/configuration/configure_cpu.ui index ebdd2e6e9..bcd0962e9 100644 --- a/src/yuzu/configuration/configure_cpu.ui +++ b/src/yuzu/configuration/configure_cpu.ui @@ -109,6 +109,18 @@            </property>           </widget>          </item> +        <item> +         <widget class="QCheckBox" name="cpuopt_unsafe_inaccurate_nan"> +          <property name="text"> +           <string>Inaccurate NaN handling</string> +          </property> +          <property name="toolTip"> +           <string> +            <div>This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.</div> +           </string> +          </property> +         </widget> +        </item>         </layout>        </widget>       </item> | 
