Vulkan: Reallocate only the right uniform descriptor set when needed

Bug: angleproject:2421

Change-Id: Ibdd8beee8103062a566b8caa23cdd9b8ac35d3a8
Reviewed-on: https://chromium-review.googlesource.com/974105
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ProgramVk.h b/src/libANGLE/renderer/vulkan/ProgramVk.h
index 81ce3a7..001d5bc 100644
--- a/src/libANGLE/renderer/vulkan/ProgramVk.h
+++ b/src/libANGLE/renderer/vulkan/ProgramVk.h
@@ -14,6 +14,7 @@
 
 #include "libANGLE/Constants.h"
 #include "libANGLE/renderer/ProgramImpl.h"
+#include "libANGLE/renderer/vulkan/RendererVk.h"
 #include "libANGLE/renderer/vulkan/StreamingBuffer.h"
 #include "libANGLE/renderer/vulkan/vk_utils.h"
 
@@ -123,7 +124,7 @@
     // or Textures.
     const gl::RangeUI &getUsedDescriptorSetRange() const;
 
-    void updateTexturesDescriptorSet(ContextVk *contextVk);
+    vk::Error updateTexturesDescriptorSet(ContextVk *contextVk);
     void invalidateTextures();
 
     // For testing only.
@@ -131,7 +132,7 @@
 
   private:
     vk::Error reset(ContextVk *contextVk);
-    vk::Error allocateDescriptorSets(ContextVk *contextVk);
+    vk::Error allocateDescriptorSet(ContextVk *contextVk, uint32_t descriptorSetIndex);
     gl::Error initDefaultUniformBlocks(const gl::Context *glContext);
     vk::Error updateDefaultUniformsDescriptorSet(ContextVk *contextVk);