VkMemoryGetMetalHandleInfoEXT(3)

# VkMemoryGetMetalHandleInfoEXT(3) Manual Page

## Name

VkMemoryGetMetalHandleInfoEXT - Structure describing a Metal handle memory export operation

## C Specification

The `VkMemoryGetMetalHandleInfoEXT` structure is defined as:

    // Provided by VK_EXT_external_memory_metal
    typedef struct VkMemoryGetMetalHandleInfoEXT {
        VkStructureType                       sType;
        const void*                           pNext;
        VkDeviceMemory                        memory;
        VkExternalMemoryHandleTypeFlagBits    handleType;
    } VkMemoryGetMetalHandleInfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `memory` is the memory object from which the handle will be exported.

- `handleType` is a VkExternalMemoryHandleTypeFlagBits value specifying the type of handle requested.

## Description

The properties of the handle returned depend on the value of `handleType`. See VkExternalMemoryHandleTypeFlagBits for a description of the properties of the defined external memory handle types.

Valid Usage

- VUID-VkMemoryGetMetalHandleInfoEXT-memory-10413
  `memory` must have been created with a valid VkExportMemoryAllocateInfo

- VUID-VkMemoryGetMetalHandleInfoEXT-handleType-10414
  `handleType` must have been included in VkExportMemoryAllocateInfo::`handleTypes` when `memory` was created

- VUID-VkMemoryGetMetalHandleInfoEXT-handleType-10415
  `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-VkMemoryGetMetalHandleInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT

- VUID-VkMemoryGetMetalHandleInfoEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkMemoryGetMetalHandleInfoEXT-memory-parameter
  `memory` must be a valid VkDeviceMemory handle

- VUID-VkMemoryGetMetalHandleInfoEXT-handleType-parameter
  `handleType` must be a valid VkExternalMemoryHandleTypeFlagBits value

## See Also

VK_EXT_external_memory_metal, VkDeviceMemory, VkExternalMemoryHandleTypeFlagBits, VkStructureType, vkGetMemoryMetalHandleEXT

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