D3D9 Overlay - PresentEx

This automated test executes multiple test cases targeting IDirect3D9DeviceEx::PresentEx. There are specific test cases around dest rect movement resize, colorkey all, with and without DWM enabled. There are cases around hiding the overlay and changing modes during presentation. Presenting overlays on top of existing flip content. If supported, both RGB and non-RGB overlays are tested in common context modes (480p/i, 720p, 1080i, etc.)

Test details

   
Specifications
  • Device.Graphics.WDDM11.DisplayRender.D3D9Overlay.D3D9Overlay
Platforms
  • Windows 10, client editions (x86)
  • Windows 10, client editions (x64)
  • Windows Server 2016 (x64)
  • Windows 10, client editions (Arm64)
Supported Releases
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10, version 1703
  • Windows 10, version 1709
  • Windows 10, version 1803
  • Windows 10, version 1809
  • Windows 10, version 1903
  • Next update to Windows 10
Expected run time (in minutes) 1
Category Compatibility
Timeout (in minutes) 60
Requires reboot false
Requires special configuration false
Type automatic

 

Additional documentation

Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):

Running the test

Before you run the test, complete the test setup as described in the test requirements: Graphic Adapter or Chipset Testing Prerequisites.

In addition, this test requires the following:

  • A device driver with D3D9 support that exposes D3DCAPS_OVERLAY

Troubleshooting

For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.

For troubleshooting information, see Troubleshooting Device.Graphics Testing.

The test presents color bars in different sizes and modes. The test presents only 1-10 frames, and in many cases these are not visible without stepping through the test. Internal testing requires frame capture devices, and capturing screen contents can be quite slow. Validating more than 1-10 frames is taxing.

The test might return SKIP if the driver does not expose D3DCAPS_OVERLAY or if the back buffer format or mode is not supported during D3D device creation.

More information

These cases must be tested in combination. Automated verification is achieved using VGA and DVI image capture and compared against a compatible reference image.

The test runs the following test jobs:

  • PresentEx:

    • Verify that moving, resizing, un-occluding, and changing dest rects for a window updates color key data appropriately. The test runs the test cases with the Desktop Window Manager (DWM) both on and then off.

    • Verify that moving a window after calling PresentEx with D3DPRESENT_UPDATEOVERLAYONLY does not cause an actual flip, and that the position and colorkey data update. Cycle with DWM on and off.

    • Verify that if the device or swap chain is destroyed without first using D3DPRESENT_HIDEOVERLAY to turn off the overlay, the overlay is somehow cleaned up. The Microsoft® DirectX® graphics kernel subsystem (DxgKrnl) is expected to clean up, but D3D9 will handle cleanup in most cases.

    • Verify that D3DPRESENT_HIDEOVERLAY turns off the overlay.

    • Addition of a device parameter to allow test cases to be run on either device or monitor, as well as different configurations.

    • Verify the successful presentation of a non-overlay frame in current mode, while an overlay frame is already presented. Then, upon release, the subsequent call to present an overlay results in a successfully presented image.

    • Verify the successful presentation of a non-overlay frame in a mode other than current desktop mode, while an overlay frame is already presented. Then, upon release, the subsequent call to present an overlay results in a successfully presented image.

    • Verify the successful presentation of a non-overlay frame windowed, while an overlay frame is already presented. Then, upon release, the overlay is still the correctly presented image.

  • PresentStatistics:

    • Validate that present statistics are not available or supported.
  • Power Management:

    • Verify all sleep states.
  • Frame capture and comparison implementation:

    • Implementing comparison of a software reference frame and the hardware rendered overlay constitutes a testable unit. This implementation uses peak signal-to-noise ratio (PSNR) with a specified level of tolerance. This tolerance must be high because of the hardware frame capture device. On analog connections, this device can cause color ranges to be compressed or stomped, which produces an increased difference between the rendered frame and the actual displayed frame.

    • This comparison can be implemented on each parameterized test case, including the different D3DFORMATs. It then validates each frame when rendered.

Command syntax

Command option Description

D3D9OverlayTest PresentEx -whql -logclean

This command runs the D3D9 Overlay - PresentEx test job.

Without any options, the test enumerates all but some extreme invalid argument test cases.

TestCasePriority:[0, 1, 2]

Specifies the priority of the test cases to run. 0 will run build verification test (BVT) level test cases 1,2 more aggressive test cases.

LogLevel[0, 1, 2]

The test has the ability to be very verbose in its logging methods. By default, level 0 is set; however, level one will gather increased logging info per test cases including many stream states/blt states set. Level 2 will gather all adjusted stream states and blt states, as well as any configuration information.

Note

   For command line help for this test binary, type /?.

 

File list

File Location

Configdisplay.exe

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

D3D9OverlayTest.exe

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

TDRWatch.exe

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

 

Parameters

Parameter name Parameter description
MODIFIEDCMDLINE Additional command line arguments for test executable
LLU_NetAccessOnly LLU Name of net user
ConfigDisplayCommandLine Custom Command Line for ConfigDisplay. Default: logo