{-# language CPP #-} -- | = 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 -- -- -- [__Contact__] -- -- - Matthew Rusch -- > > -- -- == 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 -- -- - 'PrivateDataSlotEXT' -- -- == New Commands -- -- - 'createPrivateDataSlotEXT' -- -- - 'destroyPrivateDataSlotEXT' -- -- - 'getPrivateDataEXT' -- -- - 'setPrivateDataEXT' -- -- == New Structures -- -- - 'PrivateDataSlotCreateInfoEXT' -- -- - Extending 'Vulkan.Core10.Device.DeviceCreateInfo': -- -- - 'DevicePrivateDataCreateInfoEXT' -- -- - Extending -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', -- 'Vulkan.Core10.Device.DeviceCreateInfo': -- -- - 'PhysicalDevicePrivateDataFeaturesEXT' -- -- == New Bitmasks -- -- - 'PrivateDataSlotCreateFlagsEXT' -- -- == New Enum Constants -- -- - 'EXT_PRIVATE_DATA_EXTENSION_NAME' -- -- - 'EXT_PRIVATE_DATA_SPEC_VERSION' -- -- - Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType': -- -- - 'OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT' -- -- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -- -- - 'STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT' -- -- - 'STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT' -- -- - 'STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT' -- -- == 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 -- -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly. module Vulkan.Extensions.VK_EXT_private_data ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT , pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT , pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT , pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT , createPrivateDataSlotEXT , destroyPrivateDataSlotEXT , setPrivateDataEXT , getPrivateDataEXT , PrivateDataSlotCreateFlagsEXT , PrivateDataSlotEXT , DevicePrivateDataCreateInfoEXT , PrivateDataSlotCreateInfoEXT , PhysicalDevicePrivateDataFeaturesEXT , EXT_PRIVATE_DATA_SPEC_VERSION , pattern EXT_PRIVATE_DATA_SPEC_VERSION , EXT_PRIVATE_DATA_EXTENSION_NAME , pattern EXT_PRIVATE_DATA_EXTENSION_NAME ) where import Data.String (IsString) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (createPrivateDataSlot) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (destroyPrivateDataSlot) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (getPrivateData) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (setPrivateData) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (DevicePrivateDataCreateInfo) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (PhysicalDevicePrivateDataFeatures) import Vulkan.Core13.Handles (PrivateDataSlot) import Vulkan.Core13.Enums.PrivateDataSlotCreateFlags (PrivateDataSlotCreateFlags) import Vulkan.Core13.Promoted_From_VK_EXT_private_data (PrivateDataSlotCreateInfo) import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_PRIVATE_DATA_SLOT)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO)) -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT" pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT" pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO -- No documentation found for TopLevel "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT" pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = OBJECT_TYPE_PRIVATE_DATA_SLOT -- No documentation found for TopLevel "vkCreatePrivateDataSlotEXT" createPrivateDataSlotEXT = createPrivateDataSlot -- No documentation found for TopLevel "vkDestroyPrivateDataSlotEXT" destroyPrivateDataSlotEXT = destroyPrivateDataSlot -- No documentation found for TopLevel "vkSetPrivateDataEXT" setPrivateDataEXT = setPrivateData -- No documentation found for TopLevel "vkGetPrivateDataEXT" getPrivateDataEXT = getPrivateData -- No documentation found for TopLevel "VkPrivateDataSlotCreateFlagsEXT" type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags -- No documentation found for TopLevel "VkPrivateDataSlotEXT" type PrivateDataSlotEXT = PrivateDataSlot -- No documentation found for TopLevel "VkDevicePrivateDataCreateInfoEXT" type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo -- No documentation found for TopLevel "VkPrivateDataSlotCreateInfoEXT" type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo -- No documentation found for TopLevel "VkPhysicalDevicePrivateDataFeaturesEXT" type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures type EXT_PRIVATE_DATA_SPEC_VERSION = 1 -- No documentation found for TopLevel "VK_EXT_PRIVATE_DATA_SPEC_VERSION" pattern EXT_PRIVATE_DATA_SPEC_VERSION :: forall a . Integral a => a pattern EXT_PRIVATE_DATA_SPEC_VERSION = 1 type EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data" -- No documentation found for TopLevel "VK_EXT_PRIVATE_DATA_EXTENSION_NAME" pattern EXT_PRIVATE_DATA_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data"