diff options
author | FearlessTobi <thm.frey@gmail.com> | 2022-10-26 15:03:55 +0200 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2022-11-10 21:36:22 +0100 |
commit | 26a1d4fc371da91c11cb0a33a2a07cfdc822165b (patch) | |
tree | 8ad91f130463d87edae2494967212d42ac704e96 /src/yuzu/main.cpp | |
parent | 3c38bd7cf0dbe73f72c008cb6fc0df38b50dc986 (diff) |
yuzu/compatdb: Rework compatibility submission system
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 7b16d7f7e2..ee7de910fc 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -2803,6 +2803,20 @@ void GMainWindow::ErrorDisplayDisplayError(QString error_code, QString error_tex } void GMainWindow::OnMenuReportCompatibility() { + const auto& caps = Common::GetCPUCaps(); + const bool has_fma = caps.fma || caps.fma4; + const auto processor_count = std::thread::hardware_concurrency(); + const bool has_4threads = processor_count == 0 || processor_count >= 4; + const bool has_8gb_ram = Common::GetMemInfo().TotalPhysicalMemory >= 8000000000; + const bool has_broken_vulkan = UISettings::values.has_broken_vulkan; + + if (!has_fma || !has_4threads || !has_8gb_ram || has_broken_vulkan) { + QMessageBox::critical(this, tr("Hardware requirements not met"), + tr("Your system does not meet the recommended hardware requirements. " + "Compatibility reporting has been disabled.")); + return; + } + if (!Settings::values.yuzu_token.GetValue().empty() && !Settings::values.yuzu_username.GetValue().empty()) { CompatDB compatdb{system->TelemetrySession(), this}; |