From 158e34faca4baa8b3a25efb0379c38b7aba0fbeb Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 25 Mar 2020 10:10:30 +0200 Subject: [PATCH] rsx: Reset all method registers at rsx_state::init() --- rpcs3/Emu/RSX/rsx_methods.cpp | 3 +++ rpcs3/Emu/RSX/rsx_methods.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index 58c4c8fafd..813bc9ede9 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -1562,6 +1562,9 @@ namespace rsx void rsx_state::init() { + // Reset all regsiters + registers.fill(0); + // Special values set at initialization, these are not set by a context reset registers[NV4097_SET_SHADER_PROGRAM] = (0 << 2) | (CELL_GCM_LOCATION_LOCAL + 1); diff --git a/rpcs3/Emu/RSX/rsx_methods.h b/rpcs3/Emu/RSX/rsx_methods.h index 7a941980b1..890767aa17 100644 --- a/rpcs3/Emu/RSX/rsx_methods.h +++ b/rpcs3/Emu/RSX/rsx_methods.h @@ -477,7 +477,7 @@ namespace rsx struct rsx_state { public: - std::array registers{}; + std::array registers; u32 register_previous_value; template