| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_private_data
Synopsis
- createPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io PrivateDataSlotEXT
- withPrivateDataSlotEXT :: forall io r. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> Maybe AllocationCallbacks -> (io PrivateDataSlotEXT -> (PrivateDataSlotEXT -> io ()) -> r) -> r
- destroyPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- setPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> io ()
- getPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> io ("data" ::: Word64)
- data DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfoEXT {}
- data PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfoEXT {}
- data PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeaturesEXT {
- privateData :: Bool
- newtype PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBitsEXT Flags
- type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlagBitsEXT
- type EXT_PRIVATE_DATA_SPEC_VERSION = 1
- pattern EXT_PRIVATE_DATA_SPEC_VERSION :: forall a. Integral a => a
- type EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data"
- pattern EXT_PRIVATE_DATA_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype PrivateDataSlotEXT = PrivateDataSlotEXT Word64
Documentation
createPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io PrivateDataSlotEXT Source #
vkCreatePrivateDataSlotEXT - Create a slot for private data storage
Parameters
deviceis the logical device associated with the creation of the object(s) holding the private data slot.
pCreateInfois a pointer to aPrivateDataSlotCreateInfoEXTpAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pPrivateDataSlotis a pointer to aPrivateDataSlotEXThandle in which the resulting private data slot is returned
Valid Usage (Implicit)
devicemust be a validDevicehandle
pCreateInfomust be a valid pointer to a validPrivateDataSlotCreateInfoEXTstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure pPrivateDataSlotmust be a valid pointer to aPrivateDataSlotEXThandle
Return Codes
See Also
AllocationCallbacks,
Device, PrivateDataSlotCreateInfoEXT,
PrivateDataSlotEXT
withPrivateDataSlotEXT :: forall io r. MonadIO io => Device -> PrivateDataSlotCreateInfoEXT -> Maybe AllocationCallbacks -> (io PrivateDataSlotEXT -> (PrivateDataSlotEXT -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createPrivateDataSlotEXT and destroyPrivateDataSlotEXT
To ensure that destroyPrivateDataSlotEXT is always called: pass
bracket (or the allocate function from your
favourite resource management library) as the first argument.
To just extract the pair pass (,) as the first argument.
destroyPrivateDataSlotEXT :: forall io. MonadIO io => Device -> PrivateDataSlotEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyPrivateDataSlotEXT - Destroy a private data slot
Parameters
deviceis the logical device associated with the creation of the object(s) holding the private data slot.
pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.privateDataSlotis the private data slot to destroy.
See Also
setPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> io () Source #
vkSetPrivateDataEXT - Associate data with a Vulkan object
Parameters
deviceis the device that created the object.
objectTypeis aObjectTypespecifying the type of object to associate data with.objectHandleis a handle to the object to associate data with.privateDataSlotis a handle to aPrivateDataSlotEXTspecifying location of private data storage.datais user defined data to associate the object with. This data will be stored atprivateDataSlot.
Return Codes
See Also
getPrivateDataEXT :: forall io. MonadIO io => Device -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> io ("data" ::: Word64) Source #
vkGetPrivateDataEXT - Retrieve data associated with a Vulkan object
Parameters
deviceis the device that created the object
objectTypeis aObjectTypespecifying the type of object data is associated with.objectHandleis a handle to the object data is associated with.privateDataSlotis a handle to aPrivateDataSlotEXTspecifying location of private data pointer storage.pDatais a pointer to specify where user data is returned.0will be written in the absence of a previous call tosetPrivateDataEXTusing the object specified byobjectHandle.
Description
Note
Due to platform details on Android, implementations might not be able to
reliably return 0 from calls to getPrivateDataEXT for
SwapchainKHR objects on which
setPrivateDataEXT has not previously been called. This erratum is
exclusive to the Android platform and objects of type
SwapchainKHR.
Valid Usage (Implicit)
See Also
data DevicePrivateDataCreateInfoEXT Source #
VkDevicePrivateDataCreateInfoEXT - Reserve private data slots
Valid Usage (Implicit)
See Also
Constructors
| DevicePrivateDataCreateInfoEXT | |
Fields
| |
Instances
data PrivateDataSlotCreateInfoEXT Source #
VkPrivateDataSlotCreateInfoEXT - Structure specifying the parameters of private data slot construction
Valid Usage (Implicit)
See Also
PrivateDataSlotCreateFlagsEXT,
StructureType,
createPrivateDataSlotEXT
Constructors
| PrivateDataSlotCreateInfoEXT | |
Fields
| |
Instances
data PhysicalDevicePrivateDataFeaturesEXT Source #
VkPhysicalDevicePrivateDataFeaturesEXT - Structure specifying physical device support
Members
The members of the PhysicalDevicePrivateDataFeaturesEXT structure
describe the following features:
Description
If the PhysicalDevicePrivateDataFeaturesEXT structure is included in
the pNext chain of
PhysicalDeviceFeatures2,
it is filled with values indicating whether the feature is supported.
PhysicalDevicePrivateDataFeaturesEXT can also be used in the pNext
chain of DeviceCreateInfo to enable the features.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDevicePrivateDataFeaturesEXT | |
Fields
| |
Instances
newtype PrivateDataSlotCreateFlagBitsEXT Source #
VkPrivateDataSlotCreateFlagBitsEXT - Bitmask specifying additional parameters for private data slot creation
See Also
Constructors
| PrivateDataSlotCreateFlagBitsEXT Flags |
Instances
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 #
newtype PrivateDataSlotEXT Source #
VkPrivateDataSlotEXT - Opaque handle to a private data slot object
See Also
createPrivateDataSlotEXT,
destroyPrivateDataSlotEXT,
getPrivateDataEXT,
setPrivateDataEXT
Constructors
| PrivateDataSlotEXT Word64 |