Partager via


ID3D11DeviceContext ::FinishCommandList, méthode (d3d11.h)

Créez une liste de commandes et enregistrez-y des commandes graphiques.

Syntaxe

HRESULT FinishCommandList(
                  BOOL              RestoreDeferredContextState,
  [out, optional] ID3D11CommandList **ppCommandList
);

Paramètres

RestoreDeferredContextState

Type : BOOL

Indicateur booléen qui détermine si le runtime enregistre l’état de contexte différé avant d’exécuter FinishCommandList et de le restaurer par la suite. Utilisez TRUE pour indiquer que le runtime doit enregistrer et restaurer l’état. Utilisez FALSE pour indiquer que le runtime n’enregistrera ni ne restaurera aucun état. Dans ce cas, le contexte différé revient à son état par défaut une fois l’appel à FinishCommandList terminé. Pour plus d’informations sur l’état par défaut, consultez ID3D11DeviceContext ::ClearState. En règle générale, utilisez FALSE , sauf si vous restaurez l’état pour qu’il soit presque équivalent à l’état que le runtime restaurerait si vous transmettiez TRUE. Lorsque vous utilisez FALSE, vous pouvez éviter les transitions d’état inutiles et inefficaces.

Note Ce paramètre n’affecte pas la liste de commandes retournée par l’appel actuel à FinishCommandList . Toutefois, ce paramètre affecte la liste de commandes du prochain appel à FinishCommandList sur le même contexte différé.
 

[out, optional] ppCommandList

Type : ID3D11CommandList**

Une fois la méthode terminée, le pointeur passé vers un pointeur d’interface ID3D11CommandList est initialisé avec les informations de liste de commandes enregistrées. L’objet ID3D11CommandList résultant est immuable et ne peut être utilisé qu’avec ID3D11DeviceContext ::ExecuteCommandList.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite ; dans le cas contraire, retourne l’un des éléments suivants :

  • Retourne DXGI_ERROR_DEVICE_REMOVED si le carte vidéo a été physiquement supprimé du système ou si une mise à niveau du pilote pour la carte vidéo s’est produite. Si cette erreur se produit, vous devez détruire et recréer l’appareil.
  • Retourne DXGI_ERROR_INVALID_CALL si FinishCommandList ne peut pas être appelé à partir du contexte actuel. Consultez la section Remarques.
  • Retourne E_OUTOFMEMORY si l’application a épuisé la mémoire disponible.

Remarques

Créez une liste de commandes à partir d’un contexte différé et enregistrez-y des commandes en appelant FinishCommandList. Lire une liste de commandes avec un contexte immédiat en appelant ID3D11DeviceContext ::ExecuteCommandList.

L’état de contexte immédiat est effacé avant et après l’exécution d’une liste de commandes. Une liste de commandes n’a aucun concept d’héritage. Chaque appel à FinishCommandList enregistre uniquement l’état défini depuis tout appel précédent à FinishCommandList.

Par exemple, l’état d’un contexte d’appareil est son état de rendu ou son état de pipeline. Pour récupérer l’état du contexte de l’appareil, une application peut appeler ID3D11DeviceContext ::GetData ou ID3D11DeviceContext ::GetPredication.

Pour plus d’informations sur l’utilisation de FinishCommandList, consultez Guide pratique pour enregistrer une liste de commandes.

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

Voir aussi

ID3D11DeviceContext