Ignore ZR target texture color registers on shader

This commit is contained in:
gdkchan 2018-04-30 14:32:54 -03:00
parent 7cda630aba
commit 5f0dd965bf

View file

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