diff options
| author | 2021-05-07 00:29:37 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:30 -0400 | |
| commit | 56c47951c5d92d5e6145060469528301c67e0754 (patch) | |
| tree | 3fb7999a7f16771826a4c2c4a5bfc7b2306124c9 /src | |
| parent | vk_master_semaphore: Use fetch_add to increase master semaphore tick (diff) | |
| download | yuzu-56c47951c5d92d5e6145060469528301c67e0754.tar.gz yuzu-56c47951c5d92d5e6145060469528301c67e0754.tar.xz yuzu-56c47951c5d92d5e6145060469528301c67e0754.zip | |
vk_query_cache: Wait before reading queries
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_query_cache.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index 1dd78328c..c9cb32d71 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp | |||
| @@ -114,17 +114,10 @@ void HostCounter::EndQuery() { | |||
| 114 | } | 114 | } |
| 115 | 115 | ||
| 116 | u64 HostCounter::BlockingQuery() const { | 116 | u64 HostCounter::BlockingQuery() const { |
| 117 | auto& scheduler{cache.GetScheduler()}; | 117 | cache.GetScheduler().Wait(tick); |
| 118 | if (tick >= scheduler.CurrentTick()) { | ||
| 119 | scheduler.Flush(); | ||
| 120 | // This may not be necessary, but it's better to play it safe and assume drivers don't | ||
| 121 | // support wait before signal on vkGetQueryPoolResults | ||
| 122 | scheduler.WaitWorker(); | ||
| 123 | } | ||
| 124 | u64 data; | 118 | u64 data; |
| 125 | const VkResult query_result = cache.GetDevice().GetLogical().GetQueryResults( | 119 | const VkResult query_result = cache.GetDevice().GetLogical().GetQueryResults( |
| 126 | query.first, query.second, 1, sizeof(data), &data, sizeof(data), | 120 | query.first, query.second, 1, sizeof(data), &data, sizeof(data), VK_QUERY_RESULT_64_BIT); |
| 127 | VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT); | ||
| 128 | 121 | ||
| 129 | switch (query_result) { | 122 | switch (query_result) { |
| 130 | case VK_SUCCESS: | 123 | case VK_SUCCESS: |