Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- getMemoryHostPointerPropertiesEXT :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("hostPointer" ::: Ptr ()) -> io MemoryHostPointerPropertiesEXT
- data ImportMemoryHostPointerInfoEXT = ImportMemoryHostPointerInfoEXT {}
- data MemoryHostPointerPropertiesEXT = MemoryHostPointerPropertiesEXT {}
- data PhysicalDeviceExternalMemoryHostPropertiesEXT = PhysicalDeviceExternalMemoryHostPropertiesEXT {}
- type EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1
- pattern EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: forall a. Integral a => a
- type EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host"
- pattern EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags
- type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits
Documentation
getMemoryHostPointerPropertiesEXT :: forall io. MonadIO io => Device -> ExternalMemoryHandleTypeFlagBits -> ("hostPointer" ::: Ptr ()) -> io MemoryHostPointerPropertiesEXT 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.pMemoryHostPointerProperties
is a pointer to aMemoryHostPointerPropertiesEXT
structure in which the host pointer properties are returned.
Valid Usage
handleType
must beEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
orEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
pHostPointer
must be a pointer aligned to an integer multiple ofPhysicalDeviceExternalMemoryHostPropertiesEXT
::minImportedHostPointerAlignment
- If
handleType
isEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
,pHostPointer
must be a pointer to host memory - If
handleType
isEXTERNAL_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 validDevice
handle
handleType
must be a validExternalMemoryHandleTypeFlagBits
valuepMemoryHostPointerProperties
must be a valid pointer to aMemoryHostPointerPropertiesEXT
structure
Return Codes
See Also
Device
,
ExternalMemoryHandleTypeFlagBits
,
MemoryHostPointerPropertiesEXT
data ImportMemoryHostPointerInfoEXT 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
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 inExternalMemoryProperties
- If
handleType
is not0
, it must beEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
orEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
pHostPointer
must be a pointer aligned to an integer multiple ofPhysicalDeviceExternalMemoryHostPropertiesEXT
::minImportedHostPointerAlignment
- If
handleType
isEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT
,pHostPointer
must be a pointer toallocationSize
number of bytes of host memory, whereallocationSize
is the member of theMemoryAllocateInfo
structure this structure is chained to - If
handleType
isEXTERNAL_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 theMemoryAllocateInfo
structure this structure is chained to
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
handleType
must be a validExternalMemoryHandleTypeFlagBits
value
See Also
ImportMemoryHostPointerInfoEXT | |
|
Instances
data MemoryHostPointerPropertiesEXT Source #
VkMemoryHostPointerPropertiesEXT - Properties of external memory host pointer
Description
The value returned by memoryTypeBits
must only include bits that
identify memory types which are host visible.
Valid Usage (Implicit)
See Also
MemoryHostPointerPropertiesEXT | |
|
Instances
data PhysicalDeviceExternalMemoryHostPropertiesEXT Source #
VkPhysicalDeviceExternalMemoryHostPropertiesEXT - Structure describing external memory host pointer limits that can be supported by an implementation
Members
The members of the PhysicalDeviceExternalMemoryHostPropertiesEXT
structure describe the following implementation-dependent limits:
Description
If the PhysicalDeviceExternalMemoryHostPropertiesEXT
structure is
included in the pNext
chain of
PhysicalDeviceProperties2
,
it is filled with the implementation-dependent limits.
Valid Usage (Implicit)
See Also
PhysicalDeviceExternalMemoryHostPropertiesEXT | |
|
Instances
type EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1 Source #
pattern EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host" Source #
pattern EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #