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 常量) 定义。
  • 其内存开始地址与单页边界对齐。
  • 它可能由显示微型端口驱动程序从内核模式创建为标准分配,然后由用户模式显示驱动程序打开。
  • 它可能由用户模式显示驱动程序创建。
相关推荐
q***465215 小时前
Win10下安装 Redis
数据库·redis·缓存
p***924817 小时前
深入理解与实战SQL IFNULL()函数
数据库·sql·oracle
快乐的学习18 小时前
开源相关术语及提交commit关键字总结
驱动开发·开源
q***816419 小时前
MySQL:数据查询-limit
数据库·mysql
p***924819 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
马剑威(威哥爱编程)20 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL20 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.20 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Y***985120 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best21 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全