C Specification

To import memory created on the same physical device but outside of the current Vulkan instance, add a VkImportMemoryWin32HandleInfoNV structure to the pNext chain of the VkMemoryAllocateInfo structure, specifying a handle to and the type of the memory.

The VkImportMemoryWin32HandleInfoNV structure is defined as:

// Provided by VK_NV_external_memory_win32
typedef struct VkImportMemoryWin32HandleInfoNV {
VkStructureType                      sType;
const void*                          pNext;
VkExternalMemoryHandleTypeFlagsNV    handleType;
HANDLE                               handle;
} VkImportMemoryWin32HandleInfoNV;

Members

• sType is the type of this structure.

• pNext is NULL or a pointer to a structure extending this structure.

• handleType is 0 or a VkExternalMemoryHandleTypeFlagBitsNV value specifying the type of memory handle in handle.

• handle is a Windows HANDLE referring to the memory.

Description

If handleType is 0, this structure is ignored by consumers of the VkMemoryAllocateInfo structure it is chained from.

Valid Usage
• VUID-VkImportMemoryWin32HandleInfoNV-handleType-01327
handleType must not have more than one bit set

• VUID-VkImportMemoryWin32HandleInfoNV-handle-01328
handle must be a valid handle to memory, obtained as specified by handleType

Valid Usage (Implicit)
• VUID-VkImportMemoryWin32HandleInfoNV-sType-sType
sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV

• VUID-VkImportMemoryWin32HandleInfoNV-handleType-parameter
handleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values