Vulkan: Move image layout into helper.
Now that we're using the helper everywhere, we can clean up the
vk::Image class and move the layout tracking into ImageHelper.
Bug: angleproject:2318
Change-Id: I9636835a2a3a76f181dac629bd4182bc5815cdee
Reviewed-on: https://chromium-review.googlesource.com/980774
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/TextureVk.cpp b/src/libANGLE/renderer/vulkan/TextureVk.cpp
index d8f5168..98a7055 100644
--- a/src/libANGLE/renderer/vulkan/TextureVk.cpp
+++ b/src/libANGLE/renderer/vulkan/TextureVk.cpp
@@ -141,10 +141,7 @@
vk::CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(beginWriteResource(renderer, &commandBuffer));
VkClearColorValue black = {{0}};
- mImage.getImage().changeLayoutWithStages(
- VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
- VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, commandBuffer);
- commandBuffer->clearSingleColorImage(mImage.getImage(), black);
+ mImage.clearColor(black, commandBuffer);
}
if (!mSampler.valid())
@@ -253,16 +250,8 @@
vk::CommandBuffer *commandBuffer = nullptr;
ANGLE_TRY(beginWriteResource(renderer, &commandBuffer));
- stagingImage.getImage().changeLayoutWithStages(
- VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
- VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, commandBuffer);
- mImage.getImage().changeLayoutWithStages(
- VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
- VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, commandBuffer);
-
- gl::Box wholeRegion(0, 0, 0, size.width, size.height, size.depth);
- commandBuffer->copySingleImage(stagingImage.getImage(), mImage.getImage(), wholeRegion,
- VK_IMAGE_ASPECT_COLOR_BIT);
+ vk::ImageHelper::Copy(&stagingImage, &mImage, gl::Offset(), gl::Offset(), size,
+ VK_IMAGE_ASPECT_COLOR_BIT, commandBuffer);
// Immediately release staging image.
// TODO(jmadill): Staging image re-use.
@@ -403,10 +392,10 @@
return gl::NoError();
}
-const vk::Image &TextureVk::getImage() const
+const vk::ImageHelper &TextureVk::getImage() const
{
ASSERT(mImage.valid());
- return mImage.getImage();
+ return mImage;
}
const vk::ImageView &TextureVk::getImageView() const