énumération D3D12DDI_PREDICATION_OP (d3d12umddi.h)
Contient des valeurs pour les options d’opération de prédication. Cette méthode est utilisée pour indiquer que les opérations vidéo et les commandes de manipulation de ressources suivantes ne sont pas réellement effectuées si les données de prédicat résultantes du prédicat sont égales à l’opération spécifiée.
Syntaxe
typedef enum D3D12DDI_PREDICATION_OP {
D3D12DDI_PREDICATION_OP_EQUAL_ZERO,
D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
} ;
Constantes
D3D12DDI_PREDICATION_OP_EQUAL_ZERO Active la prédication si tous les bits d’une mémoire tampon 64 bits sont zéro (0). |
D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO Active la prédication si au moins l’une des mémoires tampons 64 bits n’est pas égale à zéro (0). |
Remarques
La prédication permet à l’appelant d’avoir une instruction if dans la mémoire tampon de commande. ID3D12CommandList ::SetPredication marque le début de l’instruction if. L’instruction if se termine au prochain appel à ID3D12CommandList ::SetPredication ou lorsque la liste de commandes est fermée. En outre, la prédication ne prend pas en charge l’imbrication imbriquée, sinon, ou autre. Expression à évaluer pour la valeur si elle est passée en tant que paramètres à l’appel ID3D12*CommandList ::SetPredication. Un pointeur vers une valeur de 64 bits est passé sous la forme d’une mémoire tampon D3D12 et d’un décalage d’octet aligné sur 64 bits. L’opération spécifie la comparaison.
Si l’expression a la valeur true, les commandes de l’instruction if-statement ne sont pas exécutées.
La valeur elle-même n’est déterminée qu’une fois la commande SetPredication exécutée sur le GPU. La valeur de la mémoire tampon doit être « capturée » par la commande SetPredication lorsqu’elle est exécutée sur le GPU, de sorte que les modifications ultérieures apportées à la mémoire tampon ne changent pas si les commandes de l’instruction if sont exécutées. La valeur stockée dans la mémoire tampon peut provenir de n’importe où. Par exemple, la valeur d’état des statistiques de requête décodée, une valeur écrite par un nuanceur, etc.
Dans une liste de commandes, les applications peuvent appeler ID3D12*CommandList ::SetPredication avec un pointeur de ressource Null pour désactiver la prédication pour les commandes suivantes dans la liste de commandes. Sinon, l’état de prédication est réinitialisé lorsque l’utilisateur ferme et réinitialise la liste de commandes pour l’exécution, de sorte que la définition setPredication n’est pas conservée entre les listes de commandes.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | d3d12umddi.h (include D3d12umddi.h) |