vkGetMemoryMetalHandlePropertiesEXT(3)

# vkGetMemoryMetalHandlePropertiesEXT(3) Manual Page

## Name

vkGetMemoryMetalHandlePropertiesEXT - Get Properties of External Memory Metal Handles

## 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

- VUID-vkGetMemoryMetalHandlePropertiesEXT-handle-10416
  `pHandle` must point to a valid id<MTLBuffer>, id<MTLTexture> or id<MTLDevice>

- VUID-vkGetMemoryMetalHandlePropertiesEXT-handleType-10417
  `handleType` must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT or VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT

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

On success, this command returns

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_INVALID_EXTERNAL_HANDLE

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_EXT_external_memory_metal, VkDevice, VkExternalMemoryHandleTypeFlagBits, VkMemoryMetalHandlePropertiesEXT

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0