Get appropriate VkImageUsageFlags based on Usage.
- Returns
- VkImageUsageFlags to use when creating VkImage
Definition at line 35 of file VKImage.cpp.
36{
37 vk::ImageUsageFlags flags = vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst;
38
41 flags |= vk::ImageUsageFlagBits::eSampled;
42 break;
43
45 flags |= vk::ImageUsageFlagBits::eColorAttachment | vk::ImageUsageFlagBits::eSampled;
46 break;
47
49 flags |= vk::ImageUsageFlagBits::eDepthStencilAttachment | vk::ImageUsageFlagBits::eSampled;
50 break;
51
53 flags |= vk::ImageUsageFlagBits::eStorage | vk::ImageUsageFlagBits::eSampled;
54 break;
55
57
58 break;
59
61
62 break;
63
65
66
67 break;
68 }
69
70 return flags;
71}
@ RENDER_TARGET
Color attachment for rendering.
@ STORAGE
Storage image (compute shader read/write)
@ TRANSFER_SRC
Transfer source.
@ TRANSFER_DST
Transfer destination.
@ STAGING
Host-visible staging image (rare)
@ TEXTURE_2D
Sampled texture (shader read)
@ DEPTH_STENCIL
Depth/stencil attachment.
References DEPTH_STENCIL, m_usage, RENDER_TARGET, STAGING, STORAGE, TEXTURE_2D, TRANSFER_DST, and TRANSFER_SRC.