Vulkan: Add PipelineLayout and DescriptorSetLayout caches.
This will be necessary to support more than one PipelineLayout per
instance of ANGLE. Sampler array handling requires different layouts
for different sampler uses.
Bug: angleproject:2462
Change-Id: I1d8b4919eed1a589002ad1898b05186f420061c7
Reviewed-on: https://chromium-review.googlesource.com/1089806
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp
index 00d09f1..8ef55dd 100644
--- a/src/libANGLE/renderer/vulkan/ContextVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp
@@ -125,9 +125,11 @@
// Ensure that the RenderPass description is updated.
mPipelineDesc->updateRenderPassDesc(framebufferVk->getRenderPassDesc());
+ const vk::PipelineLayout &pipelineLayout = mRenderer->getGraphicsPipelineLayout();
+
// TODO(jmadill): Validate with ASSERT against physical device limits/caps?
ANGLE_TRY(mRenderer->getAppPipeline(programVk, *mPipelineDesc, activeAttribLocationsMask,
- &mCurrentPipeline));
+ pipelineLayout, &mCurrentPipeline));
return gl::NoError();
}