Package org.lwjgl.vulkan
Class EXTPrivateData
- java.lang.Object
-
- org.lwjgl.vulkan.EXTPrivateData
-
public class EXTPrivateData extends java.lang.ObjectThis 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
- Promoted to Vulkan 1.3
- Contact
- Matthew Rusch mattruschnv
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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringVK_EXT_PRIVATE_DATA_EXTENSION_NAMEThe extension name.static intVK_EXT_PRIVATE_DATA_SPEC_VERSIONThe extension specification version.static intVK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXTExtendsVkObjectType.static intVK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXTExtendsVkStructureType.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intnvkCreatePrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pPrivateDataSlot)Unsafe version of:CreatePrivateDataSlotEXTstatic voidnvkDestroyPrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, long privateDataSlot, long pAllocator)Unsafe version of:DestroyPrivateDataSlotEXTstatic voidnvkGetPrivateDataEXT(org.lwjgl.vulkan.VkDevice device, int objectType, long objectHandle, long privateDataSlot, long pData)Unsafe version of:GetPrivateDataEXTstatic intvkCreatePrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pPrivateDataSlot)Array version of:CreatePrivateDataSlotEXTstatic intvkCreatePrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, java.nio.LongBuffer pPrivateDataSlot)static voidvkDestroyPrivateDataSlotEXT(org.lwjgl.vulkan.VkDevice device, long privateDataSlot, VkAllocationCallbacks pAllocator)static voidvkGetPrivateDataEXT(org.lwjgl.vulkan.VkDevice device, int objectType, long objectHandle, long privateDataSlot, long[] pData)Array version of:GetPrivateDataEXTstatic voidvkGetPrivateDataEXT(org.lwjgl.vulkan.VkDevice device, int objectType, long objectHandle, long privateDataSlot, java.nio.LongBuffer pData)SeeGetPrivateData.static intvkSetPrivateDataEXT(org.lwjgl.vulkan.VkDevice device, int objectType, long objectHandle, long privateDataSlot, long data)SeeSetPrivateData.
-
-
-
Field Detail
-
VK_EXT_PRIVATE_DATA_SPEC_VERSION
The extension specification version.
-
VK_EXT_PRIVATE_DATA_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT
ExtendsVkStructureType.Enum values:
-
VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT
ExtendsVkObjectType.
-
-
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 aVkPrivateDataSlotCreateInfopAllocator- controls host memory allocation as described in the Memory Allocation chapter.pPrivateDataSlot- a pointer to aVkPrivateDataSlothandle 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)SeeSetPrivateData.- Parameters:
device- the device that created the object.objectType- aVkObjectTypespecifying the type of object to associate data with.objectHandle- a handle to the object to associate data with.privateDataSlot- a handle to aVkPrivateDataSlotspecifying location of private data storage.data- user defined data to associate the object with. This data will be stored atprivateDataSlot.
-
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)SeeGetPrivateData.- Parameters:
device- the device that created the objectobjectType- aVkObjectTypespecifying the type of object data is associated with.objectHandle- a handle to the object data is associated with.privateDataSlot- a handle to aVkPrivateDataSlotspecifying 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 tovkSetPrivateDatausing the object specified byobjectHandle.
-
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
-
-