summaryrefslogtreecommitdiffstats
path: root/src/video_core/query_cache.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2023-04-15 00:03:48 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-04-23 04:48:50 +0200
commitfca72beb2db658e84ceac6e1f46f682bcacf8f25 (patch)
treeb2139045203240661f924a1cbaec017ca666d16a /src/video_core/query_cache.h
parentMerge pull request #10074 from Kelebek1/fermi_blit (diff)
downloadyuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar.gz
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar.bz2
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar.lz
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar.xz
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.tar.zst
yuzu-fca72beb2db658e84ceac6e1f46f682bcacf8f25.zip
Diffstat (limited to 'src/video_core/query_cache.h')
-rw-r--r--src/video_core/query_cache.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h
index 8906ba6d8..cd339b99d 100644
--- a/src/video_core/query_cache.h
+++ b/src/video_core/query_cache.h
@@ -173,15 +173,18 @@ public:
}
void CommitAsyncFlushes() {
+ std::unique_lock lock{mutex};
committed_flushes.push_back(uncommitted_flushes);
uncommitted_flushes.reset();
}
bool HasUncommittedFlushes() const {
+ std::unique_lock lock{mutex};
return uncommitted_flushes != nullptr;
}
bool ShouldWaitAsyncFlushes() const {
+ std::unique_lock lock{mutex};
if (committed_flushes.empty()) {
return false;
}
@@ -189,6 +192,7 @@ public:
}
void PopAsyncFlushes() {
+ std::unique_lock lock{mutex};
if (committed_flushes.empty()) {
return;
}
@@ -265,7 +269,7 @@ private:
VideoCore::RasterizerInterface& rasterizer;
- std::recursive_mutex mutex;
+ mutable std::recursive_mutex mutex;
std::unordered_map<u64, std::vector<CachedQuery>> cached_queries;