| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd
- pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: VkStructureType
- pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: VkStructureType
- pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: VkStructureType
- pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: Integral a => a
- pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: (Eq a, IsString a) => a
- vkGetMemoryFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult
- vkGetMemoryFdPropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult
- data VkImportMemoryFdInfoKHR = VkImportMemoryFdInfoKHR {}
- data VkMemoryFdPropertiesKHR = VkMemoryFdPropertiesKHR {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkMemoryTypeBits :: Word32
- data VkMemoryGetFdInfoKHR = VkMemoryGetFdInfoKHR {}
Documentation
pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: Integral a => a Source #
pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
vkGetMemoryFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult Source #
vkGetMemoryFdKHR - Get a POSIX file descriptor for a memory object
Parameters
deviceis the logical device that created the device memory being exported.
pGetFdInfois a pointer to an instance of theVkMemoryGetFdInfoKHRstructure containing parameters of the export operation.pFdwill return a file descriptor representing the underlying resources of the device memory object.
Description
Each call to vkGetMemoryFdKHR must create a new file descriptor and
transfer ownership of it to the application. To avoid leaking resources,
the application must release ownership of the file descriptor using
the close system call when it is no longer needed, or by importing a
Vulkan memory object from it. Where supported by the operating system,
the implementation must set the file descriptor to be closed
automatically when an execve system call is made.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pGetFdInfomust be a valid pointer to a validVkMemoryGetFdInfoKHRstructurepFdmust be a valid pointer to aintvalue
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_TOO_MANY_OBJECTSVK_ERROR_OUT_OF_HOST_MEMORY
See Also
vkGetMemoryFdPropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult Source #
vkGetMemoryFdPropertiesKHR - Get Properties of External Memory File Descriptors
Parameters
deviceis the logical device that will be importingfd.
handleTypeis the type of the handlefd.fdis the handle which will be imported.pMemoryFdPropertieswill return properties of the handlefd.
Description
Valid Usage
fdmust be an external memory handle created outside of the Vulkan API.
handleTypemust not beVK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
handleTypemust be a validVkExternalMemoryHandleTypeFlagBitsvaluepMemoryFdPropertiesmust be a valid pointer to aVkMemoryFdPropertiesKHRstructure
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_INVALID_EXTERNAL_HANDLE
See Also
VkDevice,
VkExternalMemoryHandleTypeFlagBits,
VkMemoryFdPropertiesKHR
data VkImportMemoryFdInfoKHR Source #
VkImportMemoryFdInfoKHR - import memory created on the same physical device from a file descriptor
Description
Importing memory from a file descriptor transfers ownership of the file descriptor from the application to the Vulkan implementation. The application must not perform any operations on the file descriptor after a successful import.
Applications can import the same underlying memory into multiple
instances of Vulkan, into the same instance from which it was exported,
and multiple times into a given Vulkan instance. In all cases, each
import operation must create a distinct VkDeviceMemory object.
Valid Usage
- If
handleTypeis not0, it must be supported for import, as reported byVkExternalImageFormatPropertiesorVkExternalBufferProperties.
- The memory from which
fdwas exported must have been created on the same underlying physical device asdevice. - If
handleTypeis not0, it must be defined as a POSIX file descriptor handle. - If
handleTypeis not0,fdmust be a valid handle of the type specified byhandleType. - The memory represented by
fdmust have been created from a physical device and driver that is compatible withdeviceandhandleType, as described in {html_spec_relative}#external-memory-handle-types-compatibility. fdmust obey any requirements listed forhandleTypein external memory handle types compatibility.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR
- If
handleTypeis not0,handleTypemust be a validVkExternalMemoryHandleTypeFlagBitsvalue
See Also
Constructors
| VkImportMemoryFdInfoKHR | |
Fields
| |
data VkMemoryFdPropertiesKHR Source #
VkMemoryFdPropertiesKHR - Properties of External Memory File Descriptors
Description
See Also
Constructors
| VkMemoryFdPropertiesKHR | |
Fields
| |
data VkMemoryGetFdInfoKHR Source #
VkMemoryGetFdInfoKHR - Structure describing a POSIX FD semaphore export operation
Description
The properties of the file descriptor exported depend on the value of
handleType. See
VkExternalMemoryHandleTypeFlagBits
for a description of the properties of the defined external memory
handle types.
Note
The size of the exported file may be larger than the size requested by
VkMemoryAllocateInfo::allocationSize. If
handleType is VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, then
the application can query the file’s actual size with
lseek(2).
Valid Usage
handleTypemust have been included inVkExportMemoryAllocateInfo::handleTypeswhenmemorywas created.
handleTypemust be defined as a POSIX file descriptor handle.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR
pNextmust beNULLmemorymust be a validVkDeviceMemoryhandlehandleTypemust be a validVkExternalMemoryHandleTypeFlagBitsvalue
See Also
VkDeviceMemory,
VkExternalMemoryHandleTypeFlagBits,
VkStructureType, vkGetMemoryFdKHR
Constructors
| VkMemoryGetFdInfoKHR | |
Fields
| |