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 常量) 定义。
  • 其内存开始地址与单页边界对齐。
  • 它可能由显示微型端口驱动程序从内核模式创建为标准分配,然后由用户模式显示驱动程序打开。
  • 它可能由用户模式显示驱动程序创建。
相关推荐
炬火初现几秒前
SQL——子查询
数据库·sql
semantist@语校1 分钟前
语校网500所里程碑:日本语言学校数据库的标准化与可追溯机制
大数据·数据库·人工智能·百度·语言模型·oracle·github
野犬寒鸦6 分钟前
从零起步学习Redis || 第五章:利用Redis构造分布式全局唯一ID
java·服务器·数据库·redis·分布式·后端·缓存
yenggd12 分钟前
QoS之流量整形配置方法
网络·数据库·华为
wwwzhouhui1 小时前
85-dify案例分享-不用等 OpenAI 邀请,Dify+Sora2工作流实测:写实动漫视频随手做,插件+教程全送
人工智能·音视频·sora2
陪你在童年1 小时前
EXCEL根据类别分页预览或者直接生成PDF
数据库
l1t1 小时前
在duckdb 1.4中编译和使用postgresql协议插件duckdb-pgwire
开发语言·数据库·c++·postgresql·插件·duckdb
武子康1 小时前
Java-138 深入浅出 MySQL Spring Boot 事务传播机制全解析:从 REQUIRED 到 NESTED 的实战详解 传播机制原理
java·大数据·数据库·spring boot·sql·mysql·事务
snpgroupcn1 小时前
SAP S/4HANA迁移方法选哪种?选择性数据转换是否合适?企业需要考虑哪些关键因素!
运维·数据库·云计算
敲码图一乐2 小时前
流量安全——基于Sentinel实现限流,熔断,降级
java·开发语言·数据库