Pular para o conteúdo principal
Define um predicado de renderização.

Sintaxe

Parâmetros

pBuffer [in, optional]
Tipo: ID3D12Resource *
O buffer, como um ID3D12Resource, que deve estar no estado D3D12_RESOURCE_STATE_PREDICATION ou D3D21_RESOURCE_STATE_INDIRECT_ARGUMENT (ambos os valores são idênticos e fornecidos como aliases para maior clareza), ou NULL para desabilitar a predicação. AlignedBufferOffset [in]
Tipo: UINT64
O deslocamento alinhado do buffer, como um UINT64. Operation [in]
Tipo: D3D12_PREDICATION_OP
Especifica um D3D12_PREDICATION_OP, como D3D12_PREDICATION_OP_EQUAL_ZERO ou D3D12_PREDICATION_OP_NOT_EQUAL_ZERO.

Valor retornado

Tipo: void Nenhum.

Comentários

Use este método para indicar que os comandos subsequentes de renderização e manipulação de recursos não serão realmente executados se os dados resultantes do predicado forem iguais à operação especificada. Diferentemente do Direct3D 11, no Direct3D 12 o estado de predicação não é herdado por listas de comandos diretas, e a predicação é sempre respeitada (não há dicas de predicação). Todas as listas de comandos diretas começam com a predicação desabilitada. Os pacotes herdam o estado de predicação. É permitido que o mesmo predicado seja associado várias vezes. Chamadas de API inválidas farão com que Close retorne um erro, ou que ID3D12CommandQueue::ExecuteCommandLists descarte a lista de comandos e remova o dispositivo. A camada de depuração emitirá erros sempre que a validação do runtime falhar. Consulte Predicação para obter mais informações.

Exemplos

O exemplo D3D12PredicationQueries usa ID3D12GraphicsCommandList::SetPredication da seguinte maneira:
Consulte Código de exemplo na referência do D3D12.

Requisitos

Cabeçalho: d3d12_xs.h ou d3d12_x.h
Biblioteca: d3d12_xs.lib ou d3d12_x.lib
Plataformas com suporte: consoles XBOX Series e família XBOX One

Confira também

ID3D12GraphicsCommandList Passo a passo de consultas de predicação
Última modificação em 6 de outubro de 2026