# VkExportMemoryAllocateInfo(3) Manual Page

## Name

VkExportMemoryAllocateInfo - Specify exportable handle types for a device memory object

## C Specification

When allocating memory that may be exported to another process or Vulkan instance, add a VkExportMemoryAllocateInfo structure to the `pNext` chain of the VkMemoryAllocateInfo structure, specifying the handle types that may be exported.

The VkExportMemoryAllocateInfo structure is defined as:

    typedef struct VkExportMemoryAllocateInfo {
        VkStructureType                    sType;
        const void*                        pNext;
        VkExternalMemoryHandleTypeFlags    handleTypes;
    } VkExportMemoryAllocateInfo;

or the equivalent

    typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;

## Members

- `sType` is the type of this structure.

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

- `handleTypes` is a bitmask of VkExternalMemoryHandleTypeFlagBits specifying one or more memory handle types the application can export from the resulting allocation. The application can request multiple handle types for the same allocation.

## Description

Valid Usage

- The bits in `handleTypes` must be supported and compatible, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO`

- `handleTypes` must be a valid combination of VkExternalMemoryHandleTypeFlagBits values

## See Also

VkExternalMemoryHandleTypeFlags, 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.