D3D12DDI_WORK_GRAPH_DESC_0108 Struktur (d3d12umddi.h)
Die D3D12DDI_WORK_GRAPH_DESC_0108-Struktur definiert das Zustandsunterobjekt vom Typ D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH.
Syntax
typedef struct D3D12DDI_WORK_GRAPH_DESC_0108 {
LPCWSTR ProgramName;
UINT Version;
D3D12DDI_WORK_GRAPH_FLAGS_0108 Flags;
UINT NumNodes;
const D3D12DDI_NODE_LIST_ENTRY_0108 *pNodes;
UINT NumEntrypoints;
const D3D12DDI_NODE_LIST_ENTRY_0108 *pEntrypoints;
} D3D12DDI_WORK_GRAPH_DESC_0108;
Angehörige
ProgramName
Name des Arbeitsdiagramms. Dieser Name ist im angegebenen Zustandsobjekt eindeutig.
Version
Die Versionsnummer dieses Arbeitsdiagramms, beginnend bei 0. Wenn PFND3D12DDI_ADD_TO_STATE_OBJECT_0072 verwendet wird, erhöht sich dieser Wert für neue Versionen.
Wenn ein Zustandsobjekt, das ein paar Ergänzungen enthält, zu anderen Teilen davon (vielleicht andere Arbeitsdiagramme) ein neu erstelltes Arbeitsdiagramm erhält, wird Version 0 für die anfängliche Darstellung des neuen Arbeitsdiagramms sein, obwohl das Zustandsobjekt selbst einige Iterationen hatte. Wenn Hinzufügungen zu anderen Teilen eines Zustandsobjekts vorgenommen werden, aber ein bestimmtes Arbeitsdiagramm darin allein gelassen wird, ändert sich die Version erst, wenn das nächste Mal eine Ergänzung zum Arbeitsdiagramm selbst vorgenommen wird. Der Wert "Version" ist dieselbe Nummerierung, die im Feld VersionAddedD3D12DDI_NODE_0108verwendet wird.
Flags
Eine D3D12DDI_WORK_GRAPH_FLAGS_0108 Enumeration, die Kennzeichen angibt, die das Verhalten des Arbeitsdiagramms steuern.
NumNodes
Die Anzahl der Knoten innerhalb des Arbeitsdiagramms, einschließlich bereits vorhandener Knoten, wenn eine Ergänzung stattfindet. Dieser Wert bestimmt die Anzahl der Elemente im pNodes Arrays.
pNodes
Zeigen Sie auf ein Array von D3D12DDI_NODE_LIST_ENTRY_0108 Strukturen, wobei jeder Eintrag eine Knotendefinition im Arbeitsdiagramm darstellt.
Auch bei der kennzeichnung D3D12DDI_WORK_GRAPH_FLAG_ADD_TO_EXISTING_WORK_GRAPH zeigt pNodes auf eine Liste aller Knoten im Diagramm. Neue Knoten werden am Anfang der Liste angezeigt.
NumEntrypoints
Anzahl der Einstiegspunkte, einschließlich bereits vorhandener, wenn eine Ergänzung stattfindet. Dieser Wert bestimmt die Anzahl der Elemente in den pEntrypoints Arrays.
pEntrypoints
Zeiger auf ein Array von D3D12DDI_NODE_LIST_ENTRY_0108 Strukturen, wobei jeder Eintrag einen Einstiegspunkt im Arbeitsdiagramm darstellt.
Auch bei der D3D12DDI_WORK_GRAPH_FLAG_ADD_TO_EXISTING_WORK_GRAPH-Kennzeichnung verweist pEntryPoints auf eine Liste aller Einstiegspunkte. Neue Einstiegspunkte werden am Anfang der Liste angezeigt und setzen die Indexnummerierung nach früheren Versionen fort. Angenommen, die ursprüngliche Version eines Diagramms weist zwei Einstiegspunkte auf. Diese Liste hätte zwei Einträge, und der Treiber muss ableiten, dass sie Einstiegspunktindizes [0] bzw. [1] für Datensatzzuweisungen aus PFND3D12DDI_DISPATCH_GRAPH_0108haben. Wenn eine Ergänzung erfolgt, mit 3 neuen Einstiegspunkten, hätte die Liste für die neue Graph-Version 5 Einstiegspunkteinträge mit den neuen Einträgen am Anfang der Liste. Der Treiber muss die Einstiegspunktindizes der 3 neuen Einträge am Anfang der Liste (die Einträge mit der neuen Version) ableiten, sodass die vollständige Liste [2], [3], [4], [0], [1] ist. Im Idealfall wurden diese Zuordnungen von der Laufzeit in der DDI bereitgestellt, sodass der Treiber dies nicht ermitteln müsste, aber dies wurde verpasst und gilt als nicht wichtig genug, um das Problem zu beheben.
Bemerkungen
Die D3D12DDI_WORK_GRAPH_DESC_0108 Struktur beschreibt ein Arbeitsdiagramm. Das Arbeitsdiagramm selbst ist eine Sammlung von Knoten, wobei jeder Knoten eine Arbeitseinheit oder eine Aufgabe darstellt. Knoten können Abhängigkeiten voneinander aufweisen, die die Ausführungsreihenfolge definieren. Einstiegspunkte sind die Knoten, auf denen die Ausführung beginnen kann, und sind in der Regel die Knoten ohne Abhängigkeiten oder solche, die sofort ausgeführt werden können.
Die Laufzeit bietet Komfort auf API-Ebene, z. B. das Definieren eines Arbeitsdiagramms nur durch Auflisten von Einstiegspunkten oder sogar durch Die Aufforderung, alle verfügbaren Knoten zu verwenden. Die Laufzeit verwendet die API-Arbeitsdiagrammdefinition, überprüft sie und gibt dem Treiber den endgültigen Satz von Knoten im Diagramm, dargestellt in dieser D3D12DDI_WORK_GRAPH_DESC_0108 Struktur.
Weitere Informationen finden Sie unter Arbeitsdiagramme.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 11, Version 24H2 (WDDM 3.2) |
Header- | d3d12umddi.h |
Siehe auch
D3D12DDI_WORK_GRAPH_FLAGS_0108
PFND3D12DDI_ADD_TO_STATE_OBJECT_0072