Skip to main content
Establece un predicado de representación.

Sintaxis

Parámetros

pBuffer [in, optional]
Tipo: ID3D12Resource *
El búfer, como un objeto ID3D12Resource, que debe estar en el estado D3D12_RESOURCE_STATE_PREDICATION o D3D21_RESOURCE_STATE_INDIRECT_ARGUMENT (ambos valores son idénticos y se proporcionan como alias para mayor claridad), o NULL para deshabilitar la predicación. AlignedBufferOffset [in]
Tipo: UINT64
El desplazamiento alineado del búfer, como UINT64. Operation [in]
Tipo: D3D12_PREDICATION_OP
Especifica un valor de D3D12_PREDICATION_OP, como D3D12_PREDICATION_OP_EQUAL_ZERO o D3D12_PREDICATION_OP_NOT_EQUAL_ZERO.

Valor devuelto

Tipo: void Ninguno.

Comentarios

Use este método para indicar que los comandos posteriores de representación y de manipulación de recursos no se ejecutan realmente si los datos de predicado resultantes del predicado son iguales a la operación especificada. A diferencia de Direct3D 11, en Direct3D 12 el estado de predicación no lo heredan las listas de comandos directas, y la predicación siempre se respeta (no hay sugerencias de predicación). Todas las listas de comandos directas comienzan con la predicación deshabilitada. Los lotes (bundles) sí heredan el estado de predicación. Es válido enlazar el mismo predicado varias veces. Las llamadas a la API no válidas harán que Close devuelva un error, o que ID3D12CommandQueue::ExecuteCommandLists descarte la lista de comandos y quite el dispositivo. La capa de depuración emitirá errores siempre que la validación del entorno de ejecución produzca errores. Consulte Predicación para obtener más información.

Ejemplos

El ejemplo D3D12PredicationQueries usa ID3D12GraphicsCommandList::SetPredication de la siguiente manera:
Consulte Código de ejemplo en la referencia de D3D12.

Requisitos

Encabezado: d3d12_xs.h o d3d12_x.h
Biblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One

Consulte también

ID3D12GraphicsCommandList Tutorial de consultas de predicación
Última modificación el 28 de agosto de 2026