C Specification

Metal memory handles compatible with Vulkan may also be created by non-Vulkan APIs using methods beyond the scope of this specification. To determine the correct parameters to use when importing such handles, call:

// Provided by VK_EXT_external_memory_metal
VkResult vkGetMemoryMetalHandlePropertiesEXT(
    VkDevice                                    device,
    VkExternalMemoryHandleTypeFlagBits          handleType,
    const void*                                 pHandle,
    VkMemoryMetalHandlePropertiesEXT*           pMemoryMetalHandleProperties);

Parameters

  • device is the logical device that will be importing pHandle.

  • handleType is a VkExternalMemoryHandleTypeFlagBits value specifying the type of the handle pHandle.

  • pHandle is the handle which will be imported.

  • pMemoryMetalHandleProperties is a pointer to a VkMemoryMetalHandlePropertiesEXT structure in which properties of pHandle are returned.

Description

Valid Usage
Valid Usage (Implicit)
  • VUID-vkGetMemoryMetalHandlePropertiesEXT-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkGetMemoryMetalHandlePropertiesEXT-handleType-parameter
    handleType must be a valid VkExternalMemoryHandleTypeFlagBits value

  • VUID-vkGetMemoryMetalHandlePropertiesEXT-pHandle-parameter
    pHandle must be a pointer value

  • VUID-vkGetMemoryMetalHandlePropertiesEXT-pMemoryMetalHandleProperties-parameter
    pMemoryMetalHandleProperties must be a valid pointer to a VkMemoryMetalHandlePropertiesEXT structure

Return Codes

See Also

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0