ShaderDecodeSpecial.cs 829 B

123456789101112131415161718192021222324252627
  1. using static Ryujinx.Graphics.Gal.Shader.ShaderDecodeHelper;
  2. namespace Ryujinx.Graphics.Gal.Shader
  3. {
  4. static partial class ShaderDecode
  5. {
  6. public static void Out_R(ShaderIrBlock Block, long OpCode)
  7. {
  8. //TODO: Those registers have to be used for something
  9. ShaderIrOperGpr Gpr0 = GetOperGpr0(OpCode);
  10. ShaderIrOperGpr Gpr8 = GetOperGpr8(OpCode);
  11. ShaderIrOperGpr Gpr20 = GetOperGpr20(OpCode);
  12. int Type = (int)((OpCode >> 39) & 3);
  13. if ((Type & 1) != 0)
  14. {
  15. Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Emit), OpCode));
  16. }
  17. if ((Type & 2) != 0)
  18. {
  19. Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Cut), OpCode));
  20. }
  21. }
  22. }
  23. }