From 3d5682375e609b21642691e13a66fd9b5e5545cd Mon Sep 17 00:00:00 2001 From: KeatonTheBot Date: Fri, 10 Apr 2026 02:11:36 -0500 Subject: [PATCH] Add Color Space Passthrough to Headless config and MainWindow --- src/Ryujinx/Headless/HeadlessRyujinx.cs | 1 + src/Ryujinx/Headless/Options.cs | 6 ++++++ src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 1 + 3 files changed, 8 insertions(+) diff --git a/src/Ryujinx/Headless/HeadlessRyujinx.cs b/src/Ryujinx/Headless/HeadlessRyujinx.cs index 7a3eb9873..823548328 100644 --- a/src/Ryujinx/Headless/HeadlessRyujinx.cs +++ b/src/Ryujinx/Headless/HeadlessRyujinx.cs @@ -283,6 +283,7 @@ namespace Ryujinx.Headless GraphicsConfig.MaxAnisotropy = option.MaxAnisotropy; GraphicsConfig.ShadersDumpPath = option.GraphicsShadersDumpPath; GraphicsConfig.EnableMacroHLE = !option.DisableMacroHLE; + GraphicsConfig.EnableColorSpacePassthrough = option.EnableColorSpacePassthrough; DriverUtilities.InitDriverConfig(option.BackendThreading == BackendThreading.Off); diff --git a/src/Ryujinx/Headless/Options.cs b/src/Ryujinx/Headless/Options.cs index fc378f7aa..28eec3f07 100644 --- a/src/Ryujinx/Headless/Options.cs +++ b/src/Ryujinx/Headless/Options.cs @@ -123,6 +123,9 @@ namespace Ryujinx.Headless if (NeedsOverride(nameof(DisableMacroHLE))) DisableMacroHLE = !configurationState.Graphics.EnableMacroHLE; + if (NeedsOverride(nameof(EnableColorSpacePassthrough))) + EnableColorSpacePassthrough = configurationState.Graphics.EnableColorSpacePassthrough; + if (NeedsOverride(nameof(GraphicsShadersDumpPath))) GraphicsShadersDumpPath = configurationState.Graphics.ShadersDumpPath; @@ -358,6 +361,9 @@ namespace Ryujinx.Headless [Option("disable-macro-hle", Required = false, HelpText = "Disables high-level emulation of Macro code. Leaving this enabled improves performance but may cause graphical glitches in some games.")] public bool DisableMacroHLE { get; set; } + [Option("enable-color-space-passthrough", Required = false, HelpText = "Directs the Vulkan backend to pass through color information without specifying a color space.")] + public bool EnableColorSpacePassthrough { get; set; } + [Option("graphics-shaders-dump-path", Required = false, HelpText = "Dumps shaders in this local directory. (Developer only)")] public string GraphicsShadersDumpPath { get; set; } diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 508614a80..6acdcfafd 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -575,6 +575,7 @@ namespace Ryujinx.Ava.UI.Windows GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; GraphicsConfig.EnableTextureRecompression = ConfigurationState.Instance.Graphics.EnableTextureRecompression; GraphicsConfig.EnableMacroHLE = ConfigurationState.Instance.Graphics.EnableMacroHLE; + GraphicsConfig.EnableColorSpacePassthrough= ConfigurationState.Instance.Graphics.EnableColorSpacePassthrough; GraphicsConfig.TextureDumpPath = ConfigurationState.Instance.Graphics.TexturesDumpPath; GraphicsConfig.TextureDumpFormatPng = ConfigurationState.Instance.Graphics.TexturesDumpFileFormat == TextureFileFormat.Png; GraphicsConfig.EnableTextureDump = ConfigurationState.Instance.Graphics.EnableTextureDump;