From 628a28290f2d1b8c0060063418107cc3c94859fd Mon Sep 17 00:00:00 2001 From: Vladimir Sokolov Date: Thu, 30 Jan 2025 04:49:36 +1000 Subject: [PATCH] Added --backend-threading arg for CommandLineState Added the `--backend-threading` arg so that you can launch games via a shortcut with modifications to this setting. --- src/Ryujinx.UI.Common/Helper/CommandLineState.cs | 11 +++++++++++ src/Ryujinx/Program.cs | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/Ryujinx.UI.Common/Helper/CommandLineState.cs b/src/Ryujinx.UI.Common/Helper/CommandLineState.cs index 6d39b0235..c33323c68 100644 --- a/src/Ryujinx.UI.Common/Helper/CommandLineState.cs +++ b/src/Ryujinx.UI.Common/Helper/CommandLineState.cs @@ -11,6 +11,7 @@ namespace Ryujinx.UI.Common.Helper public static bool? OverrideDockedMode { get; private set; } public static bool? OverrideHardwareAcceleration { get; private set; } public static string OverrideGraphicsBackend { get; private set; } + public static string OverrideBackendThreading { get; private set; } public static string OverrideHideCursor { get; private set; } public static string BaseDirPathArg { get; private set; } public static string Profile { get; private set; } @@ -76,6 +77,16 @@ namespace Ryujinx.UI.Common.Helper OverrideGraphicsBackend = args[++i]; break; + case "--backend-threading": + if (i + 1 >= args.Length) + { + Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'"); + + continue; + } + + OverrideBackendThreading = args[++i]; + break; case "-i": case "--application-id": LaunchApplicationId = args[++i]; diff --git a/src/Ryujinx/Program.cs b/src/Ryujinx/Program.cs index 7e1e40957..e35a37119 100644 --- a/src/Ryujinx/Program.cs +++ b/src/Ryujinx/Program.cs @@ -196,6 +196,16 @@ namespace Ryujinx.Ava } } + // Check if backend threading was overridden + if (CommandLineState.OverrideBackendThreading is not null) + ConfigurationState.Instance.Graphics.BackendThreading.Value = CommandLineState.OverrideBackendThreading.ToLower() switch + { + "auto" => BackendThreading.Auto, + "off" => BackendThreading.Off, + "on" => BackendThreading.On, + _ => ConfigurationState.Instance.Graphics.BackendThreading + }; + // Check if docked mode was overriden. if (CommandLineState.OverrideDockedMode.HasValue) {