Vulkan: Support EGL images sourced from cube maps.
Store an image array offset and source texture type in ImageVk to select the
correct cube face from the source texture.
BUG=angleproject:2668
Change-Id: I03ad25feccb769c906dd28fb573ec342e7816863
Reviewed-on: https://chromium-review.googlesource.com/c/1422542
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
index 073af25..ef49e38 100644
--- a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
@@ -139,10 +139,12 @@
VkImageAspectFlags aspect = vk::GetFormatAspectFlags(textureFormat);
- ANGLE_TRY(mImage->initImageView(contextVk, gl::TextureType::_2D, aspect, gl::SwizzleState(),
- &mImageView, imageVk->getImageLevel(), 1));
+ ANGLE_TRY(mImage->initLayerImageView(contextVk, imageVk->getImageTextureType(), aspect,
+ gl::SwizzleState(), &mImageView, imageVk->getImageLevel(),
+ 1, imageVk->getImageLayer(), 1));
- mRenderTarget.init(mImage, &mImageView, imageVk->getImageLevel(), 0, nullptr);
+ mRenderTarget.init(mImage, &mImageView, imageVk->getImageLevel(), imageVk->getImageLayer(),
+ nullptr);
return angle::Result::Continue;
}