Partial support for branch with CC, and fix a edge case of branch out of loop on shaders
This commit is contained in:
parent
99f236fcf0
commit
442485adb3
5 changed files with 60 additions and 14 deletions
|
@ -4,12 +4,16 @@ namespace Ryujinx.Graphics.Shader.Decoders
|
|||
{
|
||||
class OpCodeBranch : OpCode
|
||||
{
|
||||
public Condition Condition { get; }
|
||||
|
||||
public int Offset { get; }
|
||||
|
||||
public bool PushTarget { get; protected set; }
|
||||
|
||||
public OpCodeBranch(InstEmitter emitter, ulong address, long opCode) : base(emitter, address, opCode)
|
||||
{
|
||||
Condition = (Condition)(opCode & 0x1f);
|
||||
|
||||
Offset = ((int)(opCode >> 20) << 8) >> 8;
|
||||
|
||||
PushTarget = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue