aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs15
1 files changed, 8 insertions, 7 deletions
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));
}