summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/gpu_thread.cpp')
-rw-r--r--src/video_core/gpu_thread.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp
index 6b8f06f78..9488bf544 100644
--- a/src/video_core/gpu_thread.cpp
+++ b/src/video_core/gpu_thread.cpp
@@ -151,11 +151,13 @@ void ThreadManager::OnCommandListEnd() {
151} 151}
152 152
153u64 ThreadManager::PushCommand(CommandData&& command_data) { 153u64 ThreadManager::PushCommand(CommandData&& command_data) {
154 std::unique_lock lk(state.write_lock);
154 const u64 fence{++state.last_fence}; 155 const u64 fence{++state.last_fence};
155 state.queue.Push(CommandDataContainer(std::move(command_data), fence)); 156 state.queue.Push(CommandDataContainer(std::move(command_data), fence));
156 157
157 if (!is_async) { 158 if (!is_async) {
158 // In synchronous GPU mode, block the caller until the command has executed 159 // In synchronous GPU mode, block the caller until the command has executed
160 lk.unlock();
159 WaitIdle(); 161 WaitIdle();
160 } 162 }
161 163