diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2020-09-01 15:07:20 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-01 15:07:20 -0300 |
| commit | 3d294a9a6ccf5c620e328bfd87a8cf354b6af227 (patch) | |
| tree | a79659ceb06811ff6685422db51bfd61da8d242f | |
| parent | 3ec911a6300a664ae9c5360195b3f65e017e4353 (diff) | |
Fix PSL and MRG flags on XMAD cbuf-reg shader instruction (#1520)
| -rw-r--r-- | Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs b/Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs index e55f1f32..b883edc1 100644 --- a/Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs +++ b/Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs @@ -674,7 +674,12 @@ namespace Ryujinx.Graphics.Shader.Instructions bool productShiftLeft = false; bool merge = false; - if (!(op is OpCodeAluRegCbuf)) + if (op is OpCodeAluCbuf) + { + productShiftLeft = context.CurrOp.RawOpCode.Extract(55); + merge = context.CurrOp.RawOpCode.Extract(56); + } + else if (!(op is OpCodeAluRegCbuf)) { productShiftLeft = context.CurrOp.RawOpCode.Extract(36); merge = context.CurrOp.RawOpCode.Extract(37); |
