OpCodeFArithImm32.cs 842 B

123456789101112131415161718192021222324252627282930
  1. using Ryujinx.Graphics.Shader.Instructions;
  2. using System;
  3. namespace Ryujinx.Graphics.Shader.Decoders
  4. {
  5. class OpCodeFArithImm32 : OpCodeAlu, IOpCodeFArith, IOpCodeImmF
  6. {
  7. public RoundingMode RoundingMode => RoundingMode.ToNearest;
  8. public FmulScale Scale => FmulScale.None;
  9. public bool FlushToZero { get; }
  10. public bool AbsoluteA { get; }
  11. public float Immediate { get; }
  12. public OpCodeFArithImm32(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
  13. {
  14. int imm = opCode.Extract(20, 32);
  15. Immediate = BitConverter.Int32BitsToSingle(imm);
  16. SetCondCode = opCode.Extract(52);
  17. AbsoluteA = opCode.Extract(54);
  18. FlushToZero = opCode.Extract(55);
  19. Saturate = false;
  20. }
  21. }
  22. }