Address feedback
This commit is contained in:
parent
afae5265fe
commit
e4ea5a2027
2 changed files with 14 additions and 13 deletions
|
@ -144,7 +144,17 @@ namespace Ryujinx.Graphics.Gal.Shader
|
||||||
EmitFsetp(Block, OpCode, ShaderOper.RR);
|
EmitFsetp(Block, OpCode, ShaderOper.RR);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Iadd_I32_1c0(ShaderIrBlock Block, long OpCode)
|
public static void Iadd_C(ShaderIrBlock Block, long OpCode)
|
||||||
|
{
|
||||||
|
EmitIadd(Block, OpCode, ShaderOper.CR);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Iadd_I(ShaderIrBlock Block, long OpCode)
|
||||||
|
{
|
||||||
|
EmitIadd(Block, OpCode, ShaderOper.Imm);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Iadd_I32(ShaderIrBlock Block, long OpCode)
|
||||||
{
|
{
|
||||||
ShaderIrNode OperA = GetOperGpr0 (OpCode);
|
ShaderIrNode OperA = GetOperGpr0 (OpCode);
|
||||||
ShaderIrNode OperB = GetOperImm32_20(OpCode);
|
ShaderIrNode OperB = GetOperImm32_20(OpCode);
|
||||||
|
@ -158,16 +168,6 @@ namespace Ryujinx.Graphics.Gal.Shader
|
||||||
Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode));
|
Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Iadd_C(ShaderIrBlock Block, long OpCode)
|
|
||||||
{
|
|
||||||
EmitIadd(Block, OpCode, ShaderOper.CR);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Iadd_I(ShaderIrBlock Block, long OpCode)
|
|
||||||
{
|
|
||||||
EmitIadd(Block, OpCode, ShaderOper.Imm);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Iadd_R(ShaderIrBlock Block, long OpCode)
|
public static void Iadd_R(ShaderIrBlock Block, long OpCode)
|
||||||
{
|
{
|
||||||
EmitIadd(Block, OpCode, ShaderOper.RR);
|
EmitIadd(Block, OpCode, ShaderOper.RR);
|
||||||
|
@ -687,7 +687,8 @@ namespace Ryujinx.Graphics.Gal.Shader
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: What would "add_with_carry" mean in this context? Just add Sum to Src3 for now
|
//Note: Here there should be a "+ 1" when carry flag is set
|
||||||
|
//but since carry is mostly ignored by other instructions, it's excluded for now
|
||||||
|
|
||||||
Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), new ShaderIrOp(ShaderIrInst.Add, Sum, Src3)), OpCode));
|
Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), new ShaderIrOp(ShaderIrInst.Add, Sum, Src3)), OpCode));
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,9 +64,9 @@ namespace Ryujinx.Graphics.Gal.Shader
|
||||||
Set("0100110011100x", ShaderDecode.I2i_C);
|
Set("0100110011100x", ShaderDecode.I2i_C);
|
||||||
Set("0011100x11100x", ShaderDecode.I2i_I);
|
Set("0011100x11100x", ShaderDecode.I2i_I);
|
||||||
Set("0101110011100x", ShaderDecode.I2i_R);
|
Set("0101110011100x", ShaderDecode.I2i_R);
|
||||||
Set("0001110xxxxxxx", ShaderDecode.Iadd_I32_1c0);
|
|
||||||
Set("0100110000010x", ShaderDecode.Iadd_C);
|
Set("0100110000010x", ShaderDecode.Iadd_C);
|
||||||
Set("0011100000010x", ShaderDecode.Iadd_I);
|
Set("0011100000010x", ShaderDecode.Iadd_I);
|
||||||
|
Set("0001110x0xxxxx", ShaderDecode.Iadd_I32);
|
||||||
Set("0101110000010x", ShaderDecode.Iadd_R);
|
Set("0101110000010x", ShaderDecode.Iadd_R);
|
||||||
Set("010011001100xx", ShaderDecode.Iadd3_C);
|
Set("010011001100xx", ShaderDecode.Iadd3_C);
|
||||||
Set("001110001100xx", ShaderDecode.Iadd3_I);
|
Set("001110001100xx", ShaderDecode.Iadd3_I);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue