window显示驱动开发—在混合系统中使用跨适配器资源

从 Windows 8.1 开始,Windows 显示驱动程序模型 (WDDM) 驱动程序可以支持混合系统,其中跨适配器资源在集成 GPU 和离散 GPU 之间共享,应用程序可以在任一 GPU 上运行,具体取决于应用程序的需求。 操作系统和驱动程序共同确定应用程序应在哪个 GPU 上运行。

显示微型端口驱动程序应通过设置 DXGK_VIDMMCAPS 结构的 CrossAdapterResource 成员来表示 对跨 适配器资源的支持。

驱动程序以不同的方式获取信息,具体取决于分配的类型。 如果分配是传统的全屏主屏幕,则用户模式显示驱动程序将获取创建主屏幕时通常提供的信息,例如主标志、视频呈现网络 (VidPN) 源 ID、刷新率和旋转信息。 但是,如果分配是直接翻转主副本,则跨适配器分配可用作主副本,但用户模式显示驱动程序不会获取创建主副本时提供的常规信息。 此外,在这种情况下,离散用户模式显示驱动程序接收有关主节点的信息,但不应对其进行验证。 集成驱动程序不会收到指示它是主驱动程序的信息。

以下后续主题详细介绍了混合系统的驱动程序实现:

  1. 验证混合系统配置
  2. 使用跨适配器资源在独立的 GPU 中进行渲染
  3. 混合系统 DDI

混合系统的定义和属性:

  • 系统包含单个集成 GPU 和单个离散 GPU: 集成 GPU 集成到 CPU 芯片集,并输出到集成显示面板(如 LCD 面板)。 离散 GPU 通常是一个可移动卡,通过 PCI 等总线连接到主板芯片集的北桥。
  • 离散 GPU 的性能明显高于集成 GPU。
  • 离散 GPU 是仅限呈现的设备,没有连接到任何显示输出。
  • 两个 GPU 以物理方式封闭在同一外壳中,并且离散 GPU 在计算机运行时无法连接或断开连接。
  • 操作系统在运行开机自测试 (POST) 例程、安装新驱动程序或启用或禁用显示适配器时,检测混合系统的配置。

跨适配器资源的定义和属性:

  • 跨适配器资源仅在 Windows 8.1 开始可用。
  • 它只能分页到光圈 GPU 内存段。
  • 它作为共享资源进行分配。
  • 它只有一个线性格式的分配。
  • 它的标准音高对齐方式为 128 字节, (由D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT 常量) 定义。
  • 它的标准高度对齐方式为 4 行, (由 D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT 常量) 定义。
  • 其内存开始地址与单页边界对齐。
  • 它可能由显示微型端口驱动程序从内核模式创建为标准分配,然后由用户模式显示驱动程序打开。
  • 它可能由用户模式显示驱动程序创建。
相关推荐
赵渝强老师4 分钟前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大41 分钟前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
知南x2 小时前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
高溪流2 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_992 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
一 乐2 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
Codeking__3 小时前
Redis初识——什么是Redis
数据库·redis·mybatis
k***1953 小时前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring
程序员黄老师3 小时前
主流向量数据库全面解析
数据库·大模型·向量·rag
Full Stack Developme3 小时前
Redis 可以实现哪些业务功能
数据库·redis·缓存