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)
device
must be a validDevice
handle
pCreateInfo
must be a valid pointer to a validPrivateDataSlotCreateInfoEXT
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure pPrivateDataSlot
must be a valid pointer to aPrivateDataSlotEXT
handle
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
AllocationCallbacks
were provided whenprivateDataSlot
was created, a compatible set of callbacks must be provided here
- If no
AllocationCallbacks
were provided whenprivateDataSlot
was created,pAllocator
must beNULL
Valid Usage (Implicit)
device
must be a validDevice
handle
- If
privateDataSlot
is notNULL_HANDLE
,privateDataSlot
must be a validPrivateDataSlotEXT
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure - If
privateDataSlot
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
privateDataSlot
must 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 |