From a9a1204ab9b469102b7ab7a5d0c7f1eb36dcf992 Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 25 May 2022 15:29:31 +0300 Subject: [PATCH] sys_rsx: Full reset of flip semaphore --- rpcs3/Emu/Cell/lv2/sys_rsx.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_rsx.cpp b/rpcs3/Emu/Cell/lv2/sys_rsx.cpp index bed548073c..8c17ff604f 100644 --- a/rpcs3/Emu/Cell/lv2/sys_rsx.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_rsx.cpp @@ -731,7 +731,8 @@ error_code sys_rsx_context_attribute(u32 context_id, u32 package_id, u64 a3, u64 driverInfo.head[1].flipBufferId = static_cast(a3); // seems gcmSysWaitLabel uses this offset, so lets set it to 0 every flip - vm::_ref(render->label_addr + 0x10) = 0; + // NOTE: Realhw resets 16 bytes of this semaphore for some reason + vm::_ref>(render->label_addr + 0x10).store(u128{}); render->send_event(0, SYS_RSX_EVENT_FLIP_BASE << 1, 0); break;