從使用者視角看 DMA-BUF 是什麼、有什麼用

本文將試圖從使用者空間的視角而非核心視角解釋 DMA-BUF。

TLDR

DMA-BUF 是使用者程序以檔案(FD)形式從核心引用並可以傳遞給其他程序或核心元件的、不一定位於記憶體(RAM)上的儲存區域。

其主要被用於在使用者空間零複製(Zero-copy)地向某一硬體傳遞引用自相同或另一硬體並可被兩硬體直接訪問的儲存區域,如將 Vulkan 儲存引用的視訊記憶體區域以 DMA-BUF 匯出並匯入為 EGL/OpenGL 儲存。