Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTPrivateData

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

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
VK_EXT_private_data
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
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

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_EXT_PRIVATE_DATA_SPEC_VERSION

The extension specification version.

public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkCreatePrivateDataSlotEXT(VkDevice device, long pCreateInfo, long pAllocator, long pPrivateDataSlot)

Unsafe version of: CreatePrivateDataSlotEXT

public static void
nvkDestroyPrivateDataSlotEXT(VkDevice device, long privateDataSlot, long pAllocator)

Unsafe version of: DestroyPrivateDataSlotEXT

public static void
nvkGetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, long pData)

Unsafe version of: GetPrivateDataEXT

public static int
vkCreatePrivateDataSlotEXT(VkDevice
the logical device associated with the creation of the object(s) holding the private data slot.
device
,
VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks
controls host memory allocation as described in the Memory Allocation chapter.
pAllocator
,
LongBuffer
a pointer to a VkPrivateDataSlot handle in which the resulting private data slot is returned
pPrivateDataSlot
)

See CreatePrivateDataSlot.

public static int
vkCreatePrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pPrivateDataSlot)

Array version of: CreatePrivateDataSlotEXT

public static void
vkDestroyPrivateDataSlotEXT(VkDevice
the logical device associated with the creation of the object(s) holding the private data slot.
device
,
long
the private data slot to destroy.
privateDataSlot
,
VkAllocationCallbacks
controls host memory allocation as described in the Memory Allocation chapter.
pAllocator
)

See DestroyPrivateDataSlot.

public static void
vkGetPrivateDataEXT(VkDevice
the device that created the object
device
,
int
a VkObjectType specifying the type of object data is associated with.
objectType
,
long
a handle to the object data is associated with.
objectHandle
,
long
a handle to a VkPrivateDataSlot specifying location of private data pointer storage.
privateDataSlot
,
LongBuffer
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.
pData
)

See GetPrivateData.

public static void
vkGetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, long[] pData)

Array version of: GetPrivateDataEXT

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

See SetPrivateData.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_EXT_PRIVATE_DATA_EXTENSION_NAMEback to summary
public static final String VK_EXT_PRIVATE_DATA_EXTENSION_NAME

The extension name.

VK_EXT_PRIVATE_DATA_SPEC_VERSIONback to summary
public static final int VK_EXT_PRIVATE_DATA_SPEC_VERSION

The extension specification version.

VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXTback to summary
public static final int VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT

Extends VkObjectType.

VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT

Extends VkStructureType.

Enum values:

Constructor Detail

EXTPrivateDataback to summary
protected EXTPrivateData()

Method Detail

nvkCreatePrivateDataSlotEXTback to summary
public static int nvkCreatePrivateDataSlotEXT(VkDevice device, long pCreateInfo, long pAllocator, long pPrivateDataSlot)

Unsafe version of: CreatePrivateDataSlotEXT

nvkDestroyPrivateDataSlotEXTback to summary
public static void nvkDestroyPrivateDataSlotEXT(VkDevice device, long privateDataSlot, long pAllocator)

Unsafe version of: DestroyPrivateDataSlotEXT

nvkGetPrivateDataEXTback to summary
public static void nvkGetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, long pData)

Unsafe version of: GetPrivateDataEXT

vkCreatePrivateDataSlotEXTback to summary
public static int vkCreatePrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, LongBuffer pPrivateDataSlot)

See CreatePrivateDataSlot.

Parameters
device:VkDevice

the logical device associated with the creation of the object(s) holding the private data slot.

pCreateInfo:VkPrivateDataSlotCreateInfo

a pointer to a VkPrivateDataSlotCreateInfo

pAllocator:VkAllocationCallbacks

controls host memory allocation as described in the Memory Allocation chapter.

pPrivateDataSlot:LongBuffer

a pointer to a VkPrivateDataSlot handle in which the resulting private data slot is returned

Annotations
@NativeType:VkResult
vkCreatePrivateDataSlotEXTback to summary
public static int vkCreatePrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotCreateInfo pCreateInfo, VkAllocationCallbacks pAllocator, long[] pPrivateDataSlot)

Array version of: CreatePrivateDataSlotEXT

Annotations
@NativeType:VkResult
vkDestroyPrivateDataSlotEXTback to summary
public static void vkDestroyPrivateDataSlotEXT(VkDevice device, long privateDataSlot, VkAllocationCallbacks pAllocator)

See DestroyPrivateDataSlot.

Parameters
device:VkDevice

the logical device associated with the creation of the object(s) holding the private data slot.

privateDataSlot:long

the private data slot to destroy.

pAllocator:VkAllocationCallbacks

controls host memory allocation as described in the Memory Allocation chapter.

vkGetPrivateDataEXTback to summary
public static void vkGetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, LongBuffer pData)

See GetPrivateData.

Parameters
device:VkDevice

the device that created the object

objectType:int

a VkObjectType specifying the type of object data is associated with.

objectHandle:long

a handle to the object data is associated with.

privateDataSlot:long

a handle to a VkPrivateDataSlot specifying location of private data pointer storage.

pData:LongBuffer

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.

vkGetPrivateDataEXTback to summary
public static void vkGetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, long[] pData)

Array version of: GetPrivateDataEXT

vkSetPrivateDataEXTback to summary
public static int vkSetPrivateDataEXT(VkDevice device, int objectType, long objectHandle, long privateDataSlot, long data)

See SetPrivateData.

Parameters
device:VkDevice

the device that created the object.

objectType:int

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

objectHandle:long

a handle to the object to associate data with.

privateDataSlot:long

a handle to a VkPrivateDataSlot specifying location of private data storage.

data:long

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

Annotations
@NativeType:VkResult