From d7ffc8b4acef309bf81b653c2d35e60068eb6ee1 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 30 Jun 2020 20:31:50 +0300 Subject: [PATCH] rsx: Fix leaking ZCULL queries after a barrier - Multiple queries can be queued up, process them all before completing the barrier --- rpcs3/Emu/RSX/RSXThread.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index af1aa66169..2e6c86f9da 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -3611,7 +3611,11 @@ namespace rsx } } - update(ptimer, sync_address); + // There can be multiple queries all writing to the same address, loop to flush all of them + while (query->pending && !Emu.IsStopped()) + { + update(ptimer, sync_address); + } return result_none; }