forked from Mirror/Ryujinx
Ignore ZR target texture color registers on shader
This commit is contained in:
parent
7cda630aba
commit
5f0dd965bf
1 changed files with 8 additions and 3 deletions
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue