D3D12_VIEW_INSTANCING_TIER列挙 (d3d12.h)
ビューインスタンス化がサポートされているレベルを示します。
構文
typedef enum D3D12_VIEW_INSTANCING_TIER {
D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
D3D12_VIEW_INSTANCING_TIER_1 = 1,
D3D12_VIEW_INSTANCING_TIER_2 = 2,
D3D12_VIEW_INSTANCING_TIER_3 = 3
} ;
定数
D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED 値: 0 ビューインスタンス化はサポートされていません。 |
D3D12_VIEW_INSTANCING_TIER_1 値: 1 ビューインスタンス化は、描画呼び出しレベルのループでのみサポートされています。 |
D3D12_VIEW_INSTANCING_TIER_2 値: 2 ビューインスタンス化は、最悪の場合は描画呼び出しレベルのループによってサポートされますが、GPU はアーキテクチャに依存する特定の状況でより効率的にビューインスタンス化を実行できます。 |
D3D12_VIEW_INSTANCING_TIER_3 値: 3 ビューインスタンス化はサポートされており、インスタンス化は、SV_ViewIDを参照する最初のシェーダー ステージから始まり、シェーダー ステージ参照がSV_ViewIDされていない場合はラスタライズで開始されます。 つまり、SV_ViewIDに依存していない場合、ビュー インスタンス間で冗長な作業が排除されます。 ラスター化の前に、SV_ViewIDに直接依存しない作業は、すべてのビューで共有されます。SV_ViewIDに依存する作業のみがビューごとに繰り返されます。 メモ ハル シェーダーがSV_ViewIDに依存するテセレーション係数を生成する場合は、テセレーションと後続のすべての作業をビューごとに繰り返す必要があります。 同様に、ジオメトリ シェーダーによって生成されるジオメトリの量がSV_ViewIDに依存する場合は、ラスタライズに進む前に、ジオメトリ シェーダーをビューごとに繰り返す必要があります。 ビュー インスタンス マスクは、ループ全体の繰り返し (ビューごと) ではなく、SV_ViewIDに直接依存する作業が実行されるかどうかにのみ影響します。 ビュー インスタンス マスクが 0 以外の場合、SV_ViewIDに依存する一部の作業はマスクオフ ピクセルで引き続き実行される可能性がありますが、外部から見える効果はありません。たとえば、UAV 書き込みは実行されず、クリッピング/ラスタライズは呼び出されません。 ビュー インスタンス マスクが 0 の場合、SV_ViewIDに依存しない作業も含め、作業は実行されません。 |
要件
要件 | 値 |
---|---|
Header | d3d12.h |