From dea5193fd7e944990913729de884df91dd7a3626 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Mon, 3 Sep 2018 19:04:47 +0300 Subject: [PATCH] rsx: Fix FP temp register count --- rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp | 2 ++ rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp index f12d99db5..26f7392fd 100644 --- a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp +++ b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.cpp @@ -111,6 +111,8 @@ void FragmentProgramDecompiler::SetDst(std::string code, bool append_mask) } u32 reg_index = dst.fp16 ? dst.dest_reg >> 1 : dst.dest_reg; + + verify(HERE), reg_index < temp_registers.size(); temp_registers[reg_index].tag(dst.dest_reg, !!dst.fp16, dst.mask_x, dst.mask_y, dst.mask_z, dst.mask_w); } diff --git a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.h b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.h index 023f7458f..312365f71 100644 --- a/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.h +++ b/rpcs3/Emu/RSX/Common/FragmentProgramDecompiler.h @@ -134,7 +134,7 @@ class FragmentProgramDecompiler std::vector m_end_offsets; std::vector m_else_offsets; - std::array temp_registers; + std::array temp_registers; std::string GetMask();