VkImportMetalBufferInfoEXT(3)

# VkImportMetalBufferInfoEXT(3) Manual Page

## Name

VkImportMetalBufferInfoEXT - Structure that identifies a Metal MTLBuffer object to use when creating a VkDeviceMemory object.

## C Specification

To import a Metal `MTLBuffer` object to underlie a VkDeviceMemory object, include a `VkImportMetalBufferInfoEXT` structure in the `pNext` chain of the VkMemoryAllocateInfo structure in a vkAllocateMemory command.

The `VkImportMetalBufferInfoEXT` structure is defined as:

    // Provided by VK_EXT_metal_objects
    typedef struct VkImportMetalBufferInfoEXT {
        VkStructureType    sType;
        const void*        pNext;
        MTLBuffer_id       mtlBuffer;
    } VkImportMetalBufferInfoEXT;

## Members

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

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

- `mtlBuffer` is the Metal `id<MTLBuffer>` object that is to underlie the VkDeviceMemory.

## Description

The application must ensure that the configuration of the `id<MTLBuffer>` object is compatible with the configuration of the VkDeviceMemory. Failure to do so results in undefined behavior.

Valid Usage (Implicit)

- VUID-VkImportMetalBufferInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT

Structure Chaining

Extends the structure

  - VkMemoryAllocateInfo

## See Also

VK_EXT_metal_objects, VkStructureType

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