Private Data

The private data extension provides a way for users to associate arbitrary user defined data with Vulkan objects. This association is accomplished by storing 64-bit unsigned integers of user defined data in private data slots. A private data slot represents a storage allocation for one data item for each child object of the device.

An application can reserve private data slots at device creation. To reserve private data slots, insert a VkDevicePrivateDataCreateInfo in the pNext chain in VkDeviceCreateInfo before device creation. Multiple VkDevicePrivateDataCreateInfo structures can be chained together, and the sum of the requested slots will be reserved. This is an exception to the specified valid usage for structure pointer chains. Reserving slots in this manner is not strictly necessary but it may improve performance.

VkPrivateDataSlotOpaque handle to a private data slot object
vkCreatePrivateDataSlotCreate a slot for private data storage
VkPrivateDataSlotCreateInfoStructure specifying the parameters of private data slot construction
VkPrivateDataSlotCreateFlagsReserved for future use
vkDestroyPrivateDataSlotDestroy a private data slot
vkSetPrivateDataAssociate data with a Vulkan object
vkGetPrivateDataRetrieve data associated with a Vulkan object