Vulkan: Remove std::vector arg from beginRenderPass.

We don't want to force the RenderPass code to use std::vector when we
are working with static data. Change it to take a pointer.

Bug: angleproject:2264
Change-Id: I07a077719fb9b4abc33a0cfcccc178d0544b7f06
Reviewed-on: https://chromium-review.googlesource.com/789535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index b69f99f..6aa649b 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -559,8 +559,8 @@
     ANGLE_TRY(mState.getFirstColorAttachment()->getRenderTarget(context, &renderTarget));
     renderTarget->image->updateLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
 
-    commandBuffer->beginRenderPass(*renderPass, *framebuffer, glState.getViewport(),
-                                   attachmentClearValues);
+    commandBuffer->beginRenderPass(*renderPass, *framebuffer, glState.getViewport(), 1,
+                                   attachmentClearValues.data());
 
     setQueueSerial(queueSerial);
     if (mBackbuffer)
diff --git a/src/libANGLE/renderer/vulkan/renderervk_utils.cpp b/src/libANGLE/renderer/vulkan/renderervk_utils.cpp
index bb54e0a..41b3f93 100644
--- a/src/libANGLE/renderer/vulkan/renderervk_utils.cpp
+++ b/src/libANGLE/renderer/vulkan/renderervk_utils.cpp
@@ -404,9 +404,9 @@
 void CommandBuffer::beginRenderPass(const RenderPass &renderPass,
                                     const Framebuffer &framebuffer,
                                     const gl::Rectangle &renderArea,
-                                    const std::vector<VkClearValue> &clearValues)
+                                    uint32_t clearValueCount,
+                                    const VkClearValue *clearValues)
 {
-    ASSERT(!clearValues.empty());
     ASSERT(mHandle != VK_NULL_HANDLE);
 
     VkRenderPassBeginInfo beginInfo;
@@ -418,8 +418,8 @@
     beginInfo.renderArea.offset.y      = static_cast<uint32_t>(renderArea.y);
     beginInfo.renderArea.extent.width  = static_cast<uint32_t>(renderArea.width);
     beginInfo.renderArea.extent.height = static_cast<uint32_t>(renderArea.height);
-    beginInfo.clearValueCount          = static_cast<uint32_t>(clearValues.size());
-    beginInfo.pClearValues             = clearValues.data();
+    beginInfo.clearValueCount          = clearValueCount;
+    beginInfo.pClearValues             = clearValues;
 
     vkCmdBeginRenderPass(mHandle, &beginInfo, VK_SUBPASS_CONTENTS_INLINE);
 }
diff --git a/src/libANGLE/renderer/vulkan/renderervk_utils.h b/src/libANGLE/renderer/vulkan/renderervk_utils.h
index 72a9080..302a236 100644
--- a/src/libANGLE/renderer/vulkan/renderervk_utils.h
+++ b/src/libANGLE/renderer/vulkan/renderervk_utils.h
@@ -348,7 +348,8 @@
     void beginRenderPass(const RenderPass &renderPass,
                          const Framebuffer &framebuffer,
                          const gl::Rectangle &renderArea,
-                         const std::vector<VkClearValue> &clearValues);
+                         uint32_t clearValueCount,
+                         const VkClearValue *clearValues);
     void endRenderPass();
 
     void draw(uint32_t vertexCount,