From edfb97af757dc29e2d6052549cc07305ad7cdb0d Mon Sep 17 00:00:00 2001 From: John Date: Thu, 19 Feb 2026 10:31:48 +0100 Subject: [PATCH] Update src/shader_recompiler/ir_opt/rescaling_pass.cpp --- src/shader_recompiler/ir_opt/rescaling_pass.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/shader_recompiler/ir_opt/rescaling_pass.cpp b/src/shader_recompiler/ir_opt/rescaling_pass.cpp index 70664fe153..3702affaca 100644 --- a/src/shader_recompiler/ir_opt/rescaling_pass.cpp +++ b/src/shader_recompiler/ir_opt/rescaling_pass.cpp @@ -69,14 +69,16 @@ void VisitMark(IR::Block& block, IR::Inst& inst) { if (Settings::values.rescale_hack.GetValue()){ IR::IREmitter ir{block, IR::Block::InstructionList::s_iterator_to(inst)}; const IR::F32 new_inst{&*block.PrependNewInst(it, inst)}; + const IR::F32 up_factor{ir.FPRecip(ir.ResolutionDownFactor())}; + const IR::Value converted{ir.FPMul(new_inst, up_factor)}; } else { IR::IREmitter ir{block, it}; IR::Inst* const new_inst{&*block.PrependNewInst(it, inst)}; const IR::F32 new_bitcast{ir.ConvertUToF(32, 32, IR::Value{new_inst})}; + const IR::F32 up_factor{ir.FPRecip(ir.ResolutionDownFactor())}; + const IR::Value converted{ir.FPMul(new_bitcast, up_factor)}; } - const IR::F32 up_factor{ir.FPRecip(ir.ResolutionDownFactor())}; - const IR::Value converted{ir.FPMul(Settings::values.rescale_hack.GetValue() ? new_inst : new_bitcast, up_factor)}; inst.ReplaceUsesWith(converted); } break;