summaryrefslogtreecommitdiff
path: root/src/yuzu/main.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-11-11 16:15:36 -0500
committerGitHub <noreply@github.com>2022-11-11 16:15:36 -0500
commitc4bc7ce7e2ec1d0d9441abc1f973a59040df9cfe (patch)
tree0457c22e886ffe37b0bfecd98e6e12d2a30722f4 /src/yuzu/main.cpp
parentc973029374a731e13f2de240820c818fa2899c2b (diff)
parent211da31b34c754c69299f2553be4a42e4867f29c (diff)
Merge pull request #9133 from FearlessTobi/compat-improvements
yuzu/compatdb: Improve compatibility submission system
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r--src/yuzu/main.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 01a002e4f..d95915016 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -2817,6 +2817,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 >= 8_GiB;
+ 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};