瀏覽代碼

vk_query_cache: Wait before reading queries

ReinUsesLisp 5 年之前
父節點
當前提交
56c47951c5
共有 1 個文件被更改,包括 2 次插入9 次删除
  1. 2 9
      src/video_core/renderer_vulkan/vk_query_cache.cpp

+ 2 - 9
src/video_core/renderer_vulkan/vk_query_cache.cpp

@@ -114,17 +114,10 @@ void HostCounter::EndQuery() {
 }
 }
 
 
 u64 HostCounter::BlockingQuery() const {
 u64 HostCounter::BlockingQuery() const {
-    auto& scheduler{cache.GetScheduler()};
-    if (tick >= scheduler.CurrentTick()) {
-        scheduler.Flush();
-        // This may not be necessary, but it's better to play it safe and assume drivers don't
-        // support wait before signal on vkGetQueryPoolResults
-        scheduler.WaitWorker();
-    }
+    cache.GetScheduler().Wait(tick);
     u64 data;
     u64 data;
     const VkResult query_result = cache.GetDevice().GetLogical().GetQueryResults(
     const VkResult query_result = cache.GetDevice().GetLogical().GetQueryResults(
-        query.first, query.second, 1, sizeof(data), &data, sizeof(data),
-        VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT);
+        query.first, query.second, 1, sizeof(data), &data, sizeof(data), VK_QUERY_RESULT_64_BIT);
 
 
     switch (query_result) {
     switch (query_result) {
     case VK_SUCCESS:
     case VK_SUCCESS: