ShaderDecodeSpecial.cs 844 B

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