diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs index 1a3887b72..e56b6adeb 100644 --- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs @@ -414,7 +414,7 @@ namespace Ryujinx.Ava.UI.Windows GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; - GraphicsConfig.EnableOGLSpirV = ConfigurationState.Instance.Graphics.ShadingLanguage; + GraphicsConfig.ShadingLanguage = ConfigurationState.Instance.Graphics.ShadingLanguage; GraphicsConfig.EnableTextureRecompression = ConfigurationState.Instance.Graphics.EnableTextureRecompression; GraphicsConfig.EnableMacroHLE = ConfigurationState.Instance.Graphics.EnableMacroHLE; #pragma warning restore IDE0055 diff --git a/src/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/src/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index aaa86e23d..e4192ec34 100644 --- a/src/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/src/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -61,9 +61,9 @@ namespace Ryujinx.Graphics.Gpu public static bool EnableShaderCache; /// - /// Enables or disables Spir-V on OpenGL. + /// Select Shading Language to use. /// - public static ShadingLanguage EnableOGLSpirV = ShadingLanguage.SPIRV; + public static ShadingLanguage ShadingLanguage = ShadingLanguage.SPIRV; /// /// Enables or disables shader SPIR-V compilation. diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index efbf68e00..8691e92c2 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -397,7 +397,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache IProgram hostProgram; - if (context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.EnableOGLSpirV == ShadingLanguage.SPIRV)) + if (context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.ShadingLanguage == ShadingLanguage.SPIRV)) { ShaderSource[] shaderSources = ShaderBinarySerializer.Unpack(shaders, hostCode); diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index e768449f3..d6181d8e5 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -505,7 +505,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache CachedShaderProgram program = new(hostProgram, compilation.SpecializationState, compilation.Shaders); // Vulkan's binary code is the SPIR-V used for compilation, so it is ready immediately. Other APIs get this after compilation. - byte[] binaryCode = (_context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.EnableOGLSpirV == ShadingLanguage.SPIRV)) ? ShaderBinarySerializer.Pack(shaderSources) : null; + byte[] binaryCode = (_context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.ShadingLanguage == ShadingLanguage.SPIRV)) ? ShaderBinarySerializer.Pack(shaderSources) : null; EnqueueForValidation(new ProgramEntry(program, binaryCode, compilation.ProgramIndex, compilation.IsCompute, isBinary: false)); } diff --git a/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index de556df13..4a96d437d 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -561,7 +561,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_diskCacheHostStorage.CacheEnabled) { - byte[] binaryCode = (_context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.EnableOGLSpirV == ShadingLanguage.SPIRV)) ? ShaderBinarySerializer.Pack(sources) : null; + byte[] binaryCode = (_context.Capabilities.Api == TargetApi.Vulkan || (GraphicsConfig.ShadingLanguage == ShadingLanguage.SPIRV)) ? ShaderBinarySerializer.Pack(sources) : null; ProgramToSave programToSave = new(program, hostProgram, binaryCode); _programsToSaveQueue.Enqueue(programToSave); @@ -832,7 +832,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Translation options private static TranslationOptions CreateTranslationOptions(TargetApi api, TranslationFlags flags) { - TargetLanguage lang = (GraphicsConfig.EnableSpirvCompilationOnVulkan && api == TargetApi.Vulkan) || ((GraphicsConfig.EnableOGLSpirV == ShadingLanguage.SPIRV) && _isSpirVCapable) + TargetLanguage lang = (GraphicsConfig.EnableSpirvCompilationOnVulkan && api == TargetApi.Vulkan) || ((GraphicsConfig.ShadingLanguage == ShadingLanguage.SPIRV) && _isSpirVCapable) ? TargetLanguage.Spirv : TargetLanguage.Glsl; diff --git a/src/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs b/src/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs index 6faba67b4..05d2cdc9c 100644 --- a/src/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs +++ b/src/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs @@ -177,11 +177,6 @@ namespace Ryujinx.Ui.Common.Configuration /// public bool EnableShaderCache { get; set; } - /// - /// Enables or disables Spir-V Shaders on OpenGL - /// - public bool EnableOGLSpirV { get; set; } - /// /// Enables or disables texture recompression /// diff --git a/src/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs b/src/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs index 924ca7315..50c0388b4 100644 --- a/src/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs +++ b/src/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs @@ -477,11 +477,6 @@ namespace Ryujinx.Ui.Common.Configuration /// public ReactiveObject EnableShaderCache { get; private set; } - /// - /// Enables or disables Spir-V Shaders on OpenGL - /// - public ReactiveObject EnableOGLSpirV { get; private set; } - /// /// Enables or disables texture recompression /// @@ -544,8 +539,6 @@ namespace Ryujinx.Ui.Common.Configuration EnableVsync.Event += static (sender, e) => LogValueChange(e, nameof(EnableVsync)); EnableShaderCache = new ReactiveObject(); EnableShaderCache.Event += static (sender, e) => LogValueChange(e, nameof(EnableShaderCache)); - EnableOGLSpirV = new ReactiveObject(); - EnableOGLSpirV.Event += static (sender, e) => LogValueChange(e, nameof(EnableOGLSpirV)); EnableTextureRecompression = new ReactiveObject(); EnableTextureRecompression.Event += static (sender, e) => LogValueChange(e, nameof(EnableTextureRecompression)); GraphicsBackend = new ReactiveObject(); @@ -695,7 +688,6 @@ namespace Ryujinx.Ui.Common.Configuration HideCursor = HideCursor, EnableVsync = Graphics.EnableVsync, EnableShaderCache = Graphics.EnableShaderCache, - EnableOGLSpirV = Graphics.EnableOGLSpirV, EnableTextureRecompression = Graphics.EnableTextureRecompression, EnableMacroHLE = Graphics.EnableMacroHLE, EnableColorSpacePassthrough = Graphics.EnableColorSpacePassthrough, @@ -805,7 +797,6 @@ namespace Ryujinx.Ui.Common.Configuration HideCursor.Value = HideCursorMode.OnIdle; Graphics.EnableVsync.Value = true; Graphics.EnableShaderCache.Value = true; - Graphics.EnableOGLSpirV.Value = false; Graphics.EnableTextureRecompression.Value = false; Graphics.EnableMacroHLE.Value = true; Graphics.EnableColorSpacePassthrough.Value = false; @@ -1491,7 +1482,6 @@ namespace Ryujinx.Ui.Common.Configuration HideCursor.Value = configurationFileFormat.HideCursor; Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync; Graphics.EnableShaderCache.Value = configurationFileFormat.EnableShaderCache; - Graphics.EnableOGLSpirV.Value = configurationFileFormat.EnableOGLSpirV; Graphics.EnableTextureRecompression.Value = configurationFileFormat.EnableTextureRecompression; Graphics.EnableMacroHLE.Value = configurationFileFormat.EnableMacroHLE; Graphics.EnableColorSpacePassthrough.Value = configurationFileFormat.EnableColorSpacePassthrough; diff --git a/src/Ryujinx/Ui/MainWindow.cs b/src/Ryujinx/Ui/MainWindow.cs index 99d2c5a3a..c41c63790 100644 --- a/src/Ryujinx/Ui/MainWindow.cs +++ b/src/Ryujinx/Ui/MainWindow.cs @@ -1108,7 +1108,7 @@ namespace Ryujinx.Ui Graphics.Gpu.GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; Graphics.Gpu.GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; - Graphics.Gpu.GraphicsConfig.EnableOGLSpirV = ConfigurationState.Instance.Graphics.ShadingLanguage; + Graphics.Gpu.GraphicsConfig.ShadingLanguage = ConfigurationState.Instance.Graphics.ShadingLanguage; Graphics.Gpu.GraphicsConfig.EnableTextureRecompression = ConfigurationState.Instance.Graphics.EnableTextureRecompression; Graphics.Gpu.GraphicsConfig.EnableMacroHLE = ConfigurationState.Instance.Graphics.EnableMacroHLE; } diff --git a/src/Ryujinx/Ui/Windows/SettingsWindow.cs b/src/Ryujinx/Ui/Windows/SettingsWindow.cs index e98a436e2..5c17851e0 100644 --- a/src/Ryujinx/Ui/Windows/SettingsWindow.cs +++ b/src/Ryujinx/Ui/Windows/SettingsWindow.cs @@ -58,7 +58,6 @@ namespace Ryujinx.Ui.Windows [GUI] RadioButton _hideCursorAlways; [GUI] CheckButton _vSyncToggle; [GUI] CheckButton _shaderCacheToggle; - [GUI] CheckButton _enableOGLSpirV; [GUI] CheckButton _textureRecompressionToggle; [GUI] CheckButton _macroHLEToggle; [GUI] CheckButton _ptcToggle; @@ -255,11 +254,6 @@ namespace Ryujinx.Ui.Windows _shaderCacheToggle.Click(); } - if (ConfigurationState.Instance.Graphics.EnableOGLSpirV) - { - _enableOGLSpirV.Click(); - } - if (ConfigurationState.Instance.Graphics.EnableTextureRecompression) { _textureRecompressionToggle.Click(); @@ -638,7 +632,6 @@ namespace Ryujinx.Ui.Windows ConfigurationState.Instance.HideCursor.Value = hideCursor; ConfigurationState.Instance.Graphics.EnableVsync.Value = _vSyncToggle.Active; ConfigurationState.Instance.Graphics.EnableShaderCache.Value = _shaderCacheToggle.Active; - ConfigurationState.Instance.Graphics.EnableOGLSpirV.Value = _enableOGLSpirV.Active; ConfigurationState.Instance.Graphics.EnableTextureRecompression.Value = _textureRecompressionToggle.Active; ConfigurationState.Instance.Graphics.EnableMacroHLE.Value = _macroHLEToggle.Active; ConfigurationState.Instance.System.EnablePtc.Value = _ptcToggle.Active;