Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 2.21 KB

VK_EXT_external_memory_dma_buf.adoc

File metadata and controls

59 lines (46 loc) · 2.21 KB

Other Extension Metadata

Last Modified Date

2017-10-10

IP Status

No known IP claims.

Contributors
  • Lina Versace, Google

  • James Jones, NVIDIA

  • Faith Ekstrand, Intel

Description

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.

Issues

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.

Version History

  • Revision 1, 2017-10-10 (Lina Versace)

    • Squashed internal revisions