ID3D11DeviceContext ::ExecuteCommandList, méthode (d3d11.h)
Met en file d’attente les commandes d’une liste de commandes sur un appareil.
Syntaxe
void ExecuteCommandList(
[in] ID3D11CommandList *pCommandList,
BOOL RestoreContextState
);
Paramètres
[in] pCommandList
Type : ID3D11CommandList*
Pointeur vers une interface ID3D11CommandList qui encapsule une liste de commandes.
RestoreContextState
Type : BOOL
Indicateur booléen qui détermine si l’état du contexte cible est enregistré avant et restauré après l’exécution d’une liste de commandes. Utilisez TRUE pour indiquer que le runtime doit enregistrer et restaurer l’état. Utilisez FALSE pour indiquer qu’aucun état ne doit être enregistré ou restauré, ce qui entraîne le retour du contexte cible à son état par défaut après l’exécution de la liste de commandes. Les applications doivent généralement utiliser FALSE , sauf si elles restaurent l’état pour qu’il soit presque équivalent à l’état que le runtime restaurerait si TRUE était passé. Lorsque les applications utilisent FALSE, elles peuvent éviter des transitions d’état inutiles et inefficaces.
Valeur de retour
None
Remarques
Utilisez cette méthode pour lire une liste de commandes enregistrée par un contexte différé sur n’importe quel thread.
Un appel à ExecuteCommandList d’une liste de commandes à partir d’un contexte différé vers le contexte immédiat est nécessaire pour que les commandes enregistrées soient exécutées sur l’unité de traitement graphique (GPU). Un appel à ExecuteCommandList d’une liste de commandes à partir d’un contexte différé vers un autre contexte différé peut être utilisé pour fusionner des listes enregistrées. Mais pour exécuter les commandes à partir de la liste de commandes différées fusionnées sur le GPU, vous devez les exécuter sur le contexte immédiat.
Cette méthode effectue une validation d’exécution liée aux requêtes. Les requêtes commencées dans un contexte d’appareil ne peuvent pas être manipulées indirectement par l’exécution d’une liste de commandes (autrement dit, Begin ou End ont été appelés sur la même requête par le contexte différé qui a généré la liste de commandes). Si une telle condition se produit, la méthode ExecuteCommandList n’exécute pas la liste de commandes. Toutefois, l’état du contexte de l’appareil est toujours conservé, comme prévu (ID3D11DeviceContext ::ClearState est effectué, sauf si l’application indique de conserver l’état du contexte de l’appareil).
Windows Phone 8 : Cette API est prise en charge.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d11.h |
Bibliothèque | D3d11.lib |