OpCodeHfmaRegCbuf.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using Ryujinx.Graphics.Shader.Instructions;
  2. namespace Ryujinx.Graphics.Shader.Decoders
  3. {
  4. class OpCodeHfmaRegCbuf : OpCodeHfma, IOpCodeHfma, IOpCodeRegCbuf
  5. {
  6. public int Offset { get; }
  7. public int Slot { get; }
  8. public bool NegateB { get; }
  9. public bool NegateC { get; }
  10. public bool Saturate { get; }
  11. public FPHalfSwizzle SwizzleB { get; }
  12. public FPHalfSwizzle SwizzleC => FPHalfSwizzle.FP32;
  13. public new static OpCode Create(InstEmitter emitter, ulong address, long opCode) => new OpCodeHfmaRegCbuf(emitter, address, opCode);
  14. public OpCodeHfmaRegCbuf(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
  15. {
  16. Offset = opCode.Extract(20, 14);
  17. Slot = opCode.Extract(34, 5);
  18. NegateC = opCode.Extract(51);
  19. Saturate = opCode.Extract(52);
  20. SwizzleB = (FPHalfSwizzle)opCode.Extract(53, 2);
  21. NegateB = opCode.Extract(56);
  22. }
  23. }
  24. }