enumeración D3D12DDI_PREDICATION_OP (d3d12umddi.h)

Contiene valores para las opciones de operación de predicación. Este método se usa para indicar que las siguientes operaciones de vídeo y comandos de manipulación de recursos no se realizan realmente si los datos de predicado resultantes del predicado son iguales a la operación especificada.

Syntax

typedef enum D3D12DDI_PREDICATION_OP {
  D3D12DDI_PREDICATION_OP_EQUAL_ZERO,
  D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
} ;

Constantes

 
D3D12DDI_PREDICATION_OP_EQUAL_ZERO
Habilita el predicado si todos los bits de un búfer de 64 bits son cero (0).
D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
Habilita el predicado si al menos uno de los búferes de 64 bits no es cero (0).

Comentarios

Predicación permite al autor de la llamada tener una instrucción if en el búfer de comandos. El comando ID3D12CommandList::SetPredication marca el principio de la instrucción if. La instrucción if termina en la siguiente llamada a ID3D12CommandList::SetPredication o cuando se cierra la lista de comandos. Además, el predicado no admite anidados si es, else-if, o de lo contrario. Expresión que se va a evaluar para si se pasa como parámetros a la llamada ID3D12*CommandList::SetPredication. Un puntero a un valor de 64 bits se pasa como un búfer D3D12 y un desplazamiento de bytes alineado de 64 bits. La operación especifica la comparación.

Si la expresión se evalúa como true, no se ejecutan los comandos de la instrucción if.

El propio valor solo se determina una vez que el comando SetPredication se ejecuta en la GPU. El valor del búfer debe ser "capturado" por el comando SetPredication cuando se ejecuta en la GPU, de modo que las modificaciones posteriores en el búfer no cambien si los comandos de la instrucción if se ejecutan o no. El valor almacenado en el búfer podría ser desde cualquier lugar. Algunos ejemplos son el valor de descodificación de estadísticas de consulta, un valor escrito por un sombreador, etc.

Dentro de una lista de comandos, las aplicaciones pueden llamar a ID3D12*CommandList::SetPredication con un puntero de recursos NULL para deshabilitar la predicación de los comandos posteriores de la lista de comandos. De lo contrario, el estado de predicación se restablece a deshabilitado cuando el usuario cierra y restablece la lista de comandos para su ejecución, por lo que SetPredication no se conserva en las listas de comandos.

Requisitos

Requisito Valor
Header d3d12umddi.h (incluya D3d12umddi.h)