vulkan-3.17: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_private_data

Description

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

New Bitmasks

New Enum Constants

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

setPrivateDataEXT :: MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("data" ::: Word64) -> io () Source #

getPrivateDataEXT :: MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> io ("data" ::: Word64) 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 #