线性孔径空间段

线性光圈空间段类似于线性内存空间段;但是,光圈空间段只是地址空间,不能包含位。 若要保留位,必须分配系统内存页,并且必须重定向地址空间范围以引用这些页。 显示微型端口驱动程序必须为DXGK_OPERATION_MAP_APERTURE_SEGMENT和DXGK_OPERATION_UNMAP_APERTURE_SEGMENT操作类型实现 DxgkDdiBuildPagingBuffer 函数才能处理重定向,并且必须公开此函数,如 Display Miniport Driver 的 DriverEntry 中所述。 DxgkDdiBuildPagingBuffer 函数接收要重定向的范围和引用已分配的物理系统内存页的 MDL。

显示微型端口驱动程序通常通过对页表进行编程来实现地址空间范围的重定向,而视频内存管理器不知道该表。

驱动程序必须在 DXGK_SEGMENTDESCRIPTOR 结构的 Flags 成员中设置 Aperture 位字段标志,以指定线性光圈空间段。 驱动程序还可以设置以下位字段标志以指示其他段支持:

  • Cpu 可见 ,表示该段可访问 CPU。

  • CacheCoherent 指示段与该段重定向到的页的 CPU 保持缓存一致性。

下图显示了线性光圈空间段的视觉表示形式。

说明线性光圈空间段的示意图。