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

Associated requirements

Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary Device.Graphics.WDDM.DisplayRender.Base

See the device hardware requirements.

Platforms

Windows 7 (x64) Windows 7 (x86) Windows RT (ARM-based) Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64) Windows Server 2008 R2 (x64) Windows RT 8.1 Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2

Expected run time

~10 minutes

Categories

Certification Functional

Type

Automated

 

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 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\

 

 

 

Send comments about this topic to Microsoft