diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index 1e09f0bf98..2661a828ba 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -345,12 +345,9 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache { currentPipelineState.PatchControlPoints = 0; } - - currentPipelineState = program.SpecializationState.PipelineState.Value; } - - if (currentPipelineState.Equals(previousPipelineState) || !_context.Capabilities.SupportsExtendedDynamicState) + if (!currentPipelineState.Equals(previousPipelineState) || !_context.Capabilities.SupportsExtendedDynamicState || !program.SpecializationState.PipelineState.HasValue) { _hostStorage.AddShader(_context, program, binaryCode, streams);