C Specification

To store user defined data in a slot associated with a Vulkan object, call:

// Provided by VK_EXT_private_data
VkResult vkSetPrivateDataEXT(
    VkDevice                                    device,
    VkObjectType                                objectType,
    uint64_t                                    objectHandle,
    VkPrivateDataSlotEXT                        privateDataSlot,
    uint64_t                                    data);


  • device is the device that created the object.

  • objectType is a VkObjectType specifying the type of object to associate data with.

  • objectHandle is a handle to the object to associate data with.

  • privateDataSlot is a handle to a VkPrivateDataSlotEXT specifying location of private data storage.

  • data is user defined data to associate the object with. This data will be stored at privateDataSlot.


Valid Usage
  • objectHandle must be device or a child of device

  • objectHandle must be a valid handle to an object of type objectType

Valid Usage (Implicit)
  • device must be a valid VkDevice handle

  • objectType must be a valid VkObjectType value

  • privateDataSlot must be a valid VkPrivateDataSlotEXT handle

  • privateDataSlot must have been created, allocated, or retrieved from device

Return Codes
On success, this command returns

On failure, this command returns

See Also

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.

Copyright (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0