- Last Modified Date
-
2017-10-10
- IP Status
-
No known IP claims.
- Contributors
-
-
Lina Versace, Google
-
James Jones, NVIDIA
-
Faith Ekstrand, Intel
-
A code: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 code:dma_buf as slink:VkDeviceMemory, to export slink:VkDeviceMemory as a code:dma_buf, and to create slink:VkBuffer objects that can: be bound to that memory.
1) How does the application, when creating a slink:VkImage that it intends
to bind to code:dma_buf slink:VkDeviceMemory containing 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
EGL_EXT_image_dma_buf_import
and
EGL_EXT_image_dma_buf_import_modifiers
?
RESOLVED: Features comparable to those in
EGL_EXT_image_dma_buf_import
and
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 code:dma_buf images, how is this extension useful?
RESOLVED: This extension provides exactly one new feature: the ability to
import/export between code:dma_buf and slink:VkDeviceMemory.
This feature, together with features provided by
apiext:VK_KHR_external_memory_fd
, is sufficient to bind a slink:VkBuffer
to code:dma_buf.