Microsoft DirectX Dump Files Beta launches as new diagnostic standard for cross IHV graphics card failure diagnosis with AMD Intel NVIDIA and Qualcomm support
After an initial reveal at the Game Developers Conference, Microsoft announced today the public beta of DirectX Dump Files. This new diagnostic standard will help eliminate one of the most frustrating challenges encountered in PC gaming: no cross IHV diagnosis of graphics card failure. The new diagnostic standard is the culmination of several years of joint work from the Microsoft, the Windows graphics kernel team, and leading manufacturers AMD, Intel, NVIDIA and Qualcomm.
One of the large obstacles to diagnosing GPU crashes on Windows has been the sheer variety of driver hardware OS updates. The Microsoft dxdmp file format was designed to serve as a common container to hold a comprehensive picture of the hardware state, driver data, Direct3D runtime information, and application memory at the time of a failure. These dumps can then be examined in PIX independently of the local setup or application run.
Crash collection Starts automatically when the Windows operating system sees that a graphics processor is hanging and stops making forward progress. Windows uses the WDDM's Timeout Detection and Recovery standard protocol to reset the device and recovers the system. Concurrently, The DirectX runtime creates the structured dxdmp file at the place of crash.
Developers can register their applications for callback on creation to get the file exact path and can integrate tools into existing automated crash pipeline. Developers can keep the file local to the developer machine for quick postmortem analysis.
To get the most out of these files, Microsoft suggests setting up the runtime to run in retail annotation mode so that it will send any PIX markers to the graphics driver. The PIX markers enable PIX to reassemble frames and build the event lists during offline analysis. Using the new HLSL DebugBreak intrinsic (new with Shader 4.0) developers can deliberately initiate a TDR sequence and create a dxdmp file even if a shader hits an unforeseen state thus greatly simplifying the job of tracking down infrequent rendering bugs.
These diagnostic files generate require specific os and drivers support. At present this feature is supported on latest preview builds of Windows 24H2, 25H2, 26 H1 with the required cumulative updates installed. Developers also need to turn on Developer Mode in their machine and use the Agility SDK of 1.721.1 preview. Basic dump file with runtime context alone will be generated on unsupported operating system but if you need to generate a complete hardware driver level diagnostics, will need dedicated drivers from your hardware partners.
To make the profiling software more playable during testing, Microsoft has added 3 separate overhead levels: NO OVERHEAD, which allows crash capture at no frame rate overhead, and is suitable for more general internal testing; a MEDIUM OVERHEAD level, which gathers some diagnostic data at a low to medium frame rate overhead; and a HIGH OVERHEAD level, which gathers the most detailed driver and processor state data, to be used during internal debugging.
The companion PIX tool has been updated to consume the new dxdmp format, providing a number of targeted diagnosis perspectives. The Summary View auto determines a root cause of failure and whether Device Removed Extended Diagnostics features were enabled. The Events View presents a chronology of all API calls and driver events in a hierarchical manner; the Page Faults View monitors faulting virtual addresses and correlates them to known memory allocations. The Shader Waves View and Shaders View enable developers to examine precisely which HLSL source or DXIL instructions were executing when the crash occurred (offending instruction will be marked with an error icon).
Microsoft anticipates that a full retail release of support for DirectX Dump Files will be released in the second half of the year. Prior to that, this preview is intended solely for internal testing purposes and to validate the workflow. Developers may manipulate this file interactively through PIX, or programmatically through the PIX API to embed this into automated build processes.
