From e02ef52069f0f370941823966483240de56cbda5 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 (#599) Added the `--backend-threading` arg so that you can launch games via a shortcut with modifications to this setting. --- 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 1f0df9b2fd..c72aa689a1 100644 --- a/src/Ryujinx/Program.cs +++ b/src/Ryujinx/Program.cs @@ -206,6 +206,16 @@ public static void ReloadConfig() _ => 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 96b5d1b864..3eafb8d010 100644 --- a/src/Ryujinx/Utilities/CommandLineState.cs +++ b/src/Ryujinx/Utilities/CommandLineState.cs @@ -10,6 +10,7 @@ public static class CommandLineState 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 @@ public static void ParseArguments(string[] args) 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];