summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/texture_pass.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-10-24 20:46:36 +0200
committerGravatar Fernando Sahmkow2021-10-24 20:46:36 +0200
commite5291e2031e1a7e0f86aa060eb12533f3dd73eaf (patch)
tree618caaad12825ab10202b359e31fa3c936612d98 /src/shader_recompiler/ir_opt/texture_pass.cpp
parentMerge pull request #7070 from FernandoS27/want-you-bad (diff)
downloadyuzu-e5291e2031e1a7e0f86aa060eb12533f3dd73eaf.tar.gz
yuzu-e5291e2031e1a7e0f86aa060eb12533f3dd73eaf.tar.xz
yuzu-e5291e2031e1a7e0f86aa060eb12533f3dd73eaf.zip
TexturePass: Fix clamping of images as this allowed negative indices.
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/texture_pass.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp
index 225c238fb..96c997a58 100644
--- a/src/shader_recompiler/ir_opt/texture_pass.cpp
+++ b/src/shader_recompiler/ir_opt/texture_pass.cpp
@@ -492,7 +492,7 @@ void TexturePass(Environment& env, IR::Program& program) {
492 const auto insert_point{IR::Block::InstructionList::s_iterator_to(*inst)}; 492 const auto insert_point{IR::Block::InstructionList::s_iterator_to(*inst)};
493 IR::IREmitter ir{*texture_inst.block, insert_point}; 493 IR::IREmitter ir{*texture_inst.block, insert_point};
494 const IR::U32 shift{ir.Imm32(std::countr_zero(DESCRIPTOR_SIZE))}; 494 const IR::U32 shift{ir.Imm32(std::countr_zero(DESCRIPTOR_SIZE))};
495 inst->SetArg(0, ir.SMin(ir.ShiftRightArithmetic(cbuf.dynamic_offset, shift), 495 inst->SetArg(0, ir.UMin(ir.ShiftRightArithmetic(cbuf.dynamic_offset, shift),
496 ir.Imm32(DESCRIPTOR_SIZE - 1))); 496 ir.Imm32(DESCRIPTOR_SIZE - 1)));
497 } else { 497 } else {
498 inst->SetArg(0, IR::Value{}); 498 inst->SetArg(0, IR::Value{});