跳轉到主要內容
設定轉譯述詞。

語法

參數

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 述詞查詢逐步解說
最後修改於 2026年10月6日