WDDM RotateBlt 全屏 ColorFillPresent

此自动化测试验证测试详细信息表中列出的要求。

本主题适用于以下测试作业:

  • WDDM RotateBlt 全屏 ColorFillPresent

  • WDDM RotateBlt 全屏 ColorFillPresent (WoW64)

测试详细信息

   
规范
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
  • Device.Graphics.WDDM.DisplayRender.Base
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
  • Windows Server 2016 (x64)
  • Windows 10,客户端版本 (Arm64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 10
类别 兼容性
超时(以分钟为单位) 600
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照如下测试要求中所述完成测试设置:图形适配器或芯片组测试先决条件

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

有关故障排除信息,请参阅排查 Device.Graphics 测试问题

更多信息

RotateBlt.exe 是一个自动测试应用程序,可验证以下内容:

  • 当 blt 与 GDI 子画面相交时,present-blt 和 colorfill-presents 正确旋转(DWM 关闭)

  • Present-blts 在旋转模式下正确拉伸(DWM 关闭)

  • Present-blts 在旋转模式下正确裁剪(DWM 关闭)

  • 从 CDD 阴影表面到共享主表面的 Blt 正确旋转

  • 从共享主表面到 CDD 阴影表面的 Blt 正确旋转

  • 窗口模式 present-blts 在旋转模式下正确转换颜色,包括 sRGB 转换(DWM 关闭)

  • 旋转感知应用产生的全屏演示操作不会由驱动程序旋转

  • GetFrontBufferData 将为非旋转感知应用程序执行从主表面到应用程序提供的系统内存目标的旋转复制

该程序对每个指定监视器的每个指定模式执行以下测试。 将在禁用 DWM 的情况下执行每个测试:

  1. 阴影缓冲区到 CDD 主表面 blt 测试

  2. CDD 主表面到阴影缓冲区 blt 测试

  3. D3D 呈现目标到 CDD 主表面 blt 测试

  4. D3D 呈现目标到暂存缓冲区 blt 测试

  5. 在全屏模式下对主表面进行 D3D 颜色填充操作

  6. 全屏模式下 IDirectD3D9 呈现目标到主表面 blt 测试

此测试执行以下测试用例:

测试用例 详细信息

阴影缓冲区到 CDD 主表面 blt

这个测试用例通过 GDI 方法呈现到屏幕上。 然后通过 WDDM 内核入口点获取主表面的内容,并将主表面的内容与通过 GDI 呈现的内容进行比较。 如果内容差异太大,则测试用例失败。

CDD 主表面到阴影缓冲区 blt

此测试用例使用 WDDM 内核入口点来设置 CDD 主表面的内容。 然后,它使用 GDI API 从屏幕转移到屏幕外表面。 然后,测试用例将屏幕外表面的内容与共享主表面中设置的内容进行比较。 如果内容差异太大,则测试用例失败。

D3D 呈现目标到 CDD 主表面 blt

此测试用例使用 D3D9 API 将场景呈现到呈现目标中。 然后调用 Present API 将呈现目标的内容复制到共享主表面。 然后测试用例将呈现目标的内容与共享主表面的内容进行比较。 如果内容差异太大,则测试用例失败。

D3D 呈现目标到暂存缓冲区 blt

此测试用例执行与 CDD 主表面 blt 测试用例的 D3D 呈现目标相同的操作。 在每次当前调用期间,一个 GDI 精灵与呈现窗口相交。 测试用例验证正确的结果出现在共享的主表面中。

在全屏模式下对主表面进行 D3D 颜色填充操作

此测试用例使用 D3D API ColorFill 将场景呈现到呈现目标中。 然后它调用没有设置 D3DKMT_PRESENT 旋转位的 Present API 以将呈现目标的内容复制到共享主表面。 然后测试用例将呈现数据的内容与共享主表面的内容进行比较。 如果内容差异太大,则测试用例失败。

此测试用例使用 IDirectD3D9 API 将场景呈现到呈现目标中。 然后此测试用例调用 GetFrontBufferData 执行主表面内容的旋转副本。 然后测试用例将呈现数据的内容与共享主表面的内容进行比较。 如果内容差异太大,则测试用例失败。

 

命令语法

该测试使用 RotateBlt.exe 运行,命令行语法如下:

RotateBlt.exe [save] [[Window] [WinGdi][WinCdd][WinD3d][fullscreen] [D3D]] [width:XXX] [height:XXX] [BPP:XXX] [Rotation:XXX] [Monitor:X]

命令选项 说明

RotateBlt.exe

运行测试作业。

保存

测试用例失败时,将图像保存到磁盘。

屏幕

保存所有测试用例的桌面图像,而不仅仅是测试失败的图像。

窗口

运行所有窗口设备测试用例。

WinGdi

运行所有 Windows GDI 测试用例。

WinCdd

运行所有 Windows CDD 测试用例。

WinD3D

运行所有 Windows D3D 测试用例。

FullScreen

运行所有使用设备驱动程序接口的全屏设备测试用例。

D3D

运行所有使用 Direct3D 接口的全屏设备测试用例。

宽度

指定主表面的宽度。 如果未指定,则在集合(800、1024、1280 和 1600)中循环宽度。

高度

指定主表面的高度。 如果未指定,则在集合(600、768、900、1024 和 1280)中循环高度。

BPP

指定主表面中每个像素的位数。 如果未指定,则每个像素的位数在集合 (32, 16) 中循环。

旋转

指定显示器的旋转。 如果未指定,则在集合(0、90、180 和 270)中循环旋转。

监视

将监视器设置为使用从 1 开始的索引进行测试。 如果未指定,则测试主监视器。

注意

   有关此测试二进制文件的命令行帮助,请键入 /h。

 

文件列表

文件 位置

Configdisplay.exe

<[testbinroot]>\nttest\windowstest\tools\

RotateBlt.exe

<[testbinroot]>\nttest\

TDRWatch.exe

<[testbinroot]>\nttest\windowstest\graphics\

 

参数

参数名称 参数说明
LLU_NetAccessOnly 网络用户的 LLU 名称
ConfigDisplayCommandLine ConfigDisplay 的自定义命令行。 默认值:徽标
TDRArgs /get 或 /set