Windows 图形显示驱动开发-WDDM 2.9功能- 支持跨适配器资源扫描 (CASO)(二)

支持DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3的 StaticCheck 标志

StaticCheck 标志已添加到 WDDM 3.0 中的 DXGK_MULTIPLANE_OVERLAY_FLAGS。 此标志扩展了 DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 DDI 对 CASO 支持的使用。 此标志允许 DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 查询驱动程序,以确定使用 StaticCheck 标志标记的平面是否能够进行扫描。此调用是一次性调用,不应影响实际的演示行为。 因此,对 来自 DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 的当前信息执行任何缓存的驱动程序不应包含具有 StaticCheck 平面的 DDI 调用中的信息。 它们应仅以独立或静态方式执行支持确定。

设置了 StaticCheck 标志的DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3保证:

  1. 恰好有一个平面标有标志
  2. 不包含任何 PostComposition 平面信息

在创建缓冲区期间(例如在创建交换链或 ResizeBuffers 期间)期间,会从 DXGI 应用进程使用对设置了 StaticCheck 标志的DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3的调用,以尽力确定当前硬件配置是否支持 CASO。

HybridIntegrated 特殊情况

请务必注意, HybridIntegrated 驱动程序旨在提供第 3 层扫描输出支持。 从 WDDM 3.0 开始, 混合集成 驱动程序需要声明对 CrossAdapterResourceScanout 的支持。 HLK 测试验证此要求。

将来可能会考虑弃用现有的混合上限。 因此,必须分离 CrossAdapterResourceScanout 上限,以便进一步在此空间中发展更大的灵活性。 因此,即使不是 HybridIntegrated 的驱动程序也可以根据需要设置跨适配器支持层。

图形内核更改

从 WDDM 2.9 开始,针对跨适配器资源支持进行了以下添加/更改:

  • KMTQAITYPE_CROSSADAPTERRESOURCE_SUPPORT值已添加到现有的 KMTQUERYADAPTERINFOTYPE 枚举中
  • 添加了 D3DKMT_CROSSADAPTERRESOURCE_SUPPORT 结构和 D3DKMT_CROSSADAPTERRESOURCE_SUPPORT_TIER 枚举
    D3DKMT_CROSSADAPTERRESOURCE_SUPPORT KernelSupport = {};
    D3DKMT_QUERYADAPTERINFO QueryAdapterInfo;
    QueryAdapterInfo.hAdapter = m_hAdapter;
    QueryAdapterInfo.Type = KMTQAITYPE_CROSSADAPTERRESOURCE_SUPPORT;
    QueryAdapterInfo.pPrivateDriverData = &KernelSupport;
    QueryAdapterInfo.PrivateDriverDataSize = sizeof( KernelSupport );
    VERIFY_SUCCEEDED(D3DKMTQueryAdapterInfo(&QueryAdapterInfo));
    
    // Use KernelSupport.SupportTier as appropriate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值