diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-12-21 18:47:22 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-01-15 17:54:52 -0300 |
| commit | fc46ecddb3bca4861babbf610cd64ab9fdc1bb08 (patch) | |
| tree | 6dbb61cb71db90909e801b6bfd52e4fbdadcf360 /src/video_core/shader/decode/xmad.cpp | |
| parent | 148a6418ede720681f464eca928c7c445f37db79 (diff) | |
video_core: Return safe values after an assert hits
Diffstat (limited to 'src/video_core/shader/decode/xmad.cpp')
| -rw-r--r-- | src/video_core/shader/decode/xmad.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/shader/decode/xmad.cpp b/src/video_core/shader/decode/xmad.cpp index 596f0ddc8..0466069ae 100644 --- a/src/video_core/shader/decode/xmad.cpp +++ b/src/video_core/shader/decode/xmad.cpp @@ -42,9 +42,9 @@ u32 ShaderIR::DecodeXmad(BasicBlock& bb, u32 pc) { case OpCode::Id::XMAD_IMM: return {instr.xmad.merge_37, Immediate(static_cast<u32>(instr.xmad.imm20_16)), GetRegister(instr.gpr39)}; - default: - UNIMPLEMENTED_MSG("Unhandled XMAD instruction: {}", opcode->get().GetName()); } + UNIMPLEMENTED_MSG("Unhandled XMAD instruction: {}", opcode->get().GetName()); + return {false, Immediate(0), Immediate(0)}; }(); if (instr.xmad.high_a) { @@ -85,9 +85,9 @@ u32 ShaderIR::DecodeXmad(BasicBlock& bb, u32 pc) { NO_PRECISE, original_b, Immediate(16)); return SignedOperation(OperationCode::IAdd, is_signed_c, NO_PRECISE, op_c, shifted_b); } - default: { + default: UNIMPLEMENTED_MSG("Unhandled XMAD mode: {}", static_cast<u32>(instr.xmad.mode.Value())); - } + return Immediate(0); } }(); |
