2018-08-17 01:47:36 +02:00
|
|
|
|
using static Ryujinx.Graphics.Gal.Shader.ShaderDecodeHelper;
|
2018-07-19 07:33:27 +02:00
|
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Gal.Shader
|
|
|
|
|
{
|
|
|
|
|
static partial class ShaderDecode
|
|
|
|
|
{
|
2018-08-31 18:14:04 +02:00
|
|
|
|
public static void Out_R(ShaderIrBlock Block, long OpCode, long Position)
|
2018-07-19 07:33:27 +02:00
|
|
|
|
{
|
|
|
|
|
//TODO: Those registers have to be used for something
|
|
|
|
|
ShaderIrOperGpr Gpr0 = GetOperGpr0(OpCode);
|
|
|
|
|
ShaderIrOperGpr Gpr8 = GetOperGpr8(OpCode);
|
|
|
|
|
ShaderIrOperGpr Gpr20 = GetOperGpr20(OpCode);
|
|
|
|
|
|
|
|
|
|
int Type = (int)((OpCode >> 39) & 3);
|
|
|
|
|
|
|
|
|
|
if ((Type & 1) != 0)
|
|
|
|
|
{
|
|
|
|
|
Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Emit), OpCode));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((Type & 2) != 0)
|
|
|
|
|
{
|
|
|
|
|
Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Cut), OpCode));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|