Syntaxe
Paramètres
pBuffer [in, optional]Type : ID3D12Resource * Mémoire tampon, sous forme d’ID3D12Resource, qui doit être dans l’état D3D12_RESOURCE_STATE_PREDICATION ou D3D21_RESOURCE_STATE_INDIRECT_ARGUMENT (les deux valeurs sont identiques et sont fournies comme alias par souci de clarté), ou NULL pour désactiver la prédication. AlignedBufferOffset [in]
Type : UINT64 Décalage aligné de la mémoire tampon, sous forme de UINT64. Operation [in]
Type : D3D12_PREDICATION_OP Spécifie un D3D12_PREDICATION_OP, tel que D3D12_PREDICATION_OP_EQUAL_ZERO ou D3D12_PREDICATION_OP_NOT_EQUAL_ZERO.
Valeur de retour
Type : void Aucune.Notes
Utilisez cette méthode pour indiquer que les commandes de rendu et de manipulation des ressources suivantes ne sont pas réellement exécutées si les données de prédicat résultantes sont égales à l’opération spécifiée. Contrairement à Direct3D 11, dans Direct3D 12, l’état de prédication n’est pas hérité par les listes de commandes directes, et la prédication est toujours respectée (il n’existe pas d’indications de prédication). Toutes les listes de commandes directes commencent avec la prédication désactivée. Les bundles héritent de l’état de prédication. Il est autorisé de lier plusieurs fois le même prédicat. Les appels d’API non autorisés entraînent le renvoi d’une erreur par Close, ou l’abandon de la liste de commandes et la suppression de l’appareil par ID3D12CommandQueue::ExecuteCommandLists. La couche de débogage émet des erreurs chaque fois que la validation du runtime échoue. Pour plus d’informations, reportez-vous à Prédication.Exemples
L’exemple D3D12PredicationQueries utilise ID3D12GraphicsCommandList::SetPredication comme suit :Configuration requise
En-tête : d3d12_xs.h ou d3d12_x.hBibliothèque : d3d12_xs.lib ou d3d12_x.lib
Plateformes prises en charge : consoles XBOX Series et famille XBOX One
