Partager via


D1159 : topologie de liste de commandes non valide

Une liste de commandes ne peut pas référencer les effets qui font partie des graphiques d’effet qui consomment la liste de commandes.

 

Causes possibles

Lors du remplissage d’une liste de commandes, une application peut inclure un appel à ID2D1DeviceContext ::D rawImage. ID2D1DeviceContext ::D rawImage peut être utilisé pour dessiner des bitmaps, des effets ou des listes de commandes. Par conséquent, l’appel ID2D1DeviceContext ::D rawImage permet de dessiner une liste de commandes alors que cette même liste de commandes est définie en tant que cible. Toutefois, les listes de commandes de référencement automatique ne sont pas valides. Direct2D identifie les cas dans lesquels cela se produit et signale une erreur, et la couche de débogage génère ce message.

Correctifs possibles

Lors de la remplissage d’une liste de commandes, assurez-vous qu’un contexte d’appareil n’émet aucune opération qui consomme cette même liste de commandes. La façon la plus évidente d’appeler ID2D1DeviceContext ::D rawImage avec la même liste de commandes définie comme cible. Toutefois, il existe également moins de façons évidentes de procéder : un ID2D1DeviceContext ::D rawImage peut faire référence à un graphique d’effet, et un nœud dans le graphique d’effet peut tenter de consommer la liste de commandes cible. Vérifiez que les listes de commandes sont remplies correctement avant l’utilisation, et que les appels à ID2D1DeviceContext ::SetTarget font référence à la cible prévue.