From 12e3c9e08ba2b8edbfddd6fdc45bb94812f75510 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Fri, 17 Dec 2021 16:40:39 +0300 Subject: [PATCH] Use PAUSE in vk::query_pool_manager::get_query_result --- rpcs3/Emu/RSX/VK/VKQueryPool.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKQueryPool.cpp b/rpcs3/Emu/RSX/VK/VKQueryPool.cpp index ad0b8ca83b..aaff365369 100644 --- a/rpcs3/Emu/RSX/VK/VKQueryPool.cpp +++ b/rpcs3/Emu/RSX/VK/VKQueryPool.cpp @@ -2,6 +2,7 @@ #include "VKQueryPool.h" #include "VKRenderPass.h" #include "VKResourceManager.h" +#include "util/asm.hpp" namespace vk { @@ -157,9 +158,16 @@ namespace vk { // Check for cached result auto& query_info = query_slot_status[index]; - while (!query_info.ready) + + if (!query_info.ready) { poke_query(query_info, index, result_flags); + + while (!query_info.ready) + { + utils::pause(); + poke_query(query_info, index, result_flags); + } } return query_info.data;