aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_cpu.cpp
diff options
context:
space:
mode:
authorMerryMage <MerryMage@users.noreply.github.com>2020-07-11 16:25:49 +0100
committerMerryMage <MerryMage@users.noreply.github.com>2020-07-11 16:38:38 +0100
commit505aa3a4c1eb2384ab5a46aecf6431db239b74e3 (patch)
tree8576d3b825f7cd85122b857f5b10c6f9eae1b87e /src/yuzu/configuration/configure_cpu.cpp
parent0193202964449ba7a6ae46d614a63bf5caa589a7 (diff)
configure_cpu: Show/Hide debugging options
Diffstat (limited to 'src/yuzu/configuration/configure_cpu.cpp')
-rw-r--r--src/yuzu/configuration/configure_cpu.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_cpu.cpp b/src/yuzu/configuration/configure_cpu.cpp
index 28e010b6b3..4fc392a7eb 100644
--- a/src/yuzu/configuration/configure_cpu.cpp
+++ b/src/yuzu/configuration/configure_cpu.cpp
@@ -15,6 +15,9 @@ ConfigureCpu::ConfigureCpu(QWidget* parent) : QWidget(parent), ui(new Ui::Config
ui->setupUi(this);
SetConfiguration();
+
+ connect(ui->accuracy, qOverload<int>(&QComboBox::currentIndexChanged), this,
+ &ConfigureCpu::UpdateGroups);
}
ConfigureCpu::~ConfigureCpu() = default;
@@ -22,6 +25,10 @@ ConfigureCpu::~ConfigureCpu() = default;
void ConfigureCpu::SetConfiguration() {
const bool runtime_lock = !Core::System::GetInstance().IsPoweredOn();
+ ui->accuracy->setEnabled(runtime_lock);
+ ui->accuracy->setCurrentIndex(static_cast<int>(Settings::values.cpu_accuracy));
+ UpdateGroups(static_cast<int>(Settings::values.cpu_accuracy));
+
ui->cpuopt_page_tables->setEnabled(runtime_lock);
ui->cpuopt_page_tables->setChecked(Settings::values.cpuopt_page_tables);
ui->cpuopt_block_linking->setEnabled(runtime_lock);
@@ -40,7 +47,22 @@ void ConfigureCpu::SetConfiguration() {
ui->cpuopt_reduce_misalign_checks->setChecked(Settings::values.cpuopt_reduce_misalign_checks);
}
+void ConfigureCpu::UpdateGroups(int index) {
+ switch (index) {
+ case 0:
+ default:
+ ui->group_safe->setVisible(false);
+ break;
+ case 1:
+ ui->group_safe->setVisible(true);
+ break;
+ }
+}
+
void ConfigureCpu::ApplyConfiguration() {
+ Settings::values.cpu_accuracy =
+ static_cast<Settings::CPUAccuracy>(ui->accuracy->currentIndex());
+
Settings::values.cpuopt_page_tables = ui->cpuopt_page_tables->isChecked();
Settings::values.cpuopt_block_linking = ui->cpuopt_block_linking->isChecked();
Settings::values.cpuopt_return_stack_buffer = ui->cpuopt_return_stack_buffer->isChecked();