OpCodeIpa.cs 810 B

12345678910111213141516171819202122232425262728
  1. using Ryujinx.Graphics.Shader.Instructions;
  2. namespace Ryujinx.Graphics.Shader.Decoders
  3. {
  4. class OpCodeIpa : OpCodeAluReg, IOpCodeAttribute
  5. {
  6. public int AttributeOffset { get; }
  7. public int Count => 1;
  8. public bool Idx { get; }
  9. public bool Indexed => Idx;
  10. public InterpolationMode Mode { get; }
  11. public new static OpCode Create(InstEmitter emitter, ulong address, long opCode) => new OpCodeIpa(emitter, address, opCode);
  12. public OpCodeIpa(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
  13. {
  14. AttributeOffset = opCode.Extract(28, 10);
  15. Idx = opCode.Extract(38);
  16. Saturate = opCode.Extract(51);
  17. Mode = (InterpolationMode)opCode.Extract(54, 2);
  18. }
  19. }
  20. }