DirectX Developer Blog
The latest news on Microsoft's Graphics and Display technology
Latest posts

A Look Inside D3D12 Resource State Barriers
Many D3D12 developers have become accustomed to managing resource state transitions and read/write hazards themselves using the ResourceBarrier API. Prior to D3D12, such details were handled internally by the driver. However, D3D12 command lists cannot provide the same deterministic state tracking as D3D10 and D3D11 device contexts. Therefore, state transitions need to be scheduled during D3D12 command list recording. When used responsibly, applications are able to minimize GPU cache flushes and resource state changes. However, it can be tricky to properly leverage resource barriers for correct behavior while a...

DRED v1.2 supports PIX marker and event strings in Auto-Breadcrumbs
In Windows 10 1903, DRED 1.1 provided D3D12 developers with the ability to diagnose device removed events using GPU page fault data and automatic breadcrumbs. As a result, TDR debugging pain has been greatly reduced. Hooray! Unfortunately, developers still struggle to pinpoint which specific GPU workloads triggered the error. So, we've made a few tweaks in DRED in the Windows 10 20H1 Release Preview. Specifically, DRED 1.2 adds 'Context Data' to auto-breadcrumbs by integrating PIX marker and event strings into the auto-breadcrumb data. With context data, developers can more precisely determine where a GPU fa...

D3DConfig: A new tool to manage DirectX Control Panel settings
The DirectX Control Panel (DXCpl.exe) has dutifully given developers the ability to configure Direct3D debug settings for nearly two decades. But what started as a simple utility for controlling D3D debug output and driver type selection has struggled to keep up with modern DX12 debugging options. In addition, the UI-based DXCpl doesn’t integrate into automation scripts, nor is it useful on scaled-down Windows platforms that do not support Win32-based user interfaces. What we need is a command line tool Introducing D3DConfig.exe in, a console app compatible with DXCpl. The D3DConfig tool can display and modi...

Porting DirectX 12 games to Windows 7

We publish documents, header files, binaries, and samples to allow game developers to run their DirectX 12 games on Windows 7.

New in D3D12 – Motion Estimation
In the Windows 10 May 2019 Update, codenamed 19H1, D3D12 has added a new Motion Estimation feature to D3D12. Motion estimation is the process of determining motion vectors that describe the transformation from one 2D image to another. Motion estimation is an essential part of video encoding and can be used in frame rate conversion algorithms. Windows Mixed Reality leverages this feature as part of it’s Motion Reprojection feature as of the latest beta release. While motion estimation can be implemented with shaders, the purpose of the D3D12 Motion Estimation feature is to expose fixed function acceleration for...

Use VHD to Accelerate DirectX 12 Development

In case game developers are limited on how frequently they can upgrade Windows 10 on their dev machines, they can use VHD files to quickly set up a new Windows 10 OS partition and to access new or preview features from DirectX 12.

Useful Links

Below is a list of links that a DirectX 12 developer would find useful:

We’re upgrading to discord!

We’re upgrading the directxtech.com forum to a Discord channel - go to https://discord.gg/directx to join today! We’re going to use our Discord channel in the same way as our directxtech.com forums, which means that game developers will still have a great resource to get their DirectX12 questions answered, file bug reports, and to give us feedback about the things they’d like to see us add to our API. Why the move? Developers are increasingly using team chat software, and we've gotten consistent feedback from our developer partners that they prefer a more direct, low-latency way to communicate with us. ...

Debugger Extension for DRED
Microsoft recently announced the release of DRED (Device Removed Extended Data) for D3D12 in the Windows 10 May 2019 Update (previously referred to as the Windows 10 19H1 Preview). Buried in that post is a mention that Microsoft is working on a debugger extension to help simplify post-mortem analysis of DRED. Good news, that debugger extension is now available on GitHub. D3DDred.js is a JavaScript debugger extension for WinDbg (available here). This extension makes it possible to examine the DRED output with clear context and a human-readable layout. Why WinDbg? Besides being a powerful, lightweight debugge...