DXGKDDI_QUERYDEPENDENTENGINEGROUP fonction de rappel (d3dkmddi.h)
DXGKDDI_QUERYDEPENDENTENGINEGROUP est appelé par le planificateur GPU du pilote de port d’affichage pour interroger les dépendances des nœuds dans une carte d’affichage physique.
Syntaxe
DXGKDDI_QUERYDEPENDENTENGINEGROUP DxgkddiQuerydependentenginegroup;
NTSTATUS DxgkddiQuerydependentenginegroup(
IN_CONST_HANDLE hAdapter,
INOUT_DXGKARG_QUERYDEPENDENTENGINEGROUP pQueryDependentEngineGroup
)
{...}
Paramètres
hAdapter
Handle d’un bloc de contexte associé à une carte d’affichage. Le pilote miniport d’affichage a précédemment fourni cette poignée au sous-système du noyau graphique DirectX dans le paramètre de sortie MiniportDeviceContext de la fonction DxgkDdiAddDevice .
pQueryDependentEngineGroup
Valeur de type DXGKARG_QUERYDEPENDENTENGINEGROUP qui spécifie tous les nœuds affectés par l’opération de réinitialisation.
Valeur retournée
Retourne STATUS_SUCCESS si elle réussit. Sinon, il retourne l’un des codes d’erreur définis dans Ntstatus.h.
Remarques
Cette fonction est utilisée pour décrire toutes les cartes physiques (moteurs) affectées par une demande de réinitialisation du moteur. Il permet d’améliorer l’expérience utilisateur sur les architectures matérielles qui ont des dépendances entre plusieurs moteurs qui peuvent affecter le processus de réinitialisation. Notez que tous les nœuds affectés doivent avoir la même valeur d’affinité de moteur. (Consultez la discussion sur l’affinité du moteur dans modifications de TDR dans Windows 8.)
Le planificateur GPU du pilote de port d’affichage appelle DxgkDdiQueryDependentEngineGroup chaque fois qu’il appelle la fonction DxgkDdiResetEngine . Le planificateur GPU attend 500 millisecondes pour que le pilote miniport d’affichage termine la préemption de tous les moteurs dépendants. Pour tous les moteurs pour lesquels le pilote ne peut pas effectuer une préemption, le planificateur GPU appelle la fonction DxgkDdiResetEngine séquentiellement en fonction de la valeur ordinale du moteur.
Voici un exemple de calcul du masque de bits dans le DXGKARG_QUERYDEPENDENTENGINEGROUP. Membre DependentNodeOrdinalMask . Si les valeurs d’origine des membres NodeOrdinal et EngineOrdinal de la structure DXGKARG_QUERYDEPENDENTENGINEGROUP sont respectivement 1 et 0, et que des nœuds supplémentaires avec les identificateurs 2 et 4 sont également réinitialisés lorsque le nœud 1 est réinitialisé, le pilote doit définir la valeur binaire de DependentNodeOrdinalMask sur 10110, ou 0x16 en notation hexadécimale. La valeur d’index EngineOrdinal est supposée être identique pour tous les nœuds dépendants. Le nœud en cours de réinitialisation est inclus dans le masque de bits DependentNodeOrdinalMask .
Cette fonction doit être rendue paginable et elle doit toujours réussir.
Le système d’exploitation garantit que cette fonction suit le mode de synchronisation de premier niveau tel que défini dans Threading et Synchronisation premier niveau.
Pour plus d’informations, consultez Modifications TDR dans Windows 8.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour