Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_external_memory_fd
Name
VK_KHR_external_memory_fd - device extension
VK_KHR_external_memory_fd
- Name String
VK_KHR_external_memory_fd
- Extension Type
Device extension
- Registered Extension Number
75
- Revision
1
- Ratification Status
Ratified
- Extension and Version Dependencies
VK_KHR_external_memory
or
Vulkan Version 1.1
- Contact
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.
New Commands
New Structures
New Enum Constants
Issues
1) Does the application need to close the file descriptor returned by
getMemoryFdKHR?
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
See Also
No cross-references are available
Document Notes
For more information, see the
Vulkan Specification.
This page is a generated document. Fixes and changes should be made to
the generator scripts, not directly.