Share via


DDraw Blt test (Compact 2013)

3/26/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.

See Also

Other Resources

Display - DirectDraw Tests