diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-01-25 06:21:05 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-01-25 07:16:10 +0100 |
commit | 9a2cdf85205b7c77112d73fbd491426f96e0c993 (patch) | |
tree | 86e792ccf0c5ea93553cbbe5d208eef1e4aba506 | |
parent | shader/memory: Move unaligned load/store to functions (diff) | |
download | yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar.gz yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar.bz2 yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar.lz yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar.xz yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.tar.zst yuzu-9a2cdf85205b7c77112d73fbd491426f96e0c993.zip |
-rw-r--r-- | src/video_core/shader/decode/memory.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/video_core/shader/decode/memory.cpp b/src/video_core/shader/decode/memory.cpp index 2f5ca5de5..8cd0e7d96 100644 --- a/src/video_core/shader/decode/memory.cpp +++ b/src/video_core/shader/decode/memory.cpp @@ -169,12 +169,10 @@ u32 ShaderIR::DecodeMemory(NodeBlock& bb, u32 pc) { }; switch (instr.ldst_sl.type.Value()) { - case StoreType::Signed16: { - Node address = GetAddress(0); - - SetRegister(bb, instr.gpr0, Sign16Extend(GetMemory(0))); + case StoreType::Signed16: + SetRegister(bb, instr.gpr0, + Sign16Extend(ExtractUnaligned(GetMemory(0), GetAddress(0), 0b10, 16))); break; - } case StoreType::Bits32: case StoreType::Bits64: case StoreType::Bits128: { |