D3D12_GLOBAL_ROOT_SIGNATURE 結構 (d3d12.h)

定義將與相關聯著色器搭配使用的全域根簽章狀態子專案。

語法

typedef struct D3D12_GLOBAL_ROOT_SIGNATURE {
  ID3D12RootSignature *pGlobalRootSignature;
} D3D12_GLOBAL_ROOT_SIGNATURE;

成員

pGlobalRootSignature

做為全域根簽章的根簽章。 狀態物件會保存這個簽章的參考。

備註

狀態物件中存在這個子物件是選擇性的。 與任何指定著色器函式相關聯的全域和/或本機根簽章組合,必須定義著色器所宣告的所有資源系結,且全域和本機根簽章之間沒有重迭。

如果呼叫圖形中的任何指定函式與特定全域根簽章相關聯,則圖形中的任何其他函式都必須與相同的全域根簽章或無相關聯,而且呼叫圖形的根目錄 (著色器專案) 必須與全域根簽章相關聯。

不同的著色器可以在狀態物件內使用不同的全域根簽章 (或無) ,不過從命令清單的特定 DispatchRays 作業期間參考的任何著色器,都必須指定與命令清單上設定為計算根簽章相同的全域根簽章。 因此,使用多個與著色器子集相關聯的全域根簽章來定義單一大型狀態物件是有效的。 應用程式不會強制分割其狀態物件,因為某些著色器使用不同的全域根簽章。

需求

   
標頭 d3d12.h