2018-08-16 19:47:36 -04:00
|
|
|
|
using static Ryujinx.Graphics.Gal.Shader.ShaderDecodeHelper;
|
2018-07-19 01:33:27 -04:00
|
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Gal.Shader
|
|
|
|
|
{
|
|
|
|
|
static partial class ShaderDecode
|
|
|
|
|
{
|
2018-08-31 12:14:04 -04:00
|
|
|
|
public static void Out_R(ShaderIrBlock Block, long OpCode, long 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
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|