Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeFlagBits VkFlags
- pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeFlagBits
- pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeFlagBits
- pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeFlagBits
- pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeFlagBits
- newtype VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureFlagBits VkFlags
- pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureFlagBits
- pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureFlagBits
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: VkStructureType
- vkGetPhysicalDeviceExternalFenceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()
- data VkPhysicalDeviceExternalFenceInfo = VkPhysicalDeviceExternalFenceInfo {}
- data VkExternalFenceProperties = VkExternalFenceProperties {}
- type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeFlagBits
- type VkExternalFenceFeatureFlags = VkExternalFenceFeatureFlagBits
Documentation
newtype VkExternalFenceHandleTypeFlagBits Source #
VkExternalFenceHandleTypeFlagBits - Bitmask of valid external fence handle types
Description
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
specifies a POSIX file descriptor handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the POSIX system callsdup
,dup2
,close
, and the non-standard system calldup3
. Additionally, it must be transportable over a socket using anSCM_RIGHTS
control message. It owns a reference to the underlying synchronization primitive represented by its Vulkan fence object.
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
specifies an NT handle that has only limited valid usage outside of Vulkan and other compatible APIs. It must be compatible with the functionsDuplicateHandle
,CloseHandle
,CompareObjectHandles
,GetHandleInformation
, andSetHandleInformation
. It owns a reference to the underlying synchronization primitive represented by its Vulkan fence object.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
specifies a global share handle that has only limited valid usage outside of Vulkan and other compatible APIs. It is not compatible with any native APIs. It does not own a reference to the underlying synchronization primitive represented by its Vulkan fence object, and will therefore become invalid when all Vulkan fence objects associated with it are destroyed.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
specifies a POSIX file descriptor handle to a Linux Sync File or Android Fence. It can be used with any native API accepting a valid sync file or fence as input. It owns a reference to the underlying synchronization primitive associated with the file descriptor. Implementations which support importing this handle type must accept any type of sync or fence FD supported by the native system they are running on.
Some external fence handle types can only be shared within the same underlying physical device and/or the same driver version, as defined in the following table:
Handle type | VkPhysicalDeviceIDProperties ::driverUUID | VkPhysicalDeviceIDProperties ::deviceUUID |
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT | Must match | Must match |
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT | Must match | Must match |
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT | Must match | Must match |
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT | No restriction | No restriction |
External fence handle types compatibility
See Also
VkExternalFenceHandleTypeFlags
,
VkFenceGetFdInfoKHR
,
VkFenceGetWin32HandleInfoKHR
,
VkImportFenceFdInfoKHR
,
VkImportFenceWin32HandleInfoKHR
,
VkPhysicalDeviceExternalFenceInfo
Instances
pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeFlagBits Source #
pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeFlagBits Source #
newtype VkExternalFenceFeatureFlagBits Source #
VkExternalFenceFeatureFlagBits - Bitfield describing features of an external fence handle type
See Also
Instances
pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureFlagBits Source #
VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT
specifies handles of this
type can be exported from Vulkan fence objects.
pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureFlagBits Source #
VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
specifies handles of this
type can be imported to Vulkan fence objects.
vkGetPhysicalDeviceExternalFenceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO () Source #
vkGetPhysicalDeviceExternalFenceProperties - Function for querying external fence handle capabilities.
Parameters
physicalDevice
is the physical device from which to query the fence capabilities.
pExternalFenceInfo
points to an instance of theVkPhysicalDeviceExternalFenceInfo
structure, describing the parameters that would be consumed byvkCreateFence
.pExternalFenceProperties
points to an instance of theVkExternalFenceProperties
structure in which capabilities are returned.
Valid Usage (Implicit)
physicalDevice
must be a validVkPhysicalDevice
handle
pExternalFenceInfo
must be a valid pointer to a validVkPhysicalDeviceExternalFenceInfo
structurepExternalFenceProperties
must be a valid pointer to aVkExternalFenceProperties
structure
See Also
VkExternalFenceProperties
,
VkPhysicalDevice
,
VkPhysicalDeviceExternalFenceInfo
data VkPhysicalDeviceExternalFenceInfo Source #
VkPhysicalDeviceExternalFenceInfo - Structure specifying fence creation parameters.
Description
Note
Handles of type VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
generated by
the implementation may represent either Linux Sync Files or Android
Fences at the implementation’s discretion. Applications should only
use operations defined for both types of file descriptors, unless they
know via means external to Vulkan the type of the file descriptor, or
are prepared to deal with the system-defined operation failures
resulting from using the wrong type.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO
pNext
must beNULL
handleType
must be a validVkExternalFenceHandleTypeFlagBits
value
See Also
VkExternalFenceHandleTypeFlagBits
,
VkStructureType
,
vkGetPhysicalDeviceExternalFenceProperties
,
vkGetPhysicalDeviceExternalFencePropertiesKHR
VkPhysicalDeviceExternalFenceInfo | |
|
Instances
data VkExternalFenceProperties Source #
VkExternalFenceProperties - Structure describing supported external fence handle features
Description
If handleType
is not supported by the implementation, then
VkExternalFenceProperties
::externalFenceFeatures
will be set to
zero.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES
pNext
must beNULL
See Also
VkExternalFenceFeatureFlags
, VkExternalFenceHandleTypeFlags
,
VkStructureType
,
vkGetPhysicalDeviceExternalFenceProperties
,
vkGetPhysicalDeviceExternalFencePropertiesKHR
VkExternalFenceProperties | |
|
Instances
Eq VkExternalFenceProperties Source # | |
Show VkExternalFenceProperties Source # | |
showsPrec :: Int -> VkExternalFenceProperties -> ShowS # show :: VkExternalFenceProperties -> String # showList :: [VkExternalFenceProperties] -> ShowS # | |
Storable VkExternalFenceProperties Source # | |
sizeOf :: VkExternalFenceProperties -> Int # alignment :: VkExternalFenceProperties -> Int # peekElemOff :: Ptr VkExternalFenceProperties -> Int -> IO VkExternalFenceProperties # pokeElemOff :: Ptr VkExternalFenceProperties -> Int -> VkExternalFenceProperties -> IO () # peekByteOff :: Ptr b -> Int -> IO VkExternalFenceProperties # pokeByteOff :: Ptr b -> Int -> VkExternalFenceProperties -> IO () # peek :: Ptr VkExternalFenceProperties -> IO VkExternalFenceProperties # poke :: Ptr VkExternalFenceProperties -> VkExternalFenceProperties -> IO () # |
type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeFlagBits Source #
VkExternalFenceHandleTypeFlags - Bitmask of VkExternalFenceHandleTypeFlagBits
Description
VkExternalFenceHandleTypeFlags
is a bitmask type for setting a mask of
zero or more VkExternalFenceHandleTypeFlagBits
.
See Also
VkExportFenceCreateInfo
,
VkExternalFenceHandleTypeFlagBits
, VkExternalFenceProperties
type VkExternalFenceFeatureFlags = VkExternalFenceFeatureFlagBits Source #
VkExternalFenceFeatureFlags - Bitmask of VkExternalFenceFeatureFlagBits
Description
VkExternalFenceFeatureFlags
is a bitmask type for setting a mask of
zero or more VkExternalFenceFeatureFlagBits
.