# VkSemaphoreTypeCreateInfo(3) Manual Page

## Name

VkSemaphoreTypeCreateInfo - Structure specifying the type of a newly created semaphore

## C Specification

To create a semaphore of a specific type, add a VkSemaphoreTypeCreateInfo structure to the `pNext` chain of the VkSemaphoreCreateInfo structure. The `VkSemaphoreTypeCreateInfo` structure is defined as:

    typedef struct VkSemaphoreTypeCreateInfo {
        VkStructureType    sType;
        const void*        pNext;
        VkSemaphoreType    semaphoreType;
        uint64_t           initialValue;
    } VkSemaphoreTypeCreateInfo;

or the equivalent

    typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;

## Members

- `sType` is the type of this structure.

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

- `semaphoreType` is a VkSemaphoreType value specifying the type of the semaphore.

- `initialValue` is the initial payload value if `semaphoreType` is `VK_SEMAPHORE_TYPE_TIMELINE`.

## Description

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO`

- `semaphoreType` must be a valid VkSemaphoreType value

Valid Usage

- If the `timelineSemaphore` feature is not enabled, `semaphoreType` must not equal `VK_SEMAPHORE_TYPE_TIMELINE`

- If `semaphoreType` is `VK_SEMAPHORE_TYPE_BINARY`, `initialValue` must be zero.

If no `VkSemaphoreTypeCreateInfo` structure is included in the `pNext` chain of VkSemaphoreCreateInfo, then the created semaphore will have a default VkSemaphoreType of `VK_SEMAPHORE_TYPE_BINARY`.

## See Also

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