aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorseth <getchoo@tuta.io>2023-03-31 11:13:18 -0400
committerseth <getchoo@tuta.io>2023-03-31 15:49:09 -0400
commitc7dc115365006a8bff8ca93a01a6df4134eb92e9 (patch)
tree0b510bd746acf944ace28a9726a37f46fa6db753 /launcher
parent09d607f39c47a467de5dde260e90771ad0ac51df (diff)
downloadPrismLauncher-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.cpp20
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);