语法
参数
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_xs.h 或 d3d12_x.h库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列
