summaryrefslogtreecommitdiff
path: root/src/video_core/fence_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/fence_manager.h')
-rw-r--r--src/video_core/fence_manager.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/fence_manager.h b/src/video_core/fence_manager.h
index 3512283ff..f055b61e9 100644
--- a/src/video_core/fence_manager.h
+++ b/src/video_core/fence_manager.h
@@ -143,22 +143,26 @@ private:
143 } 143 }
144 144
145 bool ShouldWait() const { 145 bool ShouldWait() const {
146 std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};
146 return texture_cache.ShouldWaitAsyncFlushes() || buffer_cache.ShouldWaitAsyncFlushes() || 147 return texture_cache.ShouldWaitAsyncFlushes() || buffer_cache.ShouldWaitAsyncFlushes() ||
147 query_cache.ShouldWaitAsyncFlushes(); 148 query_cache.ShouldWaitAsyncFlushes();
148 } 149 }
149 150
150 bool ShouldFlush() const { 151 bool ShouldFlush() const {
152 std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};
151 return texture_cache.HasUncommittedFlushes() || buffer_cache.HasUncommittedFlushes() || 153 return texture_cache.HasUncommittedFlushes() || buffer_cache.HasUncommittedFlushes() ||
152 query_cache.HasUncommittedFlushes(); 154 query_cache.HasUncommittedFlushes();
153 } 155 }
154 156
155 void PopAsyncFlushes() { 157 void PopAsyncFlushes() {
158 std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};
156 texture_cache.PopAsyncFlushes(); 159 texture_cache.PopAsyncFlushes();
157 buffer_cache.PopAsyncFlushes(); 160 buffer_cache.PopAsyncFlushes();
158 query_cache.PopAsyncFlushes(); 161 query_cache.PopAsyncFlushes();
159 } 162 }
160 163
161 void CommitAsyncFlushes() { 164 void CommitAsyncFlushes() {
165 std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};
162 texture_cache.CommitAsyncFlushes(); 166 texture_cache.CommitAsyncFlushes();
163 buffer_cache.CommitAsyncFlushes(); 167 buffer_cache.CommitAsyncFlushes();
164 query_cache.CommitAsyncFlushes(); 168 query_cache.CommitAsyncFlushes();