Partial support for branch with CC, and fix a edge case of branch out of loop on shaders

This commit is contained in:
gdk 2019-11-27 00:38:56 -03:00 committed by Thog
parent 99f236fcf0
commit 442485adb3
5 changed files with 60 additions and 14 deletions

View file

@ -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;