Get appropriate VkBufferUsageFlags for creation based on Usage.
- Returns
- VkBufferUsageFlags to be used when creating VkBuffer.
Definition at line 218 of file VKBuffer.cpp.
219{
220 vk::BufferUsageFlags flags = vk::BufferUsageFlagBits::eTransferSrc | vk::BufferUsageFlagBits::eTransferDst;
221
224 break;
227 flags |= vk::BufferUsageFlagBits::eStorageBuffer;
228 break;
230 flags |= vk::BufferUsageFlagBits::eVertexBuffer | vk::BufferUsageFlagBits::eStorageBuffer;
231 break;
233 flags |= vk::BufferUsageFlagBits::eIndexBuffer;
234 break;
236 flags |= vk::BufferUsageFlagBits::eUniformBuffer;
237 break;
238 }
239
240 return flags;
241}
@ UNIFORM
Uniform buffer (host-visible when requested)
@ COMPUTE
Storage buffer for compute shaders.
@ STAGING
Host-visible staging buffer (CPU-writable)
@ DEVICE
Device-local GPU-only buffer.
References COMPUTE, DEVICE, INDEX, m_usage, STAGING, UNIFORM, and VERTEX.