VkImportMetalIOSurfaceInfoEXT(3)

# VkImportMetalIOSurfaceInfoEXT(3) Manual Page

## Name

VkImportMetalIOSurfaceInfoEXT - Structure that identifies a VkImage object and corresponding Metal IOSurfaceRef object to use.

Loading… please wait.

## C Specification

To import, or create, a Metal `IOSurfaceRef` object to underlie a VkImage object, include a `VkImportMetalIOSurfaceInfoEXT` structure in the `pNext` chain of the VkImageCreateInfo structure in a vkCreateImage command.

The `VkImportMetalIOSurfaceInfoEXT` structure is defined as:

    // Provided by VK_EXT_metal_objects
    typedef struct VkImportMetalIOSurfaceInfoEXT {
        VkStructureType    sType;
        const void*        pNext;
        IOSurfaceRef       ioSurface;
    } VkImportMetalIOSurfaceInfoEXT;

## Members

- `sType` is the type of this structure.

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

- `ioSurface` is VK_NULL_HANDLE or the Metal `IOSurfaceRef` object that is to underlie the VkImage.

## Description

If `ioSurface` is not VK_NULL_HANDLE, it will be used to underlie the VkImage. If `ioSurface` is VK_NULL_HANDLE, the implementation will create a new `IOSurface` to underlie the VkImage.

If provided, the app must ensure that the configuration of the `IOSurfaceRef` object is compatible with the configuration of the VkImage. Failure to do so results in undefined behavior.

Valid Usage (Implicit)

- VUID-VkImportMetalIOSurfaceInfoEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT`

## 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-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0