本系列专栏《Linux图形驱动与桌面》
【include/drm/drm_writeback.h】
使用场景:
回写连接器用于公开可以将 CRTC 的输出写入内存缓冲区的硬件。它们的使用和行为类似于其他类型的连接器,但有一些重要区别:
当连接器连接到 CRTC 时,帧缓冲区只能连接到写回连接器。设置帧缓冲区的 WRITEBACK_FB_ID 属性仅适用于单个提交(见下文)。当 CRTC 关闭时,可能不会附加帧缓冲区。
与平面不同,当用户空间删除写回帧缓冲区时,DRM 不会尝试将其从连接器的活动使用中删除。这是因为没有提供任何方法来中止写回操作,并且在任何情况下,在写回进行时进行新的提交是未定义的(请参阅下面的 WRITEBACK_OUT_FENCE_PTR)。当前写回完成后,帧缓冲区将自动不再处于活动状态。由于它也已经从帧缓冲区列表中删除,因此任何用户空间应用程序都无法在中间期间检索对它的引用。
写回连接器有一些额外的属性,用户空间可以使用这些属性来查询和控制它们:
“WRITEBACK_FB_ID”:
存储 DRM_MODE_O