VKBUFFERCREATEINFO(3)

NAME
VkBufferCreateInfo - Structure specifying the parameters of a newly created buffer object.

C SPECIFICATION

    typedef struct VkBufferCreateInfo {
        VkStructureType        sType;
        const void*            pNext;
        VkBufferCreateFlags    flags;
        VkDeviceSize           size;
        VkBufferUsageFlags     usage;
        VkSharingMode          sharingMode;
        uint32_t               queueFamilyIndexCount;
        const uint32_t*        pQueueFamilyIndices;
    } VkBufferCreateInfo;

FIELDS

sType
    Structure type. Must be VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO.

pNext
    Pointer to next structure in the structure chain when applicable.

size
    Size of the buffer in bytes.

usage
    Allowed usages of the buffer (see VkBufferUsageFlags for more detail).

flags
    Other properties of the buffer (see VkBufferCreateFlags for more detail).

sharingMode
    Sharing mode used for the buffer (see VkSharingMode for more detail).

queueFamilyIndexCount
    Number of queue families that can access the buffer in case sharingMode is VK_SHARING_MODE_CONCURRENT.

pQueueFamilyIndices
    Array of queueFamilyIndexCount queue family indices specifying the set of queue families that can access the buffer in case sharingMode is VK_SHARING_MODE_CONCURRENT.

DESCRIPTION

This structure is used to specify the parameters of buffer objects created using vkCreateBuffer.

VALID USAGE

    • sType must be VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO

    • pNext must be NULL

    • flags must be a valid combination of VkBufferCreateFlagBits values

    • usage must be a valid combination of VkBufferUsageFlagBits values

    • usage must not be 0

    • sharingMode must be a valid VkSharingMode value

    • size must be greater than 0

    • If sharingMode is VK_SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a pointer to an array of queueFamilyIndexCount uint32_t values

    • If sharingMode is VK_SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1

    • If the sparse bindings feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT

    • If the sparse buffer residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT

    • If the sparse aliased residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_ALIASED_BIT

    • If flags contains VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT

SEE ALSO

vkCreateBuffer

COPYRIGHT

Copyright © 2014-2016 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

AUTHOR

Khronos Group
    Author.