Class VkImportMemoryHostPointerInfoEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkImportMemoryHostPointerInfoEXT>
org.lwjgl.vulkan.VkImportMemoryHostPointerInfoEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkImportMemoryHostPointerInfoEXT extends org.lwjgl.system.Struct<VkImportMemoryHostPointerInfoEXT> implements org.lwjgl.system.NativeResource
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 payload as defined in Host Access to Device Memory Objects.

Applications can import the same payload into multiple instances of Vulkan and multiple times into a given Vulkan instance. However, implementations may fail to import the same payload 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.

Whether device memory objects imported from a host pointer hold a reference to their payload is undefined. As such, the application must ensure that the imported memory range remains valid and accessible for the lifetime of the imported memory object.

Valid Usage
Valid Usage (Implicit)

Layout


 struct VkImportMemoryHostPointerInfoEXT {
     VkStructureType sType();
     void const * pNext();
     VkExternalMemoryHandleTypeFlagBits handleType();
     void * pHostPointer();
 }