From bbed3b99265ad03f8649ff2cc1300a135c0ba3f1 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 4 Feb 2024 16:58:17 -0300 Subject: Fix depth compare value for TLD4S shader instruction with offset (#6253) * Fix depth compare value for TLD4S shader instruction with offset * Shader cache version bump --- .../Instructions/InstEmitTexture.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/Ryujinx.Graphics.Shader/Instructions') diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs index e9349542..06daa26a 100644 --- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs +++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs @@ -578,12 +578,7 @@ namespace Ryujinx.Graphics.Shader.Instructions type = SamplerType.Texture2D; flags = TextureFlags.Gather; - if (tld4sOp.Dc) - { - sourcesList.Add(Rb()); - - type |= SamplerType.Shadow; - } + int depthCompareIndex = sourcesList.Count; if (tld4sOp.Aoffi) { @@ -592,7 +587,13 @@ namespace Ryujinx.Graphics.Shader.Instructions flags |= TextureFlags.Offset; } - if (!tld4sOp.Dc) + if (tld4sOp.Dc) + { + sourcesList.Insert(depthCompareIndex, Rb()); + + type |= SamplerType.Shadow; + } + else { sourcesList.Add(Const((int)tld4sOp.TexComp)); } -- cgit v1.2.3