From 5f0dd965bf18ec00856498c9b933a6b7c906994a Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Mon, 30 Apr 2018 14:32:54 -0300
Subject: [PATCH] Ignore ZR target texture color registers on shader

---
 Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs
index 33f5823160..24a61c0c26 100644
--- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs
+++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs
@@ -68,9 +68,9 @@ namespace Ryujinx.Graphics.Gal.Shader
         private static void EmitTex(ShaderIrBlock Block, long OpCode, ShaderIrInst Inst)
         {
             //TODO: Support other formats.
-            ShaderIrNode OperA  = GetOperGpr8    (OpCode);
-            ShaderIrNode OperB  = GetOperGpr20   (OpCode);
-            ShaderIrNode OperC  = GetOperImm13_36(OpCode);
+            ShaderIrNode OperA = GetOperGpr8    (OpCode);
+            ShaderIrNode OperB = GetOperGpr20   (OpCode);
+            ShaderIrNode OperC = GetOperImm13_36(OpCode);
 
             for (int Ch = 0; Ch < 4; Ch++)
             {
@@ -95,6 +95,11 @@ namespace Ryujinx.Graphics.Gal.Shader
 
                 Dst.Index += Ch & 1;
 
+                if (Dst.Index >= ShaderIrOperGpr.ZRIndex)
+                {
+                    continue;
+                }
+
                 Block.AddNode(GetPredNode(new ShaderIrAsg(Dst, Src), OpCode));
             }
         }