vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_external_memory_host

Synopsis

Documentation

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 importing pHostPointer.
  • handleType is the type of the handle pHostPointer.
  • pHostPointer is the host pointer to import from.

Valid Usage

  • handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT or VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
  • pHostPointer must be a pointer aligned to an integer multiple of VkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment
  • If handleType is VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, pHostPointer must be a pointer to host memory
  • If handleType is VK_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 valid VkDevice handle

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 not 0, it must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT or VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
  • pHostPointer must be a pointer aligned to an integer multiple of VkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment
  • If handleType is VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, pHostPointer must be a pointer to allocationSize number of bytes of host memory, where allocationSize is the member of the VkMemoryAllocateInfo structure this structure is chained to
  • If handleType is VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, pHostPointer must be a pointer to allocationSize number of bytes of host mapped foreign memory, where allocationSize is the member of the VkMemoryAllocateInfo structure this structure is chained to

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT

See Also

VkExternalMemoryHandleTypeFlagBits, VkStructureType

Constructors

VkImportMemoryHostPointerInfoEXT 

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

  • 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 be VK_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

Instances
Eq VkPhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details
Show VkPhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details
Storable VkPhysicalDeviceExternalMemoryHostPropertiesEXT Source # 
Instance details