ルートシグネチャ
シェーダーがどのリソースを必要とし、それがパイプラインにどう結び付けられるかを正確に宣言する、Direct3D 12 の取り決め。
従来の API は、テクスチャやバッファを一つずつ緩やかにバインドしていた。Direct3D 12 はこれと異なり、バインディングのレイアウト全体をルートシグネチャとして事前に宣言させる。どのディスクリプタテーブル、ルート定数、ルートディスクリプタがあり、どのレジスタに置かれるかを示すものだ。ドライバーはレイアウトを検証でき、ドローコールごとの処理を最適化して省ける。
ルートシグネチャは、パラメータが少なく変更の頻度も低い小さなものほど高速に動く。Vulkan での対応物は、パイプラインレイアウトとディスクリプタセットレイアウトである。パイプラインステートオブジェクトと対になり、こちらは残りの GPU 状態をコンパイル済みのかたまりに固定する。