# VkImportMetalSharedEventInfoEXT(3) Manual Page

## Name

VkImportMetalSharedEventInfoEXT - Structure that identifies a VkSemaphore or VkEvent object and corresponding Metal Shared Event object to use.

Loading… please wait.

## C Specification

To import a Metal `id<MTLSharedEvent>` object to underlie a VkSemaphore or VkEvent object, include a `VkImportMetalSharedEventInfoEXT` structure in the `pNext` chain of the VkSemaphoreCreateInfo or VkEventCreateInfo structure in a vkCreateSemaphore or vkCreateEvent command, respectively.

The `VkImportMetalSharedEventInfoEXT` structure is defined as:

    // Provided by VK_EXT_metal_objects
    typedef struct VkImportMetalSharedEventInfoEXT {
        VkStructureType      sType;
        const void*          pNext;
        MTLSharedEvent_id    mtlSharedEvent;
    } VkImportMetalSharedEventInfoEXT;

## Members

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

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

- `mtlSharedEvent` is the Metal `id<MTLSharedEvent>` object that is to underlie the VkSemaphore or VkEvent.

## Description

If the `pNext` chain of the VkSemaphoreCreateInfo structure includes both `VkImportMetalSharedEventInfoEXT` and VkSemaphoreTypeCreateInfo, the `signaledValue` property of the imported `id<MTLSharedEvent>` object will be set to VkSemaphoreTypeCreateInfo::`initialValue`.

Valid Usage (Implicit)

- VUID-VkImportMetalSharedEventInfoEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0