Class EXTPrivateData

java.lang.Object
org.lwjgl.vulkan.EXTPrivateData

public class EXTPrivateData extends 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

Vulkan APIs in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.

Examples
  • In progress
Name String
VK_EXT_private_data
Extension Type
Device extension
Registered Extension Number
296
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Version 1.1
Deprecation State
Contact
Other Extension Metadata
Last Modified Date
2020-03-25
IP Status
No known IP claims.
Contributors
  • Matthew Rusch, NVIDIA
  • Nuno Subtil, NVIDIA
  • Piers Daniell, NVIDIA
  • Jeff Bolz, NVIDIA
  • Field Details

  • Method Details

    • 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, 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 - application-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, 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 application-defined data is returned. 0 will be written in the absence of a previous call to vkSetPrivateData using the object specified by objectHandle.
    • vkCreatePrivateDataSlotEXT

      public static int vkCreatePrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pPrivateDataSlot)
      Array version of: CreatePrivateDataSlotEXT
    • vkGetPrivateDataEXT

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