# VkMemoryGetFdInfoKHR(3) Manual Page

## Name

VkMemoryGetFdInfoKHR - Structure describing a POSIX FD memory export operation

Loading… please wait.

## C Specification

The `VkMemoryGetFdInfoKHR` structure is defined as:

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

## Members

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

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

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

- `handleType` is a VkExternalMemoryHandleTypeFlagBits value specifying 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`.

Valid Usage

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

- VUID-VkMemoryGetFdInfoKHR-handleType-00672
  `handleType` must be `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT` or `VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT`

Valid Usage (Implicit)

- VUID-VkMemoryGetFdInfoKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR`

- VUID-VkMemoryGetFdInfoKHR-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkMemoryGetFdInfoKHR-memory-parameter
  `memory` must be a valid VkDeviceMemory handle

- VUID-VkMemoryGetFdInfoKHR-handleType-parameter
  `handleType` must be a valid VkExternalMemoryHandleTypeFlagBits value

## See Also

VK_KHR_external_memory_fd, 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 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0