From 8fdb51ab46079941175546242604b08054ca4306 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Fri, 24 Sep 2021 01:13:42 +0200 Subject: QueryCache: Flush queries in order of running. --- src/video_core/query_cache.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/video_core') diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h index aac851253..a19b9f931 100644 --- a/src/video_core/query_cache.h +++ b/src/video_core/query_cache.h @@ -257,9 +257,9 @@ private: void AsyncFlushQuery(VAddr addr) { if (!uncommitted_flushes) { - uncommitted_flushes = std::make_shared>(); + uncommitted_flushes = std::make_shared>(); } - uncommitted_flushes->insert(addr); + uncommitted_flushes->push_back(addr); } static constexpr std::uintptr_t PAGE_SIZE = 4096; @@ -275,8 +275,8 @@ private: std::array streams; - std::shared_ptr> uncommitted_flushes{}; - std::list>> committed_flushes; + std::shared_ptr> uncommitted_flushes{}; + std::list>> committed_flushes; }; template -- cgit v1.2.3 From d702b393a4db452f354c6976c18d7093c934a003 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Fri, 24 Sep 2021 01:14:17 +0200 Subject: Vulkan Query Cache: make sure to wait for the query result. --- src/video_core/renderer_vulkan/vk_query_cache.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/video_core') diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index c9cb32d71..259cba156 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp @@ -117,7 +117,8 @@ u64 HostCounter::BlockingQuery() const { cache.GetScheduler().Wait(tick); u64 data; const VkResult query_result = cache.GetDevice().GetLogical().GetQueryResults( - query.first, query.second, 1, sizeof(data), &data, sizeof(data), VK_QUERY_RESULT_64_BIT); + query.first, query.second, 1, sizeof(data), &data, sizeof(data), + VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT); switch (query_result) { case VK_SUCCESS: -- cgit v1.2.3