summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@users.noreply.github.com>2016-12-01 12:38:31 +1000
committerGitHub <noreply@github.com>2016-12-01 12:38:31 +1000
commite2018f22085dd168b8ef6ec1c8ff6260e8c3e8b2 (patch)
tree913af0e2da3f35154c7aa06af0bb6421546543b4 /Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
parenta3d2dead76f9fe46163a20f6b7cc6ac7b2b66f29 (diff)
parentca691a9d95c437334cfeb8321a544ed36d17849b (diff)
Merge pull request #4480 from stenzek/vulkan-streambuffer-reuse
Vulkan: Fix stream buffer re-use problems
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
index f01f8ac25b..774afbf79d 100644
--- a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
@@ -738,9 +738,7 @@ bool FramebufferManager::PopulateColorReadbackTexture()
}
// Wait until the copy is complete.
- g_command_buffer_mgr->ExecuteCommandBuffer(false, true);
- StateTracker::GetInstance()->InvalidateDescriptorSets();
- StateTracker::GetInstance()->SetPendingRebind();
+ Util::ExecuteCurrentCommandsAndRestoreState(false, true);
// Map to host memory.
if (!m_color_readback_texture->IsMapped() && !m_color_readback_texture->Map())
@@ -822,9 +820,7 @@ bool FramebufferManager::PopulateDepthReadbackTexture()
}
// Wait until the copy is complete.
- g_command_buffer_mgr->ExecuteCommandBuffer(false, true);
- StateTracker::GetInstance()->InvalidateDescriptorSets();
- StateTracker::GetInstance()->SetPendingRebind();
+ Util::ExecuteCurrentCommandsAndRestoreState(false, true);
// Map to host memory.
if (!m_depth_readback_texture->IsMapped() && !m_depth_readback_texture->Map())
@@ -1212,7 +1208,7 @@ void FramebufferManager::DrawPokeVertices(const EFBPokeVertex* vertices, size_t
{
// Kick a command buffer first.
WARN_LOG(VIDEO, "Kicking command buffer due to no EFB poke space.");
- Util::ExecuteCurrentCommandsAndRestoreState(true);
+ Util::ExecuteCurrentCommandsAndRestoreState(false);
command_buffer = g_command_buffer_mgr->GetCurrentCommandBuffer();
if (!m_poke_vertex_stream_buffer->ReserveMemory(vertices_size, sizeof(EfbPokeData), true, true,