Просмотр исходного кода

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.
Vladimir Sokolov 1 год назад
Родитель
Сommit
e02ef52069
2 измененных файлов с 21 добавлено и 0 удалено
  1. 10 0
      src/Ryujinx/Program.cs
  2. 11 0
      src/Ryujinx/Utilities/CommandLineState.cs

+ 10 - 0
src/Ryujinx/Program.cs

@@ -206,6 +206,16 @@ namespace Ryujinx.Ava
                     _ => ConfigurationState.Instance.Graphics.GraphicsBackend
                     _ => 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.
             // Check if docked mode was overriden.
             if (CommandLineState.OverrideDockedMode.HasValue)
             if (CommandLineState.OverrideDockedMode.HasValue)
                 ConfigurationState.Instance.System.EnableDockedMode.Value = CommandLineState.OverrideDockedMode.Value;
                 ConfigurationState.Instance.System.EnableDockedMode.Value = CommandLineState.OverrideDockedMode.Value;

+ 11 - 0
src/Ryujinx/Utilities/CommandLineState.cs

@@ -10,6 +10,7 @@ namespace Ryujinx.Ava.Utilities
         public static bool? OverrideDockedMode { get; private set; }
         public static bool? OverrideDockedMode { get; private set; }
         public static bool? OverrideHardwareAcceleration { get; private set; }
         public static bool? OverrideHardwareAcceleration { get; private set; }
         public static string OverrideGraphicsBackend { 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 OverrideHideCursor { get; private set; }
         public static string BaseDirPathArg { get; private set; }
         public static string BaseDirPathArg { get; private set; }
         public static string Profile { get; private set; }
         public static string Profile { get; private set; }
@@ -74,6 +75,16 @@ namespace Ryujinx.Ava.Utilities
 
 
                         OverrideGraphicsBackend = args[++i];
                         OverrideGraphicsBackend = args[++i];
                         break;
                         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 "-i":
                     case "--application-id":
                     case "--application-id":
                         LaunchApplicationId = args[++i];
                         LaunchApplicationId = args[++i];