diff options
author | Kode <TheKodeToad@proton.me> | 2023-05-13 19:07:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-13 19:07:03 +0100 |
commit | f60562c5a247934e39ab33a6d1c5ce64b3127f6a (patch) | |
tree | 3e0ff5817464de7c050c580397503daa9f0ee7bd /launcher/MangoHud.cpp | |
parent | 18cfe219fef2aabc1d3260764c02cd3476615176 (diff) | |
parent | d5c6a1b4d1e6d052e42366d19ffa0047168e030d (diff) | |
download | PrismLauncher-f60562c5a247934e39ab33a6d1c5ce64b3127f6a.tar.gz PrismLauncher-f60562c5a247934e39ab33a6d1c5ce64b3127f6a.tar.bz2 PrismLauncher-f60562c5a247934e39ab33a6d1c5ce64b3127f6a.zip |
Merge branch 'develop' into mrpack-export
Signed-off-by: Kode <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/MangoHud.cpp')
-rw-r--r-- | launcher/MangoHud.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/launcher/MangoHud.cpp b/launcher/MangoHud.cpp index d635518e..90e48e29 100644 --- a/launcher/MangoHud.cpp +++ b/launcher/MangoHud.cpp @@ -19,6 +19,7 @@ #include <QStringList> #include <QDir> #include <QString> +#include <QSysInfo> #include <QtGlobal> #include "MangoHud.h" @@ -75,9 +76,27 @@ QString getLibraryString() } for (QString vkLayer : vkLayerList) { - QString filePath = FS::PathCombine(vkLayer, "MangoHud.json"); - if (!QFile::exists(filePath)) + // prefer to use architecture specific vulkan layers + QString currentArch = QSysInfo::currentCpuArchitecture(); + + if (currentArch == "arm64") { + currentArch = "aarch64"; + } + + QStringList manifestNames = { QString("MangoHud.%1.json").arg(currentArch), "MangoHud.json" }; + + QString filePath = ""; + for (QString manifestName : manifestNames) { + QString tryPath = FS::PathCombine(vkLayer, manifestName); + if (QFile::exists(tryPath)) { + filePath = tryPath; + break; + } + } + + if (filePath.isEmpty()) { continue; + } auto conf = Json::requireDocument(filePath, vkLayer); auto confObject = Json::requireObject(conf, vkLayer); |