From 2bce3674881cd86869e47085384efa39b8ecd3d6 Mon Sep 17 00:00:00 2001 From: Eladash Date: Sun, 30 Jun 2019 12:47:42 +0300 Subject: [PATCH] Fixup for fixup (#6153) * Fixup for fixup * Fix memory ordering for MTRSX volatile doesnt block reordering. * ugh --- rpcs3/Emu/RSX/RSXOffload.cpp | 2 ++ rpcs3/Emu/RSX/rsx_methods.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/RSXOffload.cpp b/rpcs3/Emu/RSX/RSXOffload.cpp index 952555fff1..1ebf68d4c0 100644 --- a/rpcs3/Emu/RSX/RSXOffload.cpp +++ b/rpcs3/Emu/RSX/RSXOffload.cpp @@ -5,6 +5,7 @@ #include "RSXOffload.h" #include +#include namespace rsx { @@ -57,6 +58,7 @@ namespace rsx fmt::throw_exception("Unreachable" HERE); } + std::atomic_thread_fence(std::memory_order_release); ++m_processed_count; } } diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index f260fbb9fd..951df329b2 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -116,7 +116,7 @@ namespace rsx if (LIKELY(g_use_rtm)) { - vm::_ref>(addr) = arg; + vm::_ref>(addr) = arg; } else {