aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs
blob: 9098ca5e55c25b6204c9fc7fd4bb379d4c730254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace Ryujinx.Graphics.Gal.Shader
{
    static partial class ShaderDecode
    {
        public static void Out_R(ShaderIrBlock block, long opCode, int position)
        {
            //TODO: Those registers have to be used for something
            ShaderIrOperGpr gpr0  = opCode.Gpr0();
            ShaderIrOperGpr gpr8  = opCode.Gpr8();
            ShaderIrOperGpr gpr20 = opCode.Gpr20();

            int type = opCode.Read(39, 3);

            if ((type & 1) != 0)
            {
                block.AddNode(opCode.PredNode(new ShaderIrOp(ShaderIrInst.Emit)));
            }

            if ((type & 2) != 0)
            {
                block.AddNode(opCode.PredNode(new ShaderIrOp(ShaderIrInst.Cut)));
            }
        }
    }
}