VkMemoryGetFdInfoKHR(3)

# VkMemoryGetFdInfoKHR(3) Manual Page

## Name

VkMemoryGetFdInfoKHR - Structure describing a POSIX FD semaphore export operation

Loading... please wait.

## C Specification

The `VkMemoryGetFdInfoKHR` structure is defined as:

    typedef struct VkMemoryGetFdInfoKHR {
        VkStructureType                       sType;
        const void*                           pNext;
        VkDeviceMemory                        memory;
        VkExternalMemoryHandleTypeFlagBits    handleType;
    } VkMemoryGetFdInfoKHR;

## Members

- `sType` is the type of this structure.

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

- `memory` is the memory object from which the handle will be exported.

- `handleType` is the type of handle requested.

## Description

The properties of the file descriptor exported depend on the value of `handleType`. See VkExternalMemoryHandleTypeFlagBits for a description of the properties of the defined external memory handle types.

| Note The size of the exported file may be larger than the size requested by VkMemoryAllocateInfo::allocationSize. If `handleType` is `VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT`, then the application can query the file’s actual size with lseek(2).

Valid Usage

- `handleType` must have been included in VkExportMemoryAllocateInfo::`handleTypes` when `memory` was created

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

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR`

- `pNext` must be `NULL`

- `memory` must be a valid VkDeviceMemory handle

- `handleType` must be a valid VkExternalMemoryHandleTypeFlagBits value

## See Also

VkDeviceMemory, VkExternalMemoryHandleTypeFlagBits, VkStructureType, vkGetMemoryFdKHR

## 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.