| // Copyright 2016-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_external_memory_fd.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2016-10-21 |
| *IP Status*:: |
| No known IP claims. |
| *Contributors*:: |
| - James Jones, NVIDIA |
| - Jeff Juliano, NVIDIA |
| |
| === Description |
| |
| An application may wish to reference device memory in multiple Vulkan |
| logical devices or instances, in multiple processes, and/or in multiple |
| APIs. |
| This extension enables an application to export POSIX file descriptor |
| handles from Vulkan memory objects and to import Vulkan memory objects from |
| POSIX file descriptor handles exported from other Vulkan memory objects or |
| from similar resources in other APIs. |
| |
| include::{generated}/interfaces/VK_KHR_external_memory_fd.txt[] |
| |
| === Issues |
| |
| 1) Does the application need to close the file descriptor returned by |
| flink:vkGetMemoryFdKHR? |
| |
| *RESOLVED*: Yes, unless it is passed back in to a driver instance to import |
| the memory. |
| A successful get call transfers ownership of the file descriptor to the |
| application, and a successful import transfers it back to the driver. |
| Destroying the original memory object will not close the file descriptor or |
| remove its reference to the underlying memory resource associated with it. |
| |
| 2) Do drivers ever need to expose multiple file descriptors per memory |
| object? |
| |
| *RESOLVED*: No. |
| This would indicate there are actually multiple memory objects, rather than |
| a single memory object. |
| |
| 3) How should the valid size and memory type for POSIX file descriptor |
| memory handles created outside of Vulkan be specified? |
| |
| *RESOLVED*: The valid memory types are queried directly from the external |
| handle. |
| The size will be specified by future extensions that introduce such external |
| memory handle types. |
| |
| === Version History |
| |
| * Revision 1, 2016-10-21 (James Jones) |
| - Initial revision |