D3D9 覆盖层 - PresentEx
此自动测试执行多个针对 IDirect3D9DeviceEx::PresentEx 的测试用例。 在启用和不启用 DWM 的情况下,都有关于目标矩形移动调整大小、颜色键的特定测试用例。 演示期间还有关于隐藏覆盖层和更改模式的用例。 在现有的翻转内容之上呈现覆盖层。 如果支持,则在常见上下文模式下测试 RGB 和非 RGB 覆盖(480p/i、720p、1080i 等)
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 1 |
类别 | 兼容性 |
超时(以分钟为单位) | 60 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:图形适配器或芯片组测试先决条件。
此外,此测试需要以下各项:
- 支持 D3D9 并公开 D3DCAPS_OVERLAY 的设备驱动程序
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查 Device.Graphics 测试问题。
该测试提供不同大小和模式的颜色条。 测试仅显示 1-10 帧,在许多情况下,如果不通过测试,这些帧是不可见的。 内部测试需要帧捕获设备,并且捕获屏幕内容可能非常慢。 验证 1-10 个以上的帧会很费力。
如果驱动程序未公开 D3DCAPS_OVERLAY,或者在 D3D 设备创建期间不支持后台缓冲区格式或模式,则测试可能会返回 SKIP。
更多信息
这些情况必须联合测试。 使用 VGA 和 DVI 映像捕获实现自动验证,并与兼容的引用映像进行比较。
此测试运行以下测试作业:
PresentEx:
验证窗口的目标矩形的移动、重设大小、取消遮挡和更改是否会相应地更新颜色键数据。 测试将分别在打开和关闭桌面窗口管理器 (DWM) 的情况下运行测试用例。
验证在使用 D3DPRESENT_UPDATEOVERLAYONLY 调用 PresentEx 后,移动窗口是否不会导致实际翻转,并且位置和颜色键数据是否会更新。 在打开和关闭 DWM 的情况下循环。
验证如果设备或交换链在未首先使用 D3DPRESENT_HIDEOVERLAY 关闭覆盖层的情况下被销毁,覆盖层是否会以某种方式清除。 Microsoft® DirectX® 图形内核子系统 (DxgKrnl) 应进行清理,但在大多数情况下,D3D9 将执行清理操作。
验证 D3DPRESENT_HIDEOVERLAY 是否关闭了覆盖层。
添加设备参数以允许测试用例在设备或显示器上运行,以及不同的配置。
验证在当前模式下是否成功呈现非覆盖帧,同时已显示覆盖帧。 然后在发布时,对显示覆盖层的后续调用将导致图像成功呈现。
验证在当前桌面模式之外的其他模式下是否成功呈现非覆盖帧,同时已显示覆盖帧。 然后在发布时,对显示覆盖层的后续调用将导致图像成功呈现。
验证是否成功呈现非覆盖帧,同时已显示覆盖帧。 然后在发布时,覆盖层仍然是正确呈现的图像。
PresentStatistics:
- 验证呈现的统计信息是否不可用或不受支持。
电源管理:
- 验证所有睡眠状态。
帧捕获和比较实现:
实现软件引用框架与硬件呈现覆盖层的比较构成了一个可测试单元。 此实现使用具有指定公差级别的峰值信噪比 (PSNR)。 由于硬件帧捕获设备,此公差必须很高。 在模拟连接上,此设备可能会导致颜色范围被压缩或限制,从而导致呈现的帧与实际显示的帧之间的差异增大。
可对每个参数化测试用例(包括不同的 D3DFORMAT)实现此比较。 然后它将在每个帧呈现时对其验证。
命令语法
命令选项 | 说明 |
---|---|
D3D9OverlayTest PresentEx -whql -logclean |
此命令运行“D3D9 覆盖层 - PresentEx”测试作业。 如果未使用任何选项,则测试将枚举除某些极端无效参数测试用例以外的所有测试用例。 |
TestCasePriority:[0, 1, 2] |
指定要运行的测试用例的优先级。 如果设置为 0,则会运行构建验证测试 (BVT) 级别测试用例;如果设置为 1 或 2,则会运行更为严格的测试用例。 |
LogLevel[0, 1, 2] |
此测试能够记录非常详细的日志。 默认情况下,级别设置为 0,但级别 1 将为每个测试用例收集更多日志记录信息,包括许多流状态/blt 状态集。 级别 2 将收集所有调整后的流状态和 blt 状态,以及任何配置信息。 |
注意
有关此测试二进制文件的命令行帮助,请键入 /?。
文件列表
文件 | 位置 |
---|---|
Configdisplay.exe |
<[testbinroot]>\nttest\windowstest\tools\ |
D3D9OverlayTest.exe |
<[testbinroot]>\nttest\windowstest\graphics\d3d\func\ |
TDRWatch.exe |
<[testbinroot]>\nttest\windowstest\graphics\ |
参数
参数名称 | 参数说明 |
---|---|
MODIFIEDCMDLINE | 测试可执行文件的其他命令行参数 |
LLU_NetAccessOnly | 网络用户的 LLU 名称 |
ConfigDisplayCommandLine | ConfigDisplay 的自定义命令行。 默认值:徽标 |