Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: VkStructureType
- pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: VkStructureType
- pattern VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: VkStructureType
- pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: Integral a => a
- pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: (Eq a, IsString a) => a
- vkGetFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult
- vkImportFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult
- data VkImportFenceWin32HandleInfoKHR = VkImportFenceWin32HandleInfoKHR {}
- data VkExportFenceWin32HandleInfoKHR = VkExportFenceWin32HandleInfoKHR {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkPAttributes :: Ptr SECURITY_ATTRIBUTES
- vkDwAccess :: DWORD
- vkName :: LPCWSTR
- data VkFenceGetWin32HandleInfoKHR = VkFenceGetWin32HandleInfoKHR {}
Documentation
pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: Integral a => a Source #
pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
vkGetFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult Source #
vkGetFenceWin32HandleKHR - Get a Windows HANDLE for a fence
Parameters
device
is the logical device that created the fence being exported.
pGetWin32HandleInfo
is a pointer to an instance of theVkFenceGetWin32HandleInfoKHR
structure containing parameters of the export operation.pHandle
will return the Windows handle representing the fence state.
Description
For handle types defined as NT handles, the handles returned by
vkGetFenceWin32HandleKHR
are owned by the application. To avoid
leaking resources, the application must release ownership of them
using the CloseHandle
system call when they are no longer needed.
Exporting a Windows handle from a fence may have side effects depending on the transference of the specified handle type, as described in Importing Fence Payloads.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pGetWin32HandleInfo
must be a valid pointer to a validVkFenceGetWin32HandleInfoKHR
structurepHandle
must be a valid pointer to aHANDLE
value
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_TOO_MANY_OBJECTS
VK_ERROR_OUT_OF_HOST_MEMORY
See Also
vkImportFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult Source #
vkImportFenceWin32HandleKHR - Import a fence from a Windows HANDLE
Parameters
device
is the logical device that created the fence.
pImportFenceWin32HandleInfo
points to aVkImportFenceWin32HandleInfoKHR
structure specifying the fence and import parameters.
Description
Importing a fence payload from Windows handles does not transfer
ownership of the handle to the Vulkan implementation. For handle types
defined as NT handles, the application must release ownership using
the CloseHandle
system call when the handle is no longer needed.
Applications can import the same fence payload into multiple instances of Vulkan, into the same instance from which it was exported, and multiple times into a given Vulkan instance.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pImportFenceWin32HandleInfo
must be a valid pointer to a validVkImportFenceWin32HandleInfoKHR
structure
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_INVALID_EXTERNAL_HANDLE
See Also
data VkImportFenceWin32HandleInfoKHR Source #
VkImportFenceWin32HandleInfoKHR - (None)
Description
The handle types supported by handleType
are:
Handle Type | Transference | Permanence Supported |
---|---|---|
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT | Reference | Temporary,Permanent |
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT | Reference | Temporary,Permanent |
Handle Types Supported by VkImportFenceWin32HandleInfoKHR
Valid Usage
handleType
must be a value included in the Handle Types Supported by VkImportFenceWin32HandleInfoKHR table.
- If
handleType
is notVK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
,name
must beNULL
. - If
handleType
is not0
andhandle
isNULL
,name
must name a valid synchronization primitive of the type specified byhandleType
. - If
handleType
is not0
andname
isNULL
,handle
must be a valid handle of the type specified byhandleType
. - If
handle
is notNULL
,name
must beNULL
. - If
handle
is notNULL
, it must obey any requirements listed forhandleType
in external fence handle types compatibility. - If
name
is notNULL
, it must obey any requirements listed forhandleType
in external fence handle types compatibility.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR
pNext
must beNULL
fence
must be a validVkFence
handleflags
must be a valid combination ofVkFenceImportFlagBits
values- If
handleType
is not0
,handleType
must be a validVkExternalFenceHandleTypeFlagBits
value
Host Synchronization
- Host access to
fence
must be externally synchronized
See Also
VkExternalFenceHandleTypeFlagBits
,
VkFence
,
VkFenceImportFlags
,
VkStructureType
,
vkImportFenceWin32HandleKHR
VkImportFenceWin32HandleInfoKHR | |
|
Instances
data VkExportFenceWin32HandleInfoKHR Source #
VkExportFenceWin32HandleInfoKHR - Structure specifying additional attributes of Windows handles exported from a fence
Description
If this structure is not present, or if pAttributes
is set to NULL
,
default security descriptor values will be used, and child processes
created by the application will not inherit the handle, as described in
the MSDN documentation for “Synchronization Object Security and Access
Rights”1. Further, if the structure is not present, the access rights
will be
DXGI_SHARED_RESOURCE_READ
| DXGI_SHARED_RESOURCE_WRITE
for handles of the following types:
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
Valid Usage
- If
VkExportFenceCreateInfo
::handleTypes
does not includeVK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
, VkExportFenceWin32HandleInfoKHR must not be in thepNext
chain ofVkFenceCreateInfo
.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR
- If
pAttributes
is notNULL
,pAttributes
must be a valid pointer to a validSECURITY_ATTRIBUTES
value
See Also
VkExportFenceWin32HandleInfoKHR | |
|
Instances
data VkFenceGetWin32HandleInfoKHR Source #
VkFenceGetWin32HandleInfoKHR - Structure describing a Win32 handle fence export operation
Description
The properties of the handle returned depend on the value of
handleType
. See
VkExternalFenceHandleTypeFlagBits
for a description of the properties of the defined external fence handle
types.
Valid Usage
handleType
must have been included inVkExportFenceCreateInfo
::handleTypes
when thefence
’s current payload was created.
- If
handleType
is defined as an NT handle,vkGetFenceWin32HandleKHR
must be called no more than once for each valid unique combination offence
andhandleType
. fence
must not currently have its payload replaced by an imported payload as described below in Importing Fence Payloads unless that imported payload’s handle type was included inVkExternalFenceProperties
::exportFromImportedHandleTypes
forhandleType
.- If
handleType
refers to a handle type with copy payload transference semantics,fence
must be signaled, or have an associated fence signal operation pending execution. handleType
must be defined as an NT handle or a global share handle.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR
pNext
must beNULL
fence
must be a validVkFence
handlehandleType
must be a validVkExternalFenceHandleTypeFlagBits
value
See Also
VkExternalFenceHandleTypeFlagBits
,
VkFence
,
VkStructureType
,
vkGetFenceWin32HandleKHR
VkFenceGetWin32HandleInfoKHR | |
|