Update src/shader_recompiler/frontend/maxwell/translate/impl/internal_stage_buffer_entry_read.cpp
All checks were successful
eden-license / license-header (pull_request) Successful in 18s

This commit is contained in:
SDK-Chan 2025-08-04 11:31:20 +02:00
parent 7323ffeb45
commit ccbd4f4bfd

View file

@ -41,6 +41,7 @@ void TranslatorVisitor::ISBERD(u64 insn) {
} const isberd{insn};
bool is_only_skew_op = true;
bool no_other_op = true;
auto apply_shift = [&](IR::U32 result) -> IR::U32 {
switch (isberd.shift.Value()) {
case Shift::U16:
@ -69,6 +70,7 @@ void TranslatorVisitor::ISBERD(u64 insn) {
}
is_only_skew_op = false;
no_other_op = false;
X(isberd.dest_reg, result);
}
@ -104,13 +106,14 @@ void TranslatorVisitor::ISBERD(u64 insn) {
}
is_only_skew_op = false;
no_other_op = false;
X(isberd.dest_reg, result_u32);
}
if (isberd.skew != 0 && is_only_skew_op) {
IR::U32 result = ir.IAdd(X(isberd.src_reg), ir.LaneId());
X(isberd.dest_reg, result);
} else {
} else if (no_other_op) {
X(isberd.dest_reg, X(isberd.src_reg));
}
}