Skip to main content
レンダリング述語を設定します。

構文

パラメーター

pBuffer [in, optional]
型: ID3D12Resource *
ID3D12Resource としてのバッファー。D3D12_RESOURCE_STATE_PREDICATION または D3D21_RESOURCE_STATE_INDIRECT_ARGUMENT 状態でなければなりません (どちらの値も同じですが、明確化のためのエイリアスとして提供されています)。述語を無効にするには NULL を指定します。 AlignedBufferOffset [in]
型: UINT64
UINT64 としてのアライメント済みバッファー オフセット。 Operation [in]
型: D3D12_PREDICATION_OP
D3D12_PREDICATION_OP を指定します。たとえば、D3D12_PREDICATION_OP_EQUAL_ZERO や D3D12_PREDICATION_OP_NOT_EQUAL_ZERO です。

戻り値

型: void なし。

解説

このメソッドを使用して、述語の結果データが指定された演算と等しい場合に、後続のレンダリングおよびリソース操作コマンドが実際には実行されないことを示します。 Direct3D 11 とは異なり、Direct3D 12 では述語ステートは直接コマンド リストに継承されず、述語は常に尊重されます (述語ヒントはありません)。 すべての直接コマンド リストは述語が無効の状態で開始されます。 バンドルは述語ステートを継承します。 同じ述語を複数回バインドすることは合法です。 不正な API 呼び出しは、Close がエラーを返すか、ID3D12CommandQueue::ExecuteCommandLists がコマンド リストを破棄してデバイスを削除する結果となります。 デバッグ レイヤーは、ランタイム検証が失敗した場合にエラーを発行します。 詳細については、述語 を参照してください。

D3D12PredicationQueries サンプルでは、ID3D12GraphicsCommandList::SetPredication を次のように使用しています。
D3D12 リファレンスのサンプル コード を参照してください。

要件

ヘッダー: d3d12_xs.h または d3d12_x.h
ライブラリ: d3d12_xs.lib または d3d12_x.lib
サポートされるプラットフォーム: XBOX Series 本体および XBOX One ファミリ

関連項目

ID3D12GraphicsCommandList Predication クエリのウォークスルー
最終更新日 2026年8月24日