Preemption - Validate driver preemption level (single)

This automated test measures the time that it takes to preempt a specific workload on the test machine. The three supported levels of preemption are: no preemption, DMA boundary preemption, and middle of the DMA packet preemption. This test validates that the driver preempts according to its claim. The test also measures the times that preemptions take, relative to the associated DMA packets. DWM must be on to generate the preemption requests.

Test details

Associated requirements

Device.Graphics.WDDM12.Render.PreemptionGranularity

See the device hardware requirements.

Platforms

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

Expected run time

~2 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.

This preemption test generates workloads of ever-increasing sizes that show up as DMA packets on the hardware. The test generates a new size for each iteration through the main test loop. During each loop, the test also monitors the time that the DMA packets take to be serviced. This includes both the standard render packets and the preemption request packets. The test expects a preemption request to be generated by the system each time DMA needs to compose the screen for the user. For standard DMA boundary preemption, the test expects the preemption request packets run times to converge towards the DMA render packet run times, as the run times increase.

If an error is reported by the test, most details can be found in the associated xml file. Search for the error condition and review the information that is logged just before the error. The log file should describe what needs to be investigated.

If an error is reported by the test, if should be manually investigated by inspecting a trace file. We recommend that you create a trace file by using log.cmd that ships with GPUView.exe in the NT performance Toolkit. Make sure that preemption request packets are being generated and that no packets are getting preempted when DMA boundary preemption level is reported.

More information

Command syntax

Parameter Description

GrowPrimitiveCount

Instructs test to grow its primitive count on each iteration through the loop (See iteration parameter).

Default value: Required

Time

Defines the time of each loop (See iteration parameter).

Default value: 5

ppFrame

Count of Primitives Per Frame to use as a starting value.

Default value: 1

Triangles

The number of triangles for the triangle list.

Default value: 1000

ppPrimitive

Pixels Per Primitive – defines the triangle size.

Default value: 500

ShaderInstructions

Number of times to loop in the shader.

Default value: 2

Windowed

Instruct the test to run windowed rather than full screen.

Default value: True

Iterations

Number of times to loop and grow the primitives.

Default value: 40

 

File list

File Location

Dxgfault.exe

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

SchBillboard.exe

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\\

SchManager.exe

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

Surfboard.exe

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

TdrDelayTimeLong.reg

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

TdrDelayTimeNormal.reg

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

TdrLimitTimeLong.reg

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

TdrLimitTimeNormal.reg

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

WGFPayloadTDR.exe

<testbinroot>\nttest\windowstest\Graphics\wddm\bin\

 

Graphic Adapter or Chipset Tests

 

 

Send comments about this topic to Microsoft