diff options
Diffstat (limited to 'src/video_core/shader')
-rw-r--r-- | src/video_core/shader/decode/conversion.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/shader/decode/conversion.cpp b/src/video_core/shader/decode/conversion.cpp index 7da857af5..6ead42070 100644 --- a/src/video_core/shader/decode/conversion.cpp +++ b/src/video_core/shader/decode/conversion.cpp @@ -86,6 +86,9 @@ u32 ShaderIR::DecodeConversion(NodeBlock& bb, u32 pc) { if (const u32 offset = static_cast<u32>(instr.conversion.int_src.selector); offset > 0) { ASSERT(instr.conversion.src_size == Register::Size::Byte || instr.conversion.src_size == Register::Size::Short); + if (instr.conversion.src_size == Register::Size::Short) { + ASSERT(offset == 0 || offset == 2); + } value = SignedOperation(OperationCode::ILogicalShiftRight, input_signed, std::move(value), Immediate(offset * 8)); } |