summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/AsyncRequests.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus@selfnet.de>2018-03-26 21:33:16 +0200
committerdegasus <wickmarkus@web.de>2018-06-06 09:22:01 +0200
commit38602198993f19871dcde5844633a90eb3560c32 (patch)
treef988e42af2b6a645a9dae42a9adbece1e1eeb836 /Source/Core/VideoCommon/AsyncRequests.cpp
parent0dfd0cfa24c0152e4112c184aa04c380c2b7a579 (diff)
VideoCommon: Flush the GPU pipeline on async requests.
Diffstat (limited to 'Source/Core/VideoCommon/AsyncRequests.cpp')
-rw-r--r--Source/Core/VideoCommon/AsyncRequests.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/AsyncRequests.cpp b/Source/Core/VideoCommon/AsyncRequests.cpp
index cab79c8bc2..e5d0bb3c27 100644
--- a/Source/Core/VideoCommon/AsyncRequests.cpp
+++ b/Source/Core/VideoCommon/AsyncRequests.cpp
@@ -7,6 +7,7 @@
#include "VideoCommon/AsyncRequests.h"
#include "VideoCommon/Fifo.h"
#include "VideoCommon/RenderBase.h"
+#include "VideoCommon/VertexManagerBase.h"
#include "VideoCommon/VideoBackendBase.h"
#include "VideoCommon/VideoCommon.h"
@@ -16,6 +17,10 @@ AsyncRequests::AsyncRequests() = default;
void AsyncRequests::PullEventsInternal()
{
+ // This is only called if the queue isn't empty.
+ // So just flush the pipeline to get accurate results.
+ g_vertex_manager->Flush();
+
std::unique_lock<std::mutex> lock(m_mutex);
m_empty.Set();