summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/Renderer.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@users.noreply.github.com>2016-11-28 22:03:49 +1000
committerGitHub <noreply@github.com>2016-11-28 22:03:49 +1000
commitda87580dc1c8eb63dac783f0e50e9bd3cfe4b3a1 (patch)
tree3875647817c8ef5e0f8843f02bba13fc1f12e91d /Source/Core/VideoBackends/Vulkan/Renderer.cpp
parent681294586b3267f12d4c1632d9ff07e1298b58a6 (diff)
parent8d48319414d7e3f348e4ef38e976121e9a1fce6a (diff)
Merge pull request #4449 from stenzek/vulkan-pipeline-cache
Vulkan: Implement pipeline UID cache
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/Renderer.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/Renderer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/Renderer.cpp b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
index 5348d6beec..1a82184fc4 100644
--- a/Source/Core/VideoBackends/Vulkan/Renderer.cpp
+++ b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
@@ -116,6 +116,9 @@ bool Renderer::Initialize()
m_bounding_box->GetGPUBufferSize());
}
+ // Ensure all pipelines previously used by the game have been created.
+ StateTracker::GetInstance()->LoadPipelineUIDCache();
+
// Various initialization routines will have executed commands on the command buffer.
// Execute what we have done before beginning the first frame.
g_command_buffer_mgr->PrepareToSubmitCommandBuffer();
@@ -1134,8 +1137,8 @@ void Renderer::CheckForConfigChanges()
g_command_buffer_mgr->WaitForGPUIdle();
RecompileShaders();
FramebufferManager::GetInstance()->RecompileShaders();
- g_object_cache->ClearPipelineCache();
g_object_cache->RecompileSharedShaders();
+ StateTracker::GetInstance()->LoadPipelineUIDCache();
}
// For vsync, we need to change the present mode, which means recreating the swap chain.