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));