Add partial support for the BRX shader instruction
This commit is contained in:
parent
d274328c31
commit
f0a59f345c
15 changed files with 242 additions and 126 deletions
23
Ryujinx.Graphics.Shader/Decoders/OpCodeBranchIndir.cs
Normal file
23
Ryujinx.Graphics.Shader/Decoders/OpCodeBranchIndir.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
using Ryujinx.Graphics.Shader.Instructions;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ryujinx.Graphics.Shader.Decoders
|
||||
{
|
||||
class OpCodeBranchIndir : OpCode
|
||||
{
|
||||
public HashSet<Block> PossibleTargets { get; }
|
||||
|
||||
public Register Ra { get; }
|
||||
|
||||
public int Offset { get; }
|
||||
|
||||
public OpCodeBranchIndir(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
|
||||
{
|
||||
PossibleTargets = new HashSet<Block>();
|
||||
|
||||
Ra = new Register(opCode.Extract(8, 8), RegisterType.Gpr);
|
||||
|
||||
Offset = ((int)(opCode >> 20) << 8) >> 8;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue