WDDM RotateBlt Window GDI
RotateBlt.exe is an automated test application that verifies the following assertions: 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 RotateBlt.exe is invoked 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] Save - If this argument is present, then images will be saved to disk whenever a test case fails Screen - Save the Desktop images anyway. Window - Run all window device test cases. WinGdi - Run the Windows GDI test cases. WinCdd - Run the Windows CDD test cases. WinD3D- Run the Windows D3D test cases. FullScreen - Run full screen device test cases that use Device Driver Interfaces. D3D - Run 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, 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, 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, 270) Monitor - The 1-based index of the monitor to test. If this is not specified, then the primary monitor is tested 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 tests perform the following actions 1. Shadow buffer to CDD primary blt test This test 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 fails. 2. CDD primary to shadow buffer blt test This test uses wddm kernel entry points to set the conents of the CDD primary. It then uses GDI APIs to blt from the screen to an offscreen surface. The test then compares the contents of the offscreen surface to the contents set in the shared primary. If the contents differ too much, the test fails. 3. D3D render target to CDD primary blt test This test 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 then compares the contents of the render target to the contents of the shared primary. If the contents differ too much, the test fails. 4. D3D render target to staging buffer blt test This test performs the same actions as #3. During each present call, a GDI sprite intersects with the rendering window. The test verifies that the correct results appear in the shared primary surface. 5. D3D color-fill operation to the primary surface in full screen mode. This test 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 then compares the contents of the render data to the contents of the shared primary. If the contents differ too much, the test fails. 6. IDirectD3D9 render target to primary blt test in full screen mode. This test uses IDirectD3D9 API to render a scene into a render target. It then calls GetFrontBufferData performs rotating copy of primary surface contents. The test then compares the contents of the render data to the contents of the shared primary. If the contents differ too much, the test fails. ExpectedRunTime: 10 min, if > 10 min then investigate TestOwner: maithida TestType: Stability Does the test render?: Yes Does the test go fullscreen?: Yes Do the number of test cases depend on machine config?: Yes (driver caps) Does the test change desktop resolution?: Yes Does the test pass invalid parameters?: No How many monitors does the test run on?: 2 Uses DirectX runtime?: Yes
Test details
Specifications |
|
Platforms |
|
Supported Releases |
|
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):
More information
Parameters
Parameter name | Parameter description |
---|---|
LLU_NetAccessOnly | LLU Name of net user |
ConfigDisplayCommandLine | Custom Command Line for ConfigDisplay. Default: logo |
TDRArgs | /get or /set |
Troubleshooting
For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.