DDraw Blt test (Compact 7)
3/12/2014
The DirectDraw Blit Test is an exhaustive iteration of blts between all surface types.
The test copies pixels from one DirectDraw surface to another, or from one part of a surface to another that is bliting.
This test will only run if the display hardware on the target device supports DirectDraw.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following table shows the hardware requirement for the DirectDraw Blt Test.
Requirement | Description |
---|---|
Video subsystem |
A video subsystem that supports DirectDraw. |
The following table shows the software requirements for the DirectDraw Blt Test.
Requirements | Description |
---|---|
Tux.exe |
Tux test harness, required for executing the test |
Kato.dll |
Kato logging engine, required for logging test data |
Ddautoblt.dll |
Test library |
Before you run the DirectDraw Test, you must include DirectX and DirectDraw in your operating system (OS) design. The SYSGEN_DDRAW Sysgen variable adds the required functionality to your OS design.
Note: When you run the DirectDraw Test, the Windows Embedded Compact Test Kit (CTK) temporarily copies files to the root directory of the target device. While the test runs, the test dynamically consumes program memory on the target device. Before running the test, verify that there is at least 0.9 megabytes (MB) of free storage memory on the target device. Also verify that there is at least 1.5 MB of free program memory on the target device. If there is not sufficient space in the root directory of the target device or there is not sufficient program memory, the test cannot run.
Subtests
The table below lists the subtests included in this test.
SubTest ID | Description |
---|---|
1000 |
Enumerate Display Modes |
1002 |
Get Caps |
1004 |
Create Surface |
1006 |
Create Palette |
1008 |
Create Clipper |
1100 |
AddRef⁄Release |
1102 |
QueryInterface |
1104 |
Get Caps |
1106 |
Get Surface Description |
1108 |
Get Pixel Format |
1110 |
Get⁄Release Device Context |
1114 |
Lock⁄Unlock |
1116 |
Get⁄Set Clipper |
1120 |
Color Filling Blts |
1200 |
Blt |
1204 |
AlphaBlt |
1210 |
ColorKey Blt |
1214 |
ColorKey AlphaBlt |
1220 |
Overlay Blt |
1224 |
Overlay AlphaBlt |
1230 |
ColorKeyOverlay Blt |
1234 |
ColorKeyOverlay AlphaBlt |
1304 |
AlphaBlt |
1314 |
ColorKey AlphaBlt |
1324 |
Overlay AlphaBlt |
1334 |
ColorKeyOverlay AlphaBlt |
2000 |
Enumerate Display Modes |
2002 |
Get Caps |
2004 |
Create Surface |
2006 |
Create Palette |
2008 |
Create Clipper |
2100 |
AddRef⁄Release |
2102 |
QueryInterface |
2104 |
Get Caps |
2106 |
Get Surface Description |
2108 |
Get Pixel Format |
2110 |
Get⁄Release Device Context |
2114 |
Lock⁄Unlock |
2116 |
Get⁄Set Clipper |
2118 |
Flip |
2120 |
Color Filling Blts |
2200 |
Blt |
2202 |
BltFast |
2204 |
AlphaBlt |
2210 |
ColorKey Blt |
2212 |
ColorKey BltFast |
2214 |
ColorKey AlphaBlt |
2220 |
Overlay Blt |
2222 |
Overlay BltFast |
2224 |
Overlay AlphaBlt |
2230 |
ColorKeyOverlay Blt |
2232 |
ColorKeyOverlay BltFast |
2234 |
ColorKeyOverlay AlphaBlt |
2300 |
Blt |
2302 |
BltFast |
2304 |
AlphaBlt |
2310 |
ColorKey Blt |
2312 |
ColorKey BltFast |
2314 |
ColorKey AlphaBlt |
2320 |
Overlay Blt |
2322 |
Overlay BltFast |
2324 |
Overlay AlphaBlt |
2330 |
ColorKeyOverlay Blt |
2332 |
ColorKeyOverlay BltFast |
2334 |
ColorKeyOverlay AlphaBlt |
Setting Up the Test
This test has no additional requirements, beyond the standard test environment setup.
Running the Test
Test executes the tux -o -d ddautoblt.dll command line on default execution. There are no other command line options used.
Verifying the Test
When the test completes running, verify that "PASS" appears in the test log for all sub-tests
Troubleshooting the Test
The following table shows problems that you may encounter while running the DirectDraw Blit Test and suggestions for resolving each problem.
Description | Resolution |
---|---|
Multiple test cases abort with the message Set Display Mode Failed. The driver may be returning display modes other than the current display mode in the HALInit function and display mode switching is not supported. |
Verify that the driver returns an appropriate display mode in the HALInit function. |
Multiple test cases fail when trying to create surfaces in system memory. The driver may be returning an incorrect error when the CreateSurface callback function is called. |
When the CreateSurface callback function is called with a surface type that the driver cannot handle, the driver should return DDHAL_DRIVER_HANDLED with ddRVal=DDERR_UNSUPPORTEDFORMAT. |
Test cases fail while locking or unlocking. The driver may not be allocating video memory outside of the Graphics, Windowing, and Events Subsystem (GWES) process space. |
Allocate video memory outside of the GWES process space with file mapping. |
For additional platform specific issues, consult the CTK articles on the TechNet wiki.