yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

shader: Fix BFE s32 undefined check

Our unit tests were hitting this exception.
This commit is contained in:
ameerj 2021-04-24 00:49:14 -04:00
parent 8fda599a31
commit 20e86fd615
1 changed files with 1 additions and 1 deletions

View File

@ -565,7 +565,7 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) {
const size_t back_shift{static_cast<size_t>(shift) + static_cast<size_t>(count)}; const size_t back_shift{static_cast<size_t>(shift) + static_cast<size_t>(count)};
const size_t left_shift{32 - back_shift}; const size_t left_shift{32 - back_shift};
const size_t right_shift{static_cast<size_t>(32 - count)}; const size_t right_shift{static_cast<size_t>(32 - count)};
if (back_shift >= 32 || left_shift >= 32 || right_shift >= 32) { if (back_shift > 32 || left_shift >= 32 || right_shift >= 32) {
throw LogicError("Undefined result in {}({}, {}, {})", IR::Opcode::BitFieldSExtract, throw LogicError("Undefined result in {}({}, {}, {})", IR::Opcode::BitFieldSExtract,
base, shift, count); base, shift, count);
} }