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