Vulkan: Pass Renderer to FramebufferVk init.

This cleans up a few places where we were initializing the dynamic
buffers.

Bug: angleproject:2729
Change-Id: I0c9a61c62ef4d0eb865abc0011f7086d6e2acef6
Reviewed-on: https://chromium-review.googlesource.com/1142297
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index 35009c0..45615f0 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -61,34 +61,33 @@
 }  // anonymous namespace
 
 // static
-FramebufferVk *FramebufferVk::CreateUserFBO(const gl::FramebufferState &state)
+FramebufferVk *FramebufferVk::CreateUserFBO(RendererVk *renderer, const gl::FramebufferState &state)
 {
-    return new FramebufferVk(state);
+    return new FramebufferVk(renderer, state, nullptr);
 }
 
 // static
-FramebufferVk *FramebufferVk::CreateDefaultFBO(const gl::FramebufferState &state,
+FramebufferVk *FramebufferVk::CreateDefaultFBO(RendererVk *renderer,
+                                               const gl::FramebufferState &state,
                                                WindowSurfaceVk *backbuffer)
 {
-    return new FramebufferVk(state, backbuffer);
+    return new FramebufferVk(renderer, state, backbuffer);
 }
 
-FramebufferVk::FramebufferVk(const gl::FramebufferState &state)
-    : FramebufferImpl(state),
-      mBackbuffer(nullptr),
-      mActiveColorComponents(0),
-      mReadPixelsBuffer(VK_BUFFER_USAGE_TRANSFER_DST_BIT, kMinReadPixelsBufferSize),
-      mBlitPixelBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, kMinReadPixelsBufferSize)
-{
-}
-
-FramebufferVk::FramebufferVk(const gl::FramebufferState &state, WindowSurfaceVk *backbuffer)
+FramebufferVk::FramebufferVk(RendererVk *renderer,
+                             const gl::FramebufferState &state,
+                             WindowSurfaceVk *backbuffer)
     : FramebufferImpl(state),
       mBackbuffer(backbuffer),
       mActiveColorComponents(0),
       mReadPixelsBuffer(VK_BUFFER_USAGE_TRANSFER_DST_BIT, kMinReadPixelsBufferSize),
       mBlitPixelBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, kMinReadPixelsBufferSize)
 {
+    mBlitPixelBuffer.init(1, renderer);
+    ASSERT(mBlitPixelBuffer.valid());
+
+    mReadPixelsBuffer.init(1, renderer);
+    ASSERT(mReadPixelsBuffer.valid());
 }
 
 FramebufferVk::~FramebufferVk() = default;
@@ -477,12 +476,6 @@
     VkBuffer handleOut = VK_NULL_HANDLE;
     uint32_t offsetOut = 0;
 
-    if (!mBlitPixelBuffer.valid())
-    {
-        mBlitPixelBuffer.init(1, renderer);
-        ASSERT(mBlitPixelBuffer.valid());
-    }
-
     VkImageAspectFlags copyFlags =
         vk::GetDepthStencilAspectFlagsForCopy(blitDepthBuffer, blitStencilBuffer);
 
@@ -1154,12 +1147,6 @@
 {
     RendererVk *renderer = contextVk->getRenderer();
 
-    if (!mReadPixelsBuffer.valid())
-    {
-        mReadPixelsBuffer.init(1, renderer);
-        ASSERT(mReadPixelsBuffer.valid());
-    }
-
     vk::CommandBuffer *commandBuffer = nullptr;
     ANGLE_TRY(beginWriteResource(contextVk, &commandBuffer));