VK: Support pbuffer surfaces.

TEST=PbufferTest
TEST=dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_pbuffer
TEST=dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer
TEST=dEQP-EGL.functional.render.single_context.gles2.rgba8888_pbuffer
TEST=dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer

BUG=angleproject:2622

Change-Id: I99f64689c274fbb565b365f4a05b52252528fc38
Reviewed-on: https://chromium-review.googlesource.com/1117030
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
index 04c2e22..13cc63f 100644
--- a/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp
@@ -84,10 +84,7 @@
         VkMemoryPropertyFlags flags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
         ANGLE_TRY(mImage.initMemory(device, renderer->getMemoryProperties(), flags));
 
-        VkImageAspectFlags aspect =
-            (textureFormat.depthBits > 0 ? VK_IMAGE_ASPECT_DEPTH_BIT : 0) |
-            (textureFormat.stencilBits > 0 ? VK_IMAGE_ASPECT_STENCIL_BIT : 0) |
-            (textureFormat.redBits > 0 ? VK_IMAGE_ASPECT_COLOR_BIT : 0);
+        VkImageAspectFlags aspect = vk::GetFormatAspectFlags(textureFormat);
 
         ANGLE_TRY(mImage.initImageView(device, gl::TextureType::_2D, aspect, gl::SwizzleState(),
                                        &mImageView, 1));