Get appropriate VkImageUsageFlags based on Usage.
- Returns
- VkImageUsageFlags to use when creating VkImage
Definition at line 37 of file VKImage.cpp.
38{
39 vk::ImageUsageFlags flags = vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst;
40
43 flags |= vk::ImageUsageFlagBits::eSampled;
44 break;
45
47 flags |= vk::ImageUsageFlagBits::eColorAttachment | vk::ImageUsageFlagBits::eSampled;
48 break;
49
51 flags |= vk::ImageUsageFlagBits::eDepthStencilAttachment | vk::ImageUsageFlagBits::eSampled;
52 break;
53
55 flags |= vk::ImageUsageFlagBits::eStorage | vk::ImageUsageFlagBits::eSampled;
56 break;
57
61
62
63 break;
64 }
65
66 return flags;
67}
@ 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.