If a VkBufferUsageFlags2CreateInfoKHR structure is present in the pNext chain, VkBufferUsageFlags2CreateInfoKHR::usage from that structure is used instead of usage from this structure.
size must be greater than 0sharingMode is SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a valid pointer to an array of queueFamilyIndexCount uint32_t valuessharingMode is SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1sharingMode is SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by either GetPhysicalDeviceQueueFamilyProperties or GetPhysicalDeviceQueueFamilyProperties2 for the physicalDevice that was used to create devicesparseBinding feature is not enabled, flags must not contain BUFFER_CREATE_SPARSE_BINDING_BITsparseResidencyBuffer feature is not enabled, flags must not contain BUFFER_CREATE_SPARSE_RESIDENCY_BITsparseResidencyAliased feature is not enabled, flags must not contain BUFFER_CREATE_SPARSE_ALIASED_BITflags contains BUFFER_CREATE_SPARSE_RESIDENCY_BIT or BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain BUFFER_CREATE_SPARSE_BINDING_BITpNext chain includes a VkExternalMemoryBufferCreateInfo structure, its handleTypes member must only contain bits that are also in VkExternalBufferProperties::externalMemoryProperties.compatibleHandleTypes, as returned by GetPhysicalDeviceExternalBufferProperties with pExternalBufferInfo→handleType equal to any one of the handle types specified in VkExternalMemoryBufferCreateInfo::handleTypesprotectedMemory feature is not enabled, flags must not contain BUFFER_CREATE_PROTECTED_BITBUFFER_CREATE_SPARSE_BINDING_BIT, BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or BUFFER_CREATE_SPARSE_ALIASED_BIT are set, BUFFER_CREATE_PROTECTED_BIT must not also be setpNext chain includes a VkDedicatedAllocationBufferCreateInfoNV structure, and the dedicatedAllocation member of the chained structure is TRUE, then flags must not include BUFFER_CREATE_SPARSE_BINDING_BIT, BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or BUFFER_CREATE_SPARSE_ALIASED_BITVkBufferDeviceAddressCreateInfoEXT::deviceAddress is not zero, flags must include BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BITVkBufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress is not zero, flags must include BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BITflags includes BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, the bufferDeviceAddressCaptureReplay or bufferDeviceAddressCaptureReplayEXT feature must be enabledusage includes BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR or BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR, then the pNext chain must include a VkVideoProfileListInfoKHR structure with profileCount greater than 0 and pProfiles including at least one VkVideoProfileInfoKHR structure with a videoCodecOperation member specifying a decode operationusage includes BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR or BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR, then the pNext chain must include a VkVideoProfileListInfoKHR structure with profileCount greater than 0 and pProfiles including at least one VkVideoProfileInfoKHR structure with a videoCodecOperation member specifying an encode operationsize must be less than or equal to VkPhysicalDeviceMaintenance4Properties::maxBufferSizeusage includes BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT, creating this VkBuffer must not cause the total required space for all currently valid buffers using this flag on the device to exceed VkPhysicalDeviceDescriptorBufferPropertiesEXT::samplerDescriptorBufferAddressSpaceSize or VkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferAddressSpaceSizeusage includes BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT, creating this VkBuffer must not cause the total required space for all currently valid buffers using this flag on the device to exceed VkPhysicalDeviceDescriptorBufferPropertiesEXT::resourceDescriptorBufferAddressSpaceSize or VkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferAddressSpaceSizeflags includes BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, the descriptorBufferCaptureReplay feature must be enabledpNext chain includes a VkOpaqueCaptureDescriptorDataCreateInfoEXT structure, flags must contain BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXTusage includes BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, the descriptorBufferPushDescriptors feature must be enabledusage includes BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT VkPhysicalDeviceDescriptorBufferPropertiesEXT::bufferlessPushDescriptors must be FALSEusage includes BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, usage must contain at least one of BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT or BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXTpNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must be a valid combination of VkBufferUsageFlagBits valuespNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must not be 0sType must be STRUCTURE_TYPE_BUFFER_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkBufferDeviceAddressCreateInfoEXT, VkBufferOpaqueCaptureAddressCreateInfo, VkBufferUsageFlags2CreateInfoKHR, VkDedicatedAllocationBufferCreateInfoNV, VkExternalMemoryBufferCreateInfo, VkOpaqueCaptureDescriptorDataCreateInfoEXT, or VkVideoProfileListInfoKHRsType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkBufferCreateFlagBits valuessharingMode must be a valid VkSharingMode valueVkDeviceBufferMemoryRequirements, CreateBuffer
struct VkBufferCreateInfo {
VkStructureType sType;
void const * pNext;
VkBufferCreateFlags flags;
VkDeviceSize size;
VkBufferUsageFlags usage;
VkSharingMode sharingMode;
uint32_t queueFamilyIndexCount;
uint32_t const * pQueueFamilyIndices;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkBufferCreateInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PQUEUEFAMILYINDICES
The struct member offsets. |
| public static final int | QUEUEFAMILYINDEXCOUNT
The struct member offsets. |
| public static final int | SHARINGMODE
The struct member offsets. |
| public static final int | SIZE
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | USAGE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkBufferCreateInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkBufferCreateInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBufferCreateInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | |
| public static VkBufferCreateInfo. | |
| protected VkBufferCreateInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkBufferCreateInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | |
| public int | |
| public VkBufferCreateInfo | |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkBufferCreateInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBufferCreateInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo | |
| public static VkBufferCreateInfo. | |
| public static VkBufferCreateInfo. | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static IntBuffer | |
| public static void | |
| public static int | |
| public static void | nqueueFamilyIndexCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkBufferCreateInfo | |
| public VkBufferCreateInfo | pNext(VkBufferDeviceAddressCreateInfoEXT value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkBufferOpaqueCaptureAddressCreateInfo value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkBufferOpaqueCaptureAddressCreateInfoKHR value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkBufferUsageFlags2CreateInfoKHR value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkDedicatedAllocationBufferCreateInfoNV value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkExternalMemoryBufferCreateInfo value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkExternalMemoryBufferCreateInfoKHR value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkOpaqueCaptureDescriptorDataCreateInfoEXT value)
Prepends the specified |
| public VkBufferCreateInfo | pNext(VkVideoProfileListInfoKHR value)
Prepends the specified |
| public IntBuffer | |
| public VkBufferCreateInfo | pQueueFamilyIndices(IntBuffer value)
Sets the address of the specified |
| public int | |
| public VkBufferCreateInfo | |
| public VkBufferCreateInfo | |
| public VkBufferCreateInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | sharingMode()
a |
| public VkBufferCreateInfo | |
| public long | |
| public VkBufferCreateInfo | |
| public int | |
| public int | |
| public VkBufferCreateInfo | |
| public VkBufferCreateInfo | |
| public int | |
| public VkBufferCreateInfo |