Skip to main content
设置渲染谓词。

语法

参数

pBuffer [in, optional]
类型:ID3D12Resource *
作为 ID3D12Resource 的缓冲区,必须处于 D3D12_RESOURCE_STATE_PREDICATIOND3D21_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
请参阅 Direct3D 12 参考中的示例代码

要求

头文件: d3d12_xs.h 或 d3d12_x.h
库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列

另请参阅

ID3D12GraphicsCommandList 谓词查询演练
最后修改于 2026年8月24日