hermapi

This WordPress.com site is the cat’s pajamas

Direct3D12 リファレンス日本語版欲しい 08

リファレンス多すぎてどこを読んだらいいのかだんだんワケワカランになってまいりました。

とりあえずルートシグニチャ(ルート署名)。これとっても大事っぽい。これがないと何もできないハズなので資料を読み進めていくことにしました。つーわけで、手元に残っている最後っぽい走り書きはコレ。

途中で心折れてる気配。

Using a Root Signature

ルートシグニチャの使い方

https://msdn.microsoft.com/en-us/library/windows/desktop/dn903950(v=vs.85).aspx

ルートシグニチャ(ルート証明)は、ルート定数、ルートデスクリプタ、デスクリプタテーブルのレイアウトを独自アレンジするための定義です。それぞれの要素にはコスト上限があるので、アプリケーションはルートシグニチャ内にそれぞれの要素をどれくらい配置するかトレードオフすることができます。

ルートシグニチャはAPIでマニュアル指定で作成することができるオブジェクトです。PSO(パイプラインステートオブジェクト)上のすべてのシェーダは、PSOで指定されているルートレイアウトと互換になっている必要があり、互換ではない場合、それぞれのシェーダは他のルートレイアウトに埋め込まれていなければなりません。この条件を満たさない場合PSOの生成は失敗します。シェーダを制作する際に、ルートシグニチャでの定義を知る必要はなく、シェーダが必要とされるタイミングでルートシグニチャは直接シェーダを制作することができます。既存のシェーダアセット(資産)は、ルートシグニチャの互換性のために変更する必要はありません。シェーダモデル5.1では、(シェーダ内に動的インデックス記述ができるので)拡張柔軟性があります。また、既存のシェーダでも必要に応じて追加することが可能です。

Command List Semantic

コマンドリストを開始すると、ルートシグニチャは未定義状態になります。グラフィクスシェーダはコンピュートシェーダから分割したルートシグニチャを所持し、それぞれ独自にコマンドリストが割り当てられます。ルートシグニチャは、コマンドリストまたはバンドルにセットされます。(これは現在のPSOで Draw/Dispath したものに合致します。) それ以外の場合の動作は未定義となります。 Draw/Dispath が完了するまでの期間、ルートシグニチャは不整合状態です。例えば、ルートシグニチャ互換に切り替わる前に、非互換のPSOが設定されるなどの状態があります。PSOを設定してもルートシグニチャは変更されません。アプリケーションは必要に応じてルートシグニチャを切り替える専用APIを呼び出す必要があります。

1度ルートシグニチャがコマンドリストに設定されると、レイアウトはアプリケーションが指定している場合にはバインディングと定義され、次回のDraw/Dispath 呼び出しでもコンパイル済みの同じレイアウトとして PSO が使用可能になります。

(以下翻訳省略……)

Direct3D12 リファレンス日本語版欲しい 08」への2件のフィードバック

  1. ピンバック:Direct3D12 リファレンス日本語版欲しい 09 | hermapi

  2. ピンバック:Direct3D12 リファレンス日本語版欲しい index | hermapi

コメントを残す