diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_cpu.cpp | 12 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_cpu.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_cpu.ui | 30 | ||||
| -rw-r--r-- | src/yuzu/configuration/shared_translation.cpp | 6 | 
5 files changed, 50 insertions, 1 deletions
| diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index f3ad2214b..90278052a 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -386,7 +386,7 @@ if (NOT WIN32)      target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS})  endif()  if (UNIX AND NOT APPLE) -    target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::DBus gamemode) +    target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::DBus)  endif()  target_compile_definitions(yuzu PRIVATE diff --git a/src/yuzu/configuration/configure_cpu.cpp b/src/yuzu/configuration/configure_cpu.cpp index a51359903..7e16cf17d 100644 --- a/src/yuzu/configuration/configure_cpu.cpp +++ b/src/yuzu/configuration/configure_cpu.cpp @@ -27,6 +27,13 @@ ConfigureCpu::ConfigureCpu(const Core::System& system_,      connect(accuracy_combobox, qOverload<int>(&QComboBox::currentIndexChanged), this,              &ConfigureCpu::UpdateGroup); + +    connect(backend_combobox, qOverload<int>(&QComboBox::currentIndexChanged), this, +            &ConfigureCpu::UpdateGroup); + +#ifdef HAS_NCE +    ui->backend_group->setVisible(true); +#endif  }  ConfigureCpu::~ConfigureCpu() = default; @@ -34,6 +41,7 @@ ConfigureCpu::~ConfigureCpu() = default;  void ConfigureCpu::SetConfiguration() {}  void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {      auto* accuracy_layout = ui->widget_accuracy->layout(); +    auto* backend_layout = ui->widget_backend->layout();      auto* unsafe_layout = ui->unsafe_widget->layout();      std::map<u32, QWidget*> unsafe_hold{}; @@ -62,6 +70,9 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {              // Keep track of cpu_accuracy combobox to display/hide the unsafe settings              accuracy_layout->addWidget(widget);              accuracy_combobox = widget->combobox; +        } else if (setting->Id() == Settings::values.cpu_backend.Id()) { +            backend_layout->addWidget(widget); +            backend_combobox = widget->combobox;          } else {              // Presently, all other settings here are unsafe checkboxes              unsafe_hold.insert({setting->Id(), widget}); @@ -73,6 +84,7 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {      }      UpdateGroup(accuracy_combobox->currentIndex()); +    UpdateGroup(backend_combobox->currentIndex());  }  void ConfigureCpu::UpdateGroup(int index) { diff --git a/src/yuzu/configuration/configure_cpu.h b/src/yuzu/configuration/configure_cpu.h index 61a6de7aa..a102b4c1f 100644 --- a/src/yuzu/configuration/configure_cpu.h +++ b/src/yuzu/configuration/configure_cpu.h @@ -49,4 +49,5 @@ private:      std::vector<std::function<void(bool)>> apply_funcs{};      QComboBox* accuracy_combobox; +    QComboBox* backend_combobox;  }; diff --git a/src/yuzu/configuration/configure_cpu.ui b/src/yuzu/configuration/configure_cpu.ui index f734e842e..13fd43605 100644 --- a/src/yuzu/configuration/configure_cpu.ui +++ b/src/yuzu/configuration/configure_cpu.ui @@ -60,6 +60,36 @@        </widget>       </item>       <item> +      <widget class="QGroupBox" name="backend_group"> +       <property name="title"> +        <string>CPU Backend</string> +       </property> +       <layout class="QVBoxLayout"> +        <item> +         <widget class="QWidget" name="widget_backend" native="true"> +          <layout class="QVBoxLayout" name="verticalLayout1"> +           <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> +          </layout> +         </widget> +        </item> +       </layout> +       <property name="visible"> +        <bool>false</bool> +       </property> +      </widget> +     </item> +     <item>        <widget class="QGroupBox" name="unsafe_group">         <property name="title">          <string>Unsafe CPU Optimization Settings</string> diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index ee0ca4aa7..7e908924c 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -44,6 +44,7 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {      // Cpu      INSERT(Settings, cpu_accuracy, tr("Accuracy:"), QStringLiteral()); +    INSERT(Settings, cpu_backend, tr("Backend:"), QStringLiteral());      // Cpu Debug @@ -243,6 +244,11 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {               PAIR(CpuAccuracy, Unsafe, tr("Unsafe")),               PAIR(CpuAccuracy, Paranoid, tr("Paranoid (disables most optimizations)")),           }}); +    translations->insert({Settings::EnumMetadata<Settings::CpuBackend>::Index(), +                          { +                              PAIR(CpuBackend, Dynarmic, tr("Dynarmic")), +                              PAIR(CpuBackend, Nce, tr("NCE")), +                          }});      translations->insert({Settings::EnumMetadata<Settings::FullscreenMode>::Index(),                            {                                PAIR(FullscreenMode, Borderless, tr("Borderless Windowed")), | 
