vulkan-3.24.3: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

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 support for Vulkan 1.0
  • Requires VK_KHR_external_memory_fd to be enabled for any device-level functionality
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

type EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf" Source #