OpCodeBranchIndir.cs 617 B

1234567891011121314151617181920212223
  1. using Ryujinx.Graphics.Shader.Instructions;
  2. using System.Collections.Generic;
  3. namespace Ryujinx.Graphics.Shader.Decoders
  4. {
  5. class OpCodeBranchIndir : OpCode
  6. {
  7. public HashSet<Block> PossibleTargets { get; }
  8. public Register Ra { get; }
  9. public int Offset { get; }
  10. public OpCodeBranchIndir(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
  11. {
  12. PossibleTargets = new HashSet<Block>();
  13. Ra = new Register(opCode.Extract(8, 8), RegisterType.Gpr);
  14. Offset = ((int)(opCode >> 20) << 8) >> 8;
  15. }
  16. }
  17. }