C Specification
The VkBufferCreateInfo structure is defined as:
// Provided by VK_VERSION_1_0
typedef struct VkBufferCreateInfo {
VkStructureType sType;
const void* pNext;
VkBufferCreateFlags flags;
VkDeviceSize size;
VkBufferUsageFlags usage;
VkSharingMode sharingMode;
uint32_t queueFamilyIndexCount;
const uint32_t* pQueueFamilyIndices;
} VkBufferCreateInfo;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkBufferCreateFlagBits specifying additional parameters of the buffer. -
sizeis the size in bytes of the buffer to be created. -
usageis a bitmask of VkBufferUsageFlagBits specifying allowed usages of the buffer. -
sharingModeis a VkSharingMode value specifying the sharing mode of the buffer when it will be accessed by multiple queue families. -
queueFamilyIndexCountis the number of entries in thepQueueFamilyIndicesarray. -
pQueueFamilyIndicesis a pointer to an array of queue families that will access this buffer. It is ignored ifsharingModeis not VK_SHARING_MODE_CONCURRENT.
Description
usage defines the effective usage
flags for the buffer.
If the pNext chain includes a VkBufferUsageFlags2CreateInfo
structure, usage is ignored, and the effective usage flags are defined
by VkBufferUsageFlags2CreateInfo::usage.
If VkBufferDeviceAddressAlignmentAllocateInfoVALVE is included in the
pNext chain, and a sparse buffer is being created, the alignment for
buffer device addresses can be controlled.
For non-sparse buffers, alignment requirements are specified at device
memory allocation time in vkAllocateMemory instead.
For implementations which allocate buffer device addresses regardless at
buffer create time, the implementation is expected to allocate buffer device
addresses with alignment equal to
maxBufferDeviceAddressAllocationAlignment,
effectively ignoring any application-requested alignment.
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.