VkExportMetalBufferInfoEXT(3)

# VkExportMetalBufferInfoEXT(3) Manual Page

## Name

VkExportMetalBufferInfoEXT - Structure that identifies a VkDeviceMemory object and corresponding Metal MTLBuffer object

## C Specification

To export the Metal `MTLBuffer` object underlying a VkDeviceMemory object, include a `VkExportMetalBufferInfoEXT` structure in the `pNext` chain of the `pMetalObjectsInfo` parameter of a vkExportMetalObjectsEXT call.

The `VkExportMetalBufferInfoEXT` structure is defined as:

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

## Members

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

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

- `memory` is a VkDeviceMemory.

- `mtlBuffer` is the Metal `id<MTLBuffer>` object underlying the VkDeviceMemory object in `memory`. The implementation will return the `MTLBuffer` in this member, or it will return `NULL` if no `MTLBuffer` could be found underlying the VkDeviceMemory object.

## Description

Valid Usage (Implicit)

- VUID-VkExportMetalBufferInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT

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

Structure Chaining

Extends the structure

  - VkExportMetalObjectsInfoEXT

## See Also

VK_EXT_metal_objects, VkDeviceMemory, 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