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