根簽章
根簽章會定義哪些資源類型會系結至圖形管線。
本節內容
主題 | 描述 |
---|---|
根簽章概觀 |
根簽章是由應用程式設定,並將命令清單連結至著色器所需的資源。 圖形命令清單同時具有圖形和計算根簽章。 計算命令清單只會有一個計算根簽章。 這些根簽章彼此獨立。 |
使用根簽章 |
根簽章是任意排列的描述中繼資料表集合的定義, (包括其配置) 、根常數和根描述元。 每個專案都有最大限制的成本,因此應用程式可以取捨根簽章將包含之每個類型專案數目之間的餘額。 |
建立根簽章 |
根簽章是包含巢狀結構的複雜資料結構。 您可以使用下列資料結構定義,以程式設計方式定義這些 (,其中包含可協助初始化成員的方法) 。 或者,它們可以以高階網底語言 (HLSL 撰寫,) 讓編譯器在早期驗證配置與著色器相容。 |
根簽章限制 |
根簽章是主要房地產,而且需要考慮嚴格的限制和成本。 |
直接在根簽章中使用常數 |
應用程式可以在根簽章中定義根常數,每個常數都是一組 32 位值。 它們會以高階網底語言 (HLSL) 顯示為常數緩衝區。 請注意,基於歷史原因的常數緩衝區會視為 4x32 位值的集合。 |
直接在根簽章中使用描述元 |
應用程式可以直接將描述項放在根簽章中,以避免必須通過描述項堆積。 這些描述項在根簽章中佔用許多空間 (請參閱根簽章限制一節) ,因此應用程式必須謹慎使用。 |
範例根簽章 |
下一節顯示根簽章的複雜度從空白到完全完整。 |
在 HLSL 中指定根簽章 |
在 HLSL 著色器模型 5.1 中指定根簽章是以 C++ 程式碼指定根簽章的替代方式。 |
根簽章 1.1 版 |
根簽章 1.1 版的目的是讓應用程式在描述元堆積中的描述項不會變更或資料描述元指向不會變更時,向驅動程式指出。 這可讓驅動程式選擇進行優化,可能知道描述元或指向的記憶體在一段時間內是靜態的。 |