From d76da6e4dfa2c9f52ace2c985b8ec1de8a173c98 Mon Sep 17 00:00:00 2001 From: Vova Date: Wed, 29 Jan 2025 21:44:48 +1000 Subject: [PATCH] Added --backend-threading parameter for launching games via shortcut --- src/Ryujinx/Program.cs | 10 ++++++++++ src/Ryujinx/Utilities/CommandLineState.cs | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/Ryujinx/Program.cs b/src/Ryujinx/Program.cs index 1f0df9b2f..c72aa689a 100644 --- a/src/Ryujinx/Program.cs +++ b/src/Ryujinx/Program.cs @@ -206,6 +206,16 @@ namespace Ryujinx.Ava _ => ConfigurationState.Instance.Graphics.GraphicsBackend }; + // 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) ConfigurationState.Instance.System.EnableDockedMode.Value = CommandLineState.OverrideDockedMode.Value; diff --git a/src/Ryujinx/Utilities/CommandLineState.cs b/src/Ryujinx/Utilities/CommandLineState.cs index 96b5d1b86..3eafb8d01 100644 --- a/src/Ryujinx/Utilities/CommandLineState.cs +++ b/src/Ryujinx/Utilities/CommandLineState.cs @@ -10,6 +10,7 @@ namespace Ryujinx.Ava.Utilities 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; } @@ -74,6 +75,16 @@ namespace Ryujinx.Ava.Utilities 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]; -- 2.47.1