summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2021-10-17 03:41:54 +0200
committerGitHub <noreply@github.com>2021-10-17 03:41:54 +0200
commit3791c7ca82aafa8e007074dcc2059ff4ba4de22d (patch)
treeb70ed6e2d0f75589532a0e6c197b970bf328e20a /src/video_core
parentMerge pull request #7127 from FernandoS27/i-saw-a-wabbit (diff)
parentShader Compiler: avoid overflowed indices on indixed samplers. (diff)
downloadyuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar.gz
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar.bz2
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar.lz
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar.xz
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.tar.zst
yuzu-3791c7ca82aafa8e007074dcc2059ff4ba4de22d.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/query_cache.h8
-rw-r--r--src/video_core/renderer_vulkan/vk_query_cache.cpp3
2 files changed, 6 insertions, 5 deletions
diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h
index 73231061a..392f82eb7 100644
--- a/src/video_core/query_cache.h
+++ b/src/video_core/query_cache.h
@@ -258,9 +258,9 @@ private:
void AsyncFlushQuery(VAddr addr) {
if (!uncommitted_flushes) {
- uncommitted_flushes = std::make_shared<std::unordered_set<VAddr>>();
+ uncommitted_flushes = std::make_shared<std::vector<VAddr>>();
}
- uncommitted_flushes->insert(addr);
+ uncommitted_flushes->push_back(addr);
}
static constexpr std::uintptr_t PAGE_SIZE = 4096;
@@ -276,8 +276,8 @@ private:
std::array<CounterStream, VideoCore::NumQueryTypes> streams;
- std::shared_ptr<std::unordered_set<VAddr>> uncommitted_flushes{};
- std::list<std::shared_ptr<std::unordered_set<VAddr>>> committed_flushes;
+ std::shared_ptr<std::vector<VAddr>> uncommitted_flushes{};
+ std::list<std::shared_ptr<std::vector<VAddr>>> committed_flushes;
};
template <class QueryCache, class HostCounter>
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: