| 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 Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> PrivateDataSlotCreateInfoEXT |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io PrivateDataSlotEXT |
vkCreatePrivateDataSlotEXT - Create a slot for private data storage
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 Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> PrivateDataSlotEXT |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io () |
vkDestroyPrivateDataSlotEXT - Destroy a private data slot
Valid Usage
- If
AllocationCallbackswere provided whenprivateDataSlotwas created, a compatible set of callbacks must be provided here
- If no
AllocationCallbackswere provided whenprivateDataSlotwas created,pAllocatormust beNULL
Valid Usage (Implicit)
devicemust be a validDevicehandle
- If
privateDataSlotis notNULL_HANDLE,privateDataSlotmust be a validPrivateDataSlotEXThandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure - If
privateDataSlotis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
privateDataSlotmust be externally synchronized
See Also
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> ObjectType |
|
| -> ("objectHandle" ::: Word64) |
|
| -> PrivateDataSlotEXT |
|
| -> ("data" ::: Word64) |
|
| -> io () |
vkSetPrivateDataEXT - Associate data with a Vulkan object
Return Codes
See Also
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> ObjectType |
|
| -> ("objectHandle" ::: Word64) |
|
| -> PrivateDataSlotEXT |
|
| -> io ("data" ::: Word64) |
vkGetPrivateDataEXT - Retrieve data associated with a Vulkan object
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 |