Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_private_data - device extension
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
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
Description
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.
New Object Types
New Commands
New Structures
Extending
DeviceCreateInfo
:Extending
PhysicalDeviceFeatures2
,DeviceCreateInfo
:
New Enums
New Bitmasks
New Enum Constants
EXT_PRIVATE_DATA_SPEC_VERSION
Extending
ObjectType
:Extending
StructureType
:
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
Version History
Revision 1, 2020-01-15 (Matthew Rusch)
- Initial draft
See Also
DevicePrivateDataCreateInfoEXT
,
PhysicalDevicePrivateDataFeaturesEXT
,
PrivateDataSlotCreateFlagBitsEXT
, PrivateDataSlotCreateFlagsEXT
,
PrivateDataSlotCreateInfoEXT
, PrivateDataSlotEXT
,
createPrivateDataSlotEXT
, destroyPrivateDataSlotEXT
,
getPrivateDataEXT
, setPrivateDataEXT
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Documentation
pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType Source #
createPrivateDataSlotEXT :: MonadIO io => Device -> PrivateDataSlotCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PrivateDataSlot Source #
destroyPrivateDataSlotEXT :: MonadIO io => Device -> PrivateDataSlot -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
setPrivateDataEXT :: MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("data" ::: Word64) -> io () Source #
getPrivateDataEXT :: MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> io ("data" ::: Word64) Source #
type PrivateDataSlotEXT = PrivateDataSlot Source #
type EXT_PRIVATE_DATA_SPEC_VERSION = 1 Source #
pattern EXT_PRIVATE_DATA_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data" Source #
pattern EXT_PRIVATE_DATA_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #