Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
device
is the logical device associated with the creation of the object(s) holding the private data slot.
pCreateInfo
is a pointer to aPrivateDataSlotCreateInfoEXT
pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pPrivateDataSlot
is a pointer to aPrivateDataSlotEXT
handle in which the resulting private data slot is returned
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 :: forall io. MonadIO io => Device -> PrivateDataSlotEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyPrivateDataSlotEXT - Destroy a private data slot
Parameters
device
is the logical device associated with the creation of the object(s) holding the private data slot.
pAllocator
controls host memory allocation as described in the Memory Allocation chapter.privateDataSlot
is 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
device
is the device that created the object.
objectType
is aObjectType
specifying the type of object to associate data with.objectHandle
is a handle to the object to associate data with.privateDataSlot
is a handle to aPrivateDataSlotEXT
specifying location of private data storage.data
is 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
device
is the device that created the object
objectType
is aObjectType
specifying the type of object data is associated with.objectHandle
is a handle to the object data is associated with.privateDataSlot
is a handle to aPrivateDataSlotEXT
specifying location of private data pointer storage.pData
is a pointer to specify where user data is returned.0
will be written in the absence of a previous call tosetPrivateDataEXT
using 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
DevicePrivateDataCreateInfoEXT | |
|
Instances
data PrivateDataSlotCreateInfoEXT Source #
VkPrivateDataSlotCreateInfoEXT - Structure specifying the parameters of private data slot construction
Valid Usage (Implicit)
See Also
PrivateDataSlotCreateFlagsEXT
,
StructureType
,
createPrivateDataSlotEXT
PrivateDataSlotCreateInfoEXT | |
|
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
PhysicalDevicePrivateDataFeaturesEXT | |
|
Instances
newtype PrivateDataSlotCreateFlagBitsEXT Source #
VkPrivateDataSlotCreateFlagBitsEXT - Bitmask specifying additional parameters for private data slot creation
See Also
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