共用方式為


D3D12DDI_WORK_GRAPH_DESC_0108 結構 (d3d12umddi.h)

D3D12DDI_WORK_GRAPH_DESC_0108 結構會定義類型D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH的狀態子物件。

語法

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;

成員

ProgramName

工作圖形的名稱。 這個名稱在指定的狀態物件中是唯一的。

Version

此工作圖形的版本號碼,從 0 開始。 使用 PFND3D12DDI_ADD_TO_STATE_OBJECT_0072 時,這個值會針對新版本遞增。

如果狀態物件有一些新增至其其他部分, (其他工作圖形) 新增了新建立的工作圖形,即使狀態物件本身有一些反覆專案,Version 還是會是 0。即使狀態物件本身有一些反覆專案也一樣。 同樣地,如果新增至狀態物件的其他部分,但其中的特定工作圖形單獨存在,則在下次新增工作圖形本身之前,其版本不會變更。 Version 值與 D3D12DDI_NODE_0108 [VersionAdded] 字段中所使用的編號相同。

Flags

D3D12DDI_WORK_GRAPH_FLAGS_0108列舉,指定控制工作圖形行為的旗標。

NumNodes

工作圖形內的節點數目,包括發生加法時已經存在的節點數目。 這個值會決定 pNodes 陣列中的項目數目。

pNodes

D3D12DDI_NODE_LIST_ENTRY_0108 結構的陣列指標,其中每個專案都代表工作圖形中的節點定義。

即使使用 D3D12DDI_WORK_GRAPH_FLAG_ADD_TO_EXISTING_WORK_GRAPH 旗標, pNodes 仍 指向圖形中所有節點的清單。 新的節點會出現在清單的開頭。

NumEntrypoints

如果發生加法,包括已經存在的進入點數目。 這個值會決定 pEntrypoints 陣列中的項目數目。

pEntrypoints

D3D12DDI_NODE_LIST_ENTRY_0108 結構的陣列指標,其中每個專案都代表工作圖形中的進入點。

即使使用 D3D12DDI_WORK_GRAPH_FLAG_ADD_TO_EXISTING_WORK_GRAPH 旗標, pEntryPoints 也會 指向所有進入點的清單。 新的進入點會出現在清單開頭,並繼續在舊版之後的進入點索引編號。 例如,假設圖形的初始版本有兩個進入點。 此清單會有兩個專案,而驅動程式必須推斷它們分別具有輸入點索引 [0] 和 [1] ,以便從 PFND3D12DDI_DISPATCH_GRAPH_0108指派記錄。 如果發生加法,有 3 個新的進入點,則新圖形版本的清單會有 5 個項目進入點,而新專案則位於清單開頭。 驅動程式必須在清單開頭推斷 3 個新項目的進入點索引, (具有新版本) 的專案,因此完整清單會是 [2]、[3]、[4]、[0]、[1]。 在理想情況下,這些指派會由 DDI 中的運行時間提供,因此驅動程式不需要找出這個問題,但這是遺漏的,並視為不夠重要而無法修正。

備註

D3D12DDI_WORK_GRAPH_DESC_0108結構描述工作圖形。 工作圖形本身是節點的集合,其中每個節點代表工作單位或工作。 節點可以彼此相依,以定義執行順序。 進入點是可以開始執行的節點,通常是沒有相依性的節點,或是可以立即執行的節點。

運行時間提供 API 層級的便利性,例如只藉由列出進入點或甚至要求使用所有可用節點來定義工作圖形。 運行時間會採用 API 工作圖形定義、驗證它,並將圖形中最後一組節點提供給驅動程式,如此 D3D12DDI_WORK_GRAPH_DESC_0108 結構所述。

如需詳細資訊,請參閱 工作圖表

規格需求

需求
最低支援的用戶端 Windows 11 版本 24H2 (WDDM 3.2)
標頭 d3d12umddi.h

另請參閱

D3D12DDI_NODE_LIST_ENTRY_0108

D3D12DDI_STATE_SUBOBJECT_TYPE

D3D12DDI_WORK_GRAPH_FLAGS_0108

PFND3D12DDI_ADD_TO_STATE_OBJECT_0072

PFND3D12DDI_CREATE_STATE_OBJECT_0054

PFND3D12DDI_DISPATCH_GRAPH_0108