| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_EXT_external_memory_host
- pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: VkStructureType
- pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT :: VkExternalMemoryHandleTypeFlagBits
- pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT :: VkExternalMemoryHandleTypeFlagBits
- pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: (Eq a, IsString a) => a
- vkGetMemoryHostPointerPropertiesEXT :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult
- data VkImportMemoryHostPointerInfoEXT = VkImportMemoryHostPointerInfoEXT {}
- data VkMemoryHostPointerPropertiesEXT = VkMemoryHostPointerPropertiesEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkMemoryTypeBits :: Word32
- data VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkPhysicalDeviceExternalMemoryHostPropertiesEXT {}
Documentation
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: VkStructureType Source #
pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT :: VkExternalMemoryHandleTypeFlagBits Source #
pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT :: VkExternalMemoryHandleTypeFlagBits Source #
pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
vkGetMemoryHostPointerPropertiesEXT :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult Source #
vkGetMemoryHostPointerPropertiesEXT - Get properties of external memory host pointer
Parameters
deviceis the logical device that will be importingpHostPointer.
handleTypeis the type of the handlepHostPointer.pHostPointeris the host pointer to import from.
Description
Valid Usage
handleTypemust beVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTorVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
pHostPointermust be a pointer aligned to an integer multiple ofVkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment- If
handleTypeisVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,pHostPointermust be a pointer to host memory - If
handleTypeisVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,pHostPointermust be a pointer to host mapped foreign memory
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
handleTypemust be a validVkExternalMemoryHandleTypeFlagBitsvaluepMemoryHostPointerPropertiesmust be a valid pointer to aVkMemoryHostPointerPropertiesEXTstructure
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_INVALID_EXTERNAL_HANDLE
See Also
VkDevice,
VkExternalMemoryHandleTypeFlagBits,
VkMemoryHostPointerPropertiesEXT
data VkImportMemoryHostPointerInfoEXT Source #
VkImportMemoryHostPointerInfoEXT - import memory from a host pointer
Description
Importing memory from a host pointer shares ownership of the memory between the host and the Vulkan implementation. The application can continue to access the memory through the host pointer but it is the application’s responsibility to synchronize device and non-device access to the underlying memory as defined in Host Access to Device Memory Objects.
Applications can import the same underlying memory into multiple instances of Vulkan and multiple times into a given Vulkan instance. However, implementations may fail to import the same underlying memory multiple times into a given physical device due to platform constraints.
Importing memory from a particular host pointer may not be possible
due to additional platform-specific restrictions beyond the scope of
this specification in which case the implementation must fail the
memory import operation with the error code
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR.
The application must ensure that the imported memory range remains valid and accessible for the lifetime of the imported memory object.
Valid Usage
- If
handleTypeis not0, it must be supported for import, as reported inVkExternalMemoryPropertiesKHR
- If
handleTypeis not0, it must beVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTorVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT pHostPointermust be a pointer aligned to an integer multiple ofVkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment- If
handleTypeisVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,pHostPointermust be a pointer toallocationSizenumber of bytes of host memory, whereallocationSizeis the member of theVkMemoryAllocateInfostructure this structure is chained to - If
handleTypeisVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT,pHostPointermust be a pointer toallocationSizenumber of bytes of host mapped foreign memory, whereallocationSizeis the member of theVkMemoryAllocateInfostructure this structure is chained to
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
handleTypemust be a validVkExternalMemoryHandleTypeFlagBitsvalue
See Also
Constructors
| VkImportMemoryHostPointerInfoEXT | |
Fields
| |
data VkMemoryHostPointerPropertiesEXT Source #
Constructors
| VkMemoryHostPointerPropertiesEXT | |
Fields
| |
data VkPhysicalDeviceExternalMemoryHostPropertiesEXT Source #
VkPhysicalDeviceExternalMemoryHostPropertiesEXT - Structure describing external memory host pointer limits that can be supported by an implementation
Members
The members of the VkPhysicalDeviceExternalMemoryHostPropertiesEXT
structure describe the following implementation-dependent limits:
Description
minImportedHostPointerAlignmentis the minimum required alignment, in bytes, for the base address and size of host pointers that can be imported to a Vulkan memory object.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
If the VkPhysicalDeviceExternalMemoryHostPropertiesEXT structure is
included in the pNext chain of
VkPhysicalDeviceProperties2KHR,
it is filled with the implementation-dependent limits.
See Also
VkDeviceSize, VkStructureType
Constructors
| VkPhysicalDeviceExternalMemoryHostPropertiesEXT | |
Fields | |