| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_external_memory_dma_buf
Description
Name
VK_EXT_external_memory_dma_buf - device extension
VK_EXT_external_memory_dma_buf
- Name String
VK_EXT_external_memory_dma_buf
- Extension Type
- Device extension
- Registered Extension Number
- 126
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_external_memory_fd
- Contact
Other Extension Metadata
- Last Modified Date
- 2017-10-10
- IP Status
- No known IP claims.
- Contributors
- Chad Versace, Google
- James Jones, NVIDIA
- Jason Ekstrand, Intel
Description
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
DeviceMemory, to export
DeviceMemory as a dma_buf, and to create
Buffer objects that can be bound to that
memory.
New Enum Constants
Issues
1) How does the application, when creating a
Image that it intends to bind to dma_buf
DeviceMemory containing an externally produced
image, specify the memory layout (such as row pitch and DRM format
modifier) of the Image? 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
dma_buf images, how is this extension useful?
RESOLVED: This extension provides exactly one new feature: the
ability to import/export between dma_buf and
DeviceMemory. This feature, together with
features provided by VK_KHR_external_memory_fd, is sufficient to bind
a Buffer to dma_buf.
Version History
Revision 1, 2017-10-10 (Chad Versace)
- Squashed internal revisions
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.
Documentation
pattern EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf" Source #
pattern EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #