Graphiques de travail

Work Graphs est un système d’autonomie GPU dans Direct3D 12 qui permet la création de travail basée sur GPU. Les threads de nuanceur s'exécutant sur le GPU peuvent initier d'autres tâches pour qu'elles s'exécutent sans attendre leur démarrage, le système prenant en charge la planification et la gestion de la mémoire pour le transfert de données entre les tâches.

Cet article décrit les DDIs qui sont ajoutés pour un pilote graphique en mode utilisateur (UMD) pour prendre en charge les graphiques de travail D3D12. La fonctionnalité de graphe de travail est disponible à partir de Windows 11, version 24H2 (WDDM 3.2). Vous trouverez une explication détaillée des graphiques de travail dans la spécification D3D12 Work Graphs .

Les programmes génériques sont une fonctionnalité connexe qui permet de définir des graphiques et des pipelines de calcul au sein d’objets d’état, en utilisant la même infrastructure que les graphiques de travail et le raytracing.

Prise en charge des graphiques de travail de création de rapports

UMD signale sa prise en charge des graphiques de travail via les interfaces suivantes :

Tables de fonctions DDI

Pour prendre en charge les graphiques de travail, UMD doit implémenter les fonctions suivantes et fournir des pointeurs vers ceux-ci dans les tables de fonctions DDI suivantes :

Les pages de référence pour les dizaines de structures de graphe de travail et d'énumérations associées à ces DDIs ajoutés peuvent être découvertes en suivant les liens depuis les pages de référence DDI.

Les D3D12DDI_STATE_SUBOBJECT_TYPE types de sous-objets suivants (et leurs structures de création d’objets d’état connexes) sont pertinents pour les graphiques de travail.

Définition Valeur Enum Structure associée
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

Dans une définition d’objet d’état au niveau de la DDI, les graphiques de travail sont un sous-objet de type D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH. Consultez la structure D3D12DDI_WORK_GRAPH_DESC_0108 pour la disposition du sous-objet. Les structures et énumérations associées sont liées à partir de la page de référence de cette structure.

Les autres types de sous-objets sont hérités as-is de la spécification DXR.