Work graphs

This article describes the DDIs that are added for a user-mode graphics driver (UMD) to support D3D12 work graphs. The work graph feature is available starting in Windows 11, version 24H2 (WDDM 3.2). A detailed explanation of work graphs can be found in the D3D12 Work Graphs specification.

Reporting work graphs support

The following interfaces are updated or introduced for a UMD to report its support for work graphs:

DDI function tables

To support work graphs, UMD must implement the following functions and provide pointers to them in the following DDI function tables:

Reference pages for the dozens of work graph structures and enums associated with these added DDIs can be discovered by following the links from the DDI reference pages.

The following D3D12DDI_STATE_SUBOBJECT_TYPE subobject types (and their related state object creation structures) are relevant to work graphs.

Definition Enum Value Related Structure
D3D12DDI_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG 0 D3D12DDI_STATE_OBJECT_CONFIG_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE 1 D3D12DDI_GLOBAL_ROOT_SIGNATURE_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE 2 D3D12DDI_LOCAL_ROOT_SIGNATURE_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_NODE_MASK 3 D3D12_NODE_MASK_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY 5 D3D12DDI_DXIL_LIBRARY_DESC_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION 6 D3D12DDI_EXISTING_COLLECTION_DESC_0054
D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH 13 D3D12DDI_WORK_GRAPH_DESC_0108
D3D12DDI_STATE_SUBOBJECT_TYPE_SHADER_EXPORT_SUMMARY 0x100000 D3D12DDI_FUNCTION_SUMMARY_005

In a state object definition at the DDI, work graphs are a subobject of type D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH. See the D3D12DDI_WORK_GRAPH_DESC_0108 structure for the subobject layout. Related structures and enums are linked from this structure's refpage.

The other subobject types are inherited as-is from the DXR specification.