61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
include::meta/VK_EXT_external_memory_dma_buf.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2017-10-10
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Contributors*::
|
|
- Chad Versace, Google
|
|
- James Jones, NVIDIA
|
|
- Jason Ekstrand, Intel
|
|
|
|
A dma_buf is a type of file descriptor, defined by the Linux kernel, that
|
|
allows sharing memory across kernel device drivers and across processes.
|
|
This extension enables applications to import a dma_buf as
|
|
slink:VkDeviceMemory; to export slink:VkDeviceMemory as a dma_buf; and to
|
|
create slink:VkBuffer objects that can: be bound to that memory.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkExternalMemoryHandleTypeFlagBitsKHR:
|
|
** ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
|
|
|
|
=== Issues
|
|
|
|
1.
|
|
How does the application, when creating a slink:VkImage that it intends
|
|
to bind to dma_buf slink:VkDeviceMemory that contains an externally
|
|
produced image, specify the memory layout (such as row pitch and DRM
|
|
format modifier) of the slink:VkImage? In other words, how does the
|
|
application achieve behavior comparable to that provided by
|
|
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[`EGL_EXT_image_dma_buf_import`]
|
|
and
|
|
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[`EGL_EXT_image_dma_buf_import_modifiers`]?
|
|
+
|
|
--
|
|
*RESOLVED*.
|
|
Features comparable to those in
|
|
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt[`EGL_EXT_image_dma_buf_import`]
|
|
and
|
|
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt[`EGL_EXT_image_dma_buf_import_modifiers`]
|
|
will be provided by an extension layered atop this one.
|
|
--
|
|
|
|
2.
|
|
Without the ability to specify the memory layout of external dma_buf
|
|
images, how is this extension useful?
|
|
+
|
|
--
|
|
*RESOLVED*.
|
|
This extension provides exactly one new feature: the ability to
|
|
import/export between dma_bufs and slink:VkDeviceMemory.
|
|
This feature, together with features provided by
|
|
`<<VK_KHR_external_memory_fd>>`, is sufficient to bind a slink:VkBuffer to
|
|
dma_buf.
|
|
--
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2017-10-10 (Chad Versace)
|
|
- Squashed internal revisions
|