Class EXTPrivateData


  • public class EXTPrivateData
    extends java.lang.Object
    This extension is a device extension which enables attaching arbitrary payloads to Vulkan objects. It introduces the idea of private data slots as a means of storing a 64-bit unsigned integer of application defined data. Private data slots can be created or destroyed any time an associated device is available. Private data slots can be reserved at device creation time, and limiting use to the amount reserved will allow the extension to exhibit better performance characteristics.
    Promotion to Vulkan 1.3

    Functionality in this extension is included in core Vulkan 1.3, with the EXT suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.

    Examples
    • In progress
    VK_EXT_private_data
    Name String
    VK_EXT_private_data
    Extension Type
    Device extension
    Registered Extension Number
    296
    Revision
    1
    Extension and Version Dependencies
    • Requires Vulkan 1.0
    Deprecation state
    Contact
    Other Extension Metadata
    Last Modified Date
    2020-03-25
    Interactions and External Dependencies
    • Promoted to Vulkan 1.3 Core
    IP Status
    No known IP claims.
    Contributors
    • Matthew Rusch, NVIDIA
    • Nuno Subtil, NVIDIA
    • Piers Daniell, NVIDIA
    • Jeff Bolz, NVIDIA
    • Method Detail

      • nvkCreatePrivateDataSlotEXT

        public static int nvkCreatePrivateDataSlotEXT​(org.lwjgl.vulkan.VkDevice device,
                                                      long pCreateInfo,
                                                      long pAllocator,
                                                      long pPrivateDataSlot)
        Unsafe version of: CreatePrivateDataSlotEXT
      • vkCreatePrivateDataSlotEXT

        public static int vkCreatePrivateDataSlotEXT​(org.lwjgl.vulkan.VkDevice device,
                                                     VkPrivateDataSlotCreateInfo pCreateInfo,
                                                     @Nullable
                                                     VkAllocationCallbacks pAllocator,
                                                     java.nio.LongBuffer pPrivateDataSlot)
        Parameters:
        device - the logical device associated with the creation of the object(s) holding the private data slot.
        pCreateInfo - a pointer to a VkPrivateDataSlotCreateInfo
        pAllocator - controls host memory allocation as described in the Memory Allocation chapter.
        pPrivateDataSlot - a pointer to a VkPrivateDataSlot handle in which the resulting private data slot is returned
      • nvkDestroyPrivateDataSlotEXT

        public static void nvkDestroyPrivateDataSlotEXT​(org.lwjgl.vulkan.VkDevice device,
                                                        long privateDataSlot,
                                                        long pAllocator)
        Unsafe version of: DestroyPrivateDataSlotEXT
      • vkDestroyPrivateDataSlotEXT

        public static void vkDestroyPrivateDataSlotEXT​(org.lwjgl.vulkan.VkDevice device,
                                                       long privateDataSlot,
                                                       @Nullable
                                                       VkAllocationCallbacks pAllocator)
        Parameters:
        device - the logical device associated with the creation of the object(s) holding the private data slot.
        privateDataSlot - the private data slot to destroy.
        pAllocator - controls host memory allocation as described in the Memory Allocation chapter.
      • vkSetPrivateDataEXT

        public static int vkSetPrivateDataEXT​(org.lwjgl.vulkan.VkDevice device,
                                              int objectType,
                                              long objectHandle,
                                              long privateDataSlot,
                                              long data)
        Parameters:
        device - the device that created the object.
        objectType - a VkObjectType specifying the type of object to associate data with.
        objectHandle - a handle to the object to associate data with.
        privateDataSlot - a handle to a VkPrivateDataSlot specifying location of private data storage.
        data - user defined data to associate the object with. This data will be stored at privateDataSlot.
      • nvkGetPrivateDataEXT

        public static void nvkGetPrivateDataEXT​(org.lwjgl.vulkan.VkDevice device,
                                                int objectType,
                                                long objectHandle,
                                                long privateDataSlot,
                                                long pData)
        Unsafe version of: GetPrivateDataEXT
      • vkGetPrivateDataEXT

        public static void vkGetPrivateDataEXT​(org.lwjgl.vulkan.VkDevice device,
                                               int objectType,
                                               long objectHandle,
                                               long privateDataSlot,
                                               java.nio.LongBuffer pData)
        Parameters:
        device - the device that created the object
        objectType - a VkObjectType specifying the type of object data is associated with.
        objectHandle - a handle to the object data is associated with.
        privateDataSlot - a handle to a VkPrivateDataSlot specifying location of private data pointer storage.
        pData - a pointer to specify where user data is returned. 0 will be written in the absence of a previous call to vkSetPrivateData using the object specified by objectHandle.
      • vkGetPrivateDataEXT

        public static void vkGetPrivateDataEXT​(org.lwjgl.vulkan.VkDevice device,
                                               int objectType,
                                               long objectHandle,
                                               long privateDataSlot,
                                               long[] pData)
        Array version of: GetPrivateDataEXT