DirectX 12 has become an invaluable tool for developers looking to get better performance for GPUs since it launched with Windows 10 in 2015. The Fall Creators Update has added some new features to the API that will make it easier to track down programming bugs and eliminating them.
Microsoft's Jacques van Rhyn posted on the DirectX Developers Blog that two new features have been introduced to allow devs to determine what commands might be causing a program to crash the GPU. The two tools are designed to be used in conjunction with each other, specifically when it comes to "device removed" or "device lost" errors.
The first involves improved data debugging. As van Rhyn explains:
Before the Fall Creators Update, applications had no direct control over the underlying resource memory. However, there are rare but important cases where applications may need to access resource memory contents, such as right after device removed errors.
We’ve implemented a tool that does exactly this. Developers with access to the contents of resource memory now have substantially more useful information to help them determine exactly where an error occurred. Developers can now optimize time spent trying to determine the causes of errors, offering them more time to fix them across systems.
The second is improved command debugging:
We’ve implemented another tool to be used alongside the previous one. Essentially, it can be used to create markers that record which commands sent from the CPU have already been executed and which ones are in the process of executing. Right after a crash, even a device removed crash, this information remains behind, which means we can quickly figure out which commands might have caused it—information that can significantly reduce the time needed for game development and bug fixing.
Van Rhyn said the tools are valuable for developers because it allows them to spend more time on building "high-performance, reliable games instead of continuously searching for the root causes of a particular bug."
In addition, he went into a bit more detail on the Depth Bounds Testing and Programmable Multisample Anti-Aliasing (aka MSAA) implemented in the Creators Update in April.
The Fall Creators Update also fixed several DirectX 12 bugs, and the Microsoft devs have begun updating the PIX graphics debugging software on a monthly basis.