图显系统DRM GEM完全解析

0. 引言

GEM 是Graphics execution management的缩写。沿袭了 TTM 的一些设计思想,提供一套显存管理的机制。
包括:

  • 显存管理
  • 控制对图形设备执行上下文的访问
  • 处理现代图形硬件特有的 NUMA 需求

GEM 允许多个应用程序在不重新加载整个显卡的情况下,就可以访问到图形设备的资源。基于共享内存的思想保证了数据的同步性。显卡的上下文状态由 kernel 空间代码管理,这样就可以减少应用层对显卡状态管理的代码,使其将更多的精力放在图像算法上。

用户空间通过 ioctl 来访问 GEM 相关的 API,例如:

	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_DUMB, drm_mode_create_dumb_ioctl, 0),
	DRM_IOCTL_DEF(DRM_IOCTL_MODE_MAP_DUMB, drm_mode_mmap_dumb_ioctl

你可能感兴趣的:(drm,linux,gpu)