WDDM RotateBlt Full Screen ColorFillPresent

This automated test verifies the requirements listed in the test details table.

This topic applies to the following test jobs:

  • WDDM RotateBlt Full Screen ColorFillPresent

  • WDDM RotateBlt Full Screen ColorFillPresent (WoW64)

Test details

   
Specifications
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
  • Device.Graphics.WDDM.DisplayRender.Base
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) 10
Category Compatibility
Timeout (in minutes) 600
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.

Troubleshooting

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

For troubleshooting information, see Troubleshooting Device.Graphics Testing.

More information

RotateBlt.exe is an automated test application that verifies the following:

  • Present-blt and colorfill-presents are correctly rotated when the blt intersects with a GDI sprite (DWM off)

  • Present-blts are correctly stretched in rotated modes (DWM off)

  • Present-blts are correctly clipped in rotated modes (DWM off)

  • Blts from a CDD shadow surface to a shared primary are correctly rotated

  • Blts from a shared primary to a CDD shadow surface are correctly rotated

  • Windowed modes present-blts are correctly color converted in a rotated mode, including sRGB conversions (DWM off)

  • Full-screen presentation operations from rotation aware apps are not rotated by the driver

  • GetFrontBufferData performs rotating copy from a primary surface to the application-provided system memory destination for non-rotation aware applications

The program performs the following tests for each specified mode of each specified monitor. Each test is performed with the DWM disabled:

  1. Shadow buffer to CDD primary blt test

  2. CDD primary to shadow buffer blt test

  3. D3D render target to CDD primary blt test

  4. D3D render target to staging buffer blt test

  5. D3D color-fill operation to the primary surface in full screen mode

  6. IDirectD3D9 render target to primary blt test in full screen mode

The test performs the following test cases:

Test case Details

Shadow buffer to CDD primary blt

This test case renders to the screen via GDI methods. It then gets the contents of the primary surface via WDDM kernel entry points, and compares the contents of the primary surface with the contents rendered via GDI. If the contents differ too much, the test case fails.

CDD primary to shadow buffer blt

This test case uses WDDM kernel entry points to set the contents of the CDD primary. It then uses GDI APIs to blt from the screen to an off-screen surface. The test case then compares the contents of the off-screen surface to the contents set in the shared primary. If the contents differ too much, the test case fails.

D3D render target to CDD primary blt

This test case uses D3D9 APIs to render a scene into a render target. It then calls the Present API to copy the contents of the render target to the shared primary. The test case then compares the contents of the render target to the contents of the shared primary. If the contents differ too much, the test case fails.

D3D render target to staging buffer blt

This test case performs the same actions as the D3D render target to CDD primary blt test case. During each present call, a GDI sprite intersects with the rendering window. The test case verifies that the correct results appear in the shared primary surface.

D3D color-fill operation to the primary surface in full screen mode

This test case uses D3D API ColorFill to render a scene into a render target. It then calls the Present API with no D3DKMT_PRESENT rotate bit set to copy the contents of the render target to the shared primary. The test case then compares the contents of the render data to the contents of the shared primary. If the contents differ too much, the test case fails.

This test case uses IDirectD3D9 API to render a scene into a render target. It then calls GetFrontBufferData performs rotating copy of primary surface contents. The test case then compares the contents of the render data to the contents of the shared primary. If the contents differ too much, the test case fails.

 

Command syntax

The test is run using RotateBlt.exe with the following command line syntax:

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

Command option Description

RotateBlt.exe

Runs the test jobs.

Save

Saves the images to disk whenever a test case fails.

Screen

Saves the Desktop images for all test cases, not just test failures.

Window

Runs all window device test cases.

WinGdi

Runs all of the Windows GDI test cases.

WinCdd

Runs all of the Windows CDD test cases.

WinD3D

Runs all of the Windows D3D test cases.

FullScreen

Runs all of the full screen device test cases that use Device Driver Interfaces.

D3D

Runs all of the full screen device test cases that use Direct3D Interfaces.

Width

Specifies the width of the primary surface. If this is not specified, then the width is cycled through the set (800, 1024, 1280, and 1600).

Height

Specifies the height of the primary surface. If this is not specified, then the height is cycled through the set (600, 768, 900, 1024, and 1280).

BPP

Specifies the number of bits per pixel in the primary. If this is not specified, then the bits per pixel is cycled through the set (32, 16).

Rotation

Specifies the rotation of the display. If this is not specified, the rotation is cycled through the set (0, 90, 180, and 270).

Monitor

Sets the monitor to test using a 1-based index. If this is not specified, then the primary monitor is tested.

Note

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

 

File list

File Location

Configdisplay.exe

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

RotateBlt.exe

<[testbinroot]>\nttest\

TDRWatch.exe

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

 

Parameters

Parameter name Parameter description
LLU_NetAccessOnly LLU Name of net user
ConfigDisplayCommandLine Custom Command Line for ConfigDisplay. Default: logo
TDRArgs /get or /set