VkSemaphoreGetFdInfoKHR(3)

# VkSemaphoreGetFdInfoKHR(3) Manual Page

## Name

VkSemaphoreGetFdInfoKHR - Structure describing a POSIX FD semaphore export operation

## C Specification

The `VkSemaphoreGetFdInfoKHR` structure is defined as:

    typedef struct VkSemaphoreGetFdInfoKHR {
        VkStructureType                          sType;
        const void*                              pNext;
        VkSemaphore                              semaphore;
        VkExternalSemaphoreHandleTypeFlagBits    handleType;
    } VkSemaphoreGetFdInfoKHR;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to an extension-specific structure.

- `semaphore` is the semaphore from which state will be exported.

- `handleType` is the type of handle requested.

## Description

The properties of the file descriptor returned depend on the value of `handleType`. See VkExternalSemaphoreHandleTypeFlagBits for a description of the properties of the defined external semaphore handle types.

Valid Usage

- `handleType` must have been included in VkExportSemaphoreCreateInfo::`handleTypes` when `semaphore`’s current payload was created.

- `semaphore` must not currently have its payload replaced by an imported payload as described below in Importing Semaphore Payloads unless that imported payload’s handle type was included in VkExternalSemaphoreProperties::`exportFromImportedHandleTypes` for `handleType`.

- If `handleType` refers to a handle type with copy payload transference semantics, as defined below in Importing Semaphore Payloads, there must be no queue waiting on `semaphore`.

- If `handleType` refers to a handle type with copy payload transference semantics, `semaphore` must be signaled, or have an associated semaphore signal operation pending execution.

- `handleType` must be defined as a POSIX file descriptor handle.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR`

- `pNext` must be `NULL`

- `semaphore` must be a valid `VkSemaphore` handle

- `handleType` must be a valid VkExternalSemaphoreHandleTypeFlagBits value

## See Also

VkExternalSemaphoreHandleTypeFlagBits, VkSemaphore, VkStructureType, vkGetSemaphoreFdKHR

## 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 (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.