2018-09-18 00:30:35 -04:00
|
|
|
|
namespace Ryujinx.Graphics.Gal.Shader
|
2018-07-19 01:33:27 -04:00
|
|
|
|
{
|
|
|
|
|
static partial class ShaderDecode
|
|
|
|
|
{
|
2018-09-18 00:30:35 -04:00
|
|
|
|
public static void Out_R(ShaderIrBlock Block, long OpCode, int Position)
|
2018-07-19 01:33:27 -04:00
|
|
|
|
{
|
|
|
|
|
//TODO: Those registers have to be used for something
|
2018-09-08 13:51:50 -04:00
|
|
|
|
ShaderIrOperGpr Gpr0 = OpCode.Gpr0();
|
|
|
|
|
ShaderIrOperGpr Gpr8 = OpCode.Gpr8();
|
|
|
|
|
ShaderIrOperGpr Gpr20 = OpCode.Gpr20();
|
2018-07-19 01:33:27 -04:00
|
|
|
|
|
2018-09-08 13:51:50 -04:00
|
|
|
|
int Type = OpCode.Read(39, 3);
|
2018-07-19 01:33:27 -04:00
|
|
|
|
|
|
|
|
|
if ((Type & 1) != 0)
|
|
|
|
|
{
|
2018-09-08 13:51:50 -04:00
|
|
|
|
Block.AddNode(OpCode.PredNode(new ShaderIrOp(ShaderIrInst.Emit)));
|
2018-07-19 01:33:27 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((Type & 2) != 0)
|
|
|
|
|
{
|
2018-09-08 13:51:50 -04:00
|
|
|
|
Block.AddNode(OpCode.PredNode(new ShaderIrOp(ShaderIrInst.Cut)));
|
2018-07-19 01:33:27 -04:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|