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 |
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:
Shadow buffer to CDD primary blt test
CDD primary to shadow buffer blt test
D3D render target to CDD primary blt test
D3D render target to staging buffer blt test
D3D color-fill operation to the primary surface in full screen mode
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\ |