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.
[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 |