Name
VK_EXT_external_memory_host - device extension
VK_EXT_external_memory_host
- Name String
VK_EXT_external_memory_host
- Extension Type
Device extension
- Registered Extension Number
179
- 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
2017-11-10
- IP Status
No known IP claims.
- Contributors
Description
This extension enables an application to import host allocations and
host mapped foreign device memory to Vulkan memory objects.
New Commands
New Structures
New Enum Constants
Issues
1) What memory type has to be used to import host pointers?
RESOLVED: Depends on the implementation. Applications have to use
the new getMemoryHostPointerPropertiesEXT command to query the
supported memory types for a particular host pointer. The reported
memory types may include memory types that come from a memory heap that
is otherwise not usable for regular memory object allocation and thus
such a heap’s size may be zero.
2) Can the application still access the contents of the host allocation
after importing?
RESOLVED: Yes. However, usual synchronization requirements apply.
3) Can the application free the host allocation?
RESOLVED: No, it violates valid usage conditions. Using the memory
object imported from a host allocation that is already freed thus
results in undefined behavior.
4) Is mapMemory expected to return the same host
address which was specified when importing it to the memory object?
RESOLVED: No. Implementations are allowed to return the same address
but it is not required. Some implementations might return a different
virtual mapping of the allocation, although the same physical pages will
be used.
5) Is there any limitation on the alignment of the host pointer and/or
size?
RESOLVED: Yes. Both the address and the size have to be an integer
multiple of minImportedHostPointerAlignment. In addition, some
platforms and foreign devices may have additional restrictions.
6) Can the same host allocation be imported multiple times into a given
physical device?
RESOLVED: No, at least not guaranteed by this extension. Some
platforms do not allow locking the same physical pages for device access
multiple times, so attempting to do it may result in undefined behavior.
7) Does this extension support exporting the new handle type?
RESOLVED: No.
8) Should we include the possibility to import host mapped foreign
device memory using this API?
RESOLVED: Yes, through a separate handle type. Implementations are
still allowed to support only one of the handle types introduced by this
extension by not returning import support for a particular handle type
as returned in
ExternalMemoryPropertiesKHR.
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.