Preemption Test
The GPU Preemption tests are designed to exercise the code paths where the driver is requested to preemption work in progress on the GPU. The tests check for compliance with the WDDM1.2 feature set and validate that when the system does preempt, the response time is in line with what is expected.
This test document is applicable to the following test jobs:
Preempt - Schedule reasonable workload 4 ms check
Preempt - Scheduler WLK PERF - Time to high priority completions (PoliceMS)
Preempt - Scheduler WLK PERF - Time to high priority Preemptions (PoliceMS)
Preempt - Scheduler WLK Validate non-zero preemption values for WDDM1.2 hardware
Preemption - Validate driver preemption level (single)
Test details
Associated requirement(s) |
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) |
Run time |
~2 minutes |
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
Some of the test jobs described in this document require the running of multiple binaries at the same time. Because of this, script files are used and referred too below.
Note
All test scripts must be run with administrator privileges from a command prompt. The test binaries generate log files that should have no failures.
Test job | Command script details |
---|---|
Preempt - Schedule reasonable workload 4 ms check |
REM Copy these lines into a script file and run as adminSchManager.exe ListenForPreemptionTime Time:30 SyncWith:LilyFly ProcCount:4 Loop:1 windowed:true Quadrant:4 PoliceMS:truesched_basic.exe -I:3 -ProcCount:4 -SyncWith:LilyFly |
Preempt - Scheduler WLK PERF - Time to high priority completions (PoliceMS) |
Preempt_Time_to_Completions.cmd |
Preempt - Scheduler WLK PERF - Time to high priority Preemptions (PoliceMS) |
Preempt_Time_to_Preemptions.cmd |
Preempt - Scheduler WLK Validate non-zero preemption values for WDDM1.2 hardware |
REM Copy these lines into a script file and run as adminSchBillboard.exe Time:5 SyncWith:ABC123HiGirls ProcCount:2 Quadrant:2SchManager.exe ListenForPreemptionTime EnforcePreemptionSupport:true Time:5 SyncWith:ABC123HiGirls ProcCount:2 Loop:1 windowed:true Quadrant:4 |
Preemption - Validate driver preemption level (single) |
REM Only one application to run here.Surfboard.exe GrowPrimitiveCount Time:5 ppFrame:1 Triangles:1000 ppPrimitive:10000 ShaderInstructions:2 windowed:true iterations:40 |
Command syntax
See the individual script files for test combination command lines.
File list
File | Location |
---|---|
SchBillboard.exe |
<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
SchManager.exe |
<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\ |
SurfBoard.exe |
<testbinroot>\nttest\WINDOWSTEST\Graphics\wddm\bin\\ |