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