Vulkan: Fix mixed descriptor pool updates.

When updating the Uniforms and Textures pools at different rates we
could trigger an ANGLE bug. We would sometimes reset and free the
currently bound descriptors. We can fix this by using separate
descriptor pools for each descriptor set.

Bug: angleproject:2678
Change-Id: I605b558531e7745484e16156a3af5eac40ffcc79
Reviewed-on: https://chromium-review.googlesource.com/1110662
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ProgramVk.cpp b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
index 7278ade..a462dba 100644
--- a/src/libANGLE/renderer/vulkan/ProgramVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
@@ -741,7 +741,8 @@
 vk::Error ProgramVk::allocateDescriptorSet(ContextVk *contextVk, uint32_t descriptorSetIndex)
 {
     // Write out to a new a descriptor set.
-    vk::DynamicDescriptorPool *dynamicDescriptorPool = contextVk->getDynamicDescriptorPool();
+    vk::DynamicDescriptorPool *dynamicDescriptorPool =
+        contextVk->getDynamicDescriptorPool(descriptorSetIndex);
 
     uint32_t potentialNewCount = descriptorSetIndex + 1;
     if (potentialNewCount > mDescriptorSets.size())