Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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
device
is the logical device that will be importingpHostPointer
.
handleType
is the type of the handlepHostPointer
.pHostPointer
is the host pointer to import from.
Valid Usage
handleType
must beVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
orVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
pHostPointer
must be a pointer aligned to an integer multiple ofVkPhysicalDeviceExternalMemoryHostPropertiesEXT
::minImportedHostPointerAlignment
- If
handleType
isVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
,pHostPointer
must be a pointer to host memory - If
handleType
isVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
,pHostPointer
must be a pointer to host mapped foreign memory
Valid Usage (Implicit)
device
must be a validVkDevice
handle
handleType
must be a validVkExternalMemoryHandleTypeFlagBits
valuepMemoryHostPointerProperties
must be a valid pointer to aVkMemoryHostPointerPropertiesEXT
structure
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
handleType
is not0
, it must be supported for import, as reported inVkExternalMemoryPropertiesKHR
- If
handleType
is not0
, it must beVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
orVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
pHostPointer
must be a pointer aligned to an integer multiple ofVkPhysicalDeviceExternalMemoryHostPropertiesEXT
::minImportedHostPointerAlignment
- If
handleType
isVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
,pHostPointer
must be a pointer toallocationSize
number of bytes of host memory, whereallocationSize
is the member of theVkMemoryAllocateInfo
structure this structure is chained to - If
handleType
isVK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
,pHostPointer
must be a pointer toallocationSize
number of bytes of host mapped foreign memory, whereallocationSize
is the member of theVkMemoryAllocateInfo
structure this structure is chained to
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
handleType
must be a validVkExternalMemoryHandleTypeFlagBits
value
See Also
VkImportMemoryHostPointerInfoEXT | |
|
Instances
data VkMemoryHostPointerPropertiesEXT Source #
VkMemoryHostPointerPropertiesEXT | |
|
Instances
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
minImportedHostPointerAlignment
is 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)
sType
must 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