Vulkan: Make RenderTargetVk use ImageHelper.
Bug: angleproject:2318
Change-Id: I9bc4bb7f5bcd3029a31c8570809f253cf5e4b12a
Reviewed-on: https://chromium-review.googlesource.com/980773
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
index 0429219..d5162b7 100644
--- a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
@@ -25,7 +25,7 @@
RenderbufferVk::RenderbufferVk(const gl::RenderbufferState &state) : RenderbufferImpl(state)
{
- mRenderTarget.image = &mImage.getImage();
+ mRenderTarget.image = &mImage;
mRenderTarget.imageView = &mImageView;
mRenderTarget.resource = this;
}
@@ -70,13 +70,6 @@
}
}
- // Init RenderTarget.
- mRenderTarget.extents.width = static_cast<int>(width);
- mRenderTarget.extents.height = static_cast<int>(height);
- mRenderTarget.extents.depth = 1;
- mRenderTarget.format = &vkFormat;
- mRenderTarget.samples = VK_SAMPLE_COUNT_1_BIT; // TODO(jmadill): Multisample bits.
-
if (!mImage.valid() && (width != 0 || height != 0))
{
const angle::Format &textureFormat = vkFormat.textureFormat();
@@ -87,7 +80,8 @@
(textureFormat.redBits > 0 ? VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT : 0) |
(isDepthOrStencilFormat ? VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT : 0);
- ANGLE_TRY(mImage.init2D(device, mRenderTarget.extents, vkFormat, 1, usage));
+ gl::Extents extents(static_cast<int>(width), static_cast<int>(height), 1);
+ ANGLE_TRY(mImage.init2D(device, extents, vkFormat, 1, usage));
VkMemoryPropertyFlags flags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
ANGLE_TRY(mImage.initMemory(device, renderer->getMemoryProperties(), flags));