diff options
author | seth <getchoo@tuta.io> | 2023-03-31 11:13:18 -0400 |
---|---|---|
committer | seth <getchoo@tuta.io> | 2023-03-31 15:49:09 -0400 |
commit | c7dc115365006a8bff8ca93a01a6df4134eb92e9 (patch) | |
tree | 0b510bd746acf944ace28a9726a37f46fa6db753 /launcher | |
parent | 09d607f39c47a467de5dde260e90771ad0ac51df (diff) | |
download | PrismLauncher-c7dc115365006a8bff8ca93a01a6df4134eb92e9.tar.gz PrismLauncher-c7dc115365006a8bff8ca93a01a6df4134eb92e9.tar.bz2 PrismLauncher-c7dc115365006a8bff8ca93a01a6df4134eb92e9.zip |
fix: search for newer mangohud vulkan layers
Signed-off-by: seth <getchoo@tuta.io>
Diffstat (limited to 'launcher')
-rw-r--r-- | launcher/MangoHud.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/launcher/MangoHud.cpp b/launcher/MangoHud.cpp index d635518e..076d3064 100644 --- a/launcher/MangoHud.cpp +++ b/launcher/MangoHud.cpp @@ -75,9 +75,23 @@ QString getLibraryString() } for (QString vkLayer : vkLayerList) { - QString filePath = FS::PathCombine(vkLayer, "MangoHud.json"); - if (!QFile::exists(filePath)) - continue; + QStringList vkArchitectures = { "x86_64", "aarch64" }; + + QString filePath = ""; + // prefer to use architecture specific vulkan layers + for (QString arch: vkArchitectures) { + QString tryPath = FS::PathCombine(vkLayer, QString("MangoHud.%1.json").arg(arch)); + if (QFile::exists(tryPath)) { + filePath = tryPath; + } + } + + if (filePath.isEmpty()) { + filePath = FS::PathCombine(vkLayer, "MangoHud.json"); + // bail out if no mangohud layers are found + if (!QFile::exists(filePath)) + continue; + } auto conf = Json::requireDocument(filePath, vkLayer); auto confObject = Json::requireObject(conf, vkLayer); |