Structures

VkExportMetalSharedEventInfoEXT

Structure that identifies a VkSemaphore or VkEvent object and corresponding Metal MTLSharedEvent object

To export the Metal MTLSharedEvent object underlying a VkSemaphore or VkEvent object, include a VkExportMetalSharedEventInfoEXT structure in the pNext chain of the pMetalObjectsInfo parameter of a vkExportMetalObjectsEXT call.

The VkExportMetalSharedEventInfoEXT structure is defined as:

typedef struct VkExportMetalSharedEventInfoEXT {
    VkStructureType sType;
    const void* pNext;
    VkSemaphore semaphore;
    VkEvent event;
    MTLSharedEvent_id mtlSharedEvent;
} VkExportMetalSharedEventInfoEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • semaphore is VK_NULL_HANDLE or a VkSemaphore.
  • event is VK_NULL_HANDLE or a VkEvent.
  • mtlSharedEvent is the Metal id<MTLSharedEvent> object underlying the VkSemaphore or VkEvent object in semaphore or event, respectively. The implementation will return the MTLSharedEvent in this member, or it will return NULL if no MTLSharedEvent could be found underlying the VkSemaphore or VkEvent object.

Valid Usage (Implicit)

VUID-VkExportMetalSharedEventInfoEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT

VUID-VkExportMetalSharedEventInfoEXT-semaphore-parameter

If semaphore is not VK_NULL_HANDLE, semaphore must be a valid VkSemaphore handle

VUID-VkExportMetalSharedEventInfoEXT-commonparent

Both of event, and semaphore that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice