diff options
| author | gdk <gab.dark.100@gmail.com> | 2019-11-27 00:38:56 -0300 |
|---|---|---|
| committer | Thog <thog@protonmail.com> | 2020-01-09 02:13:00 +0100 |
| commit | 442485adb32626b3931cd15f284d0e686b0021fc (patch) | |
| tree | 65791c99024c3c7e27088ce6740efabf2f0276dc /Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs | |
| parent | 99f236fcf03e4304a91df70c3545b9b79ff15942 (diff) | |
Partial support for branch with CC, and fix a edge case of branch out of loop on shaders
Diffstat (limited to 'Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs')
| -rw-r--r-- | Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs b/Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs index f51c3996..c4fa9212 100644 --- a/Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs +++ b/Ryujinx.Graphics.Shader/Decoders/OpCodeBranch.cs @@ -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; |
