Interrogation des fonctionnalités matérielles VidPN
À compter de Windows 7, les pilotes miniport d’affichage sont requis pour signaler toutes les fonctionnalités matérielles d’un VidPN fonctionnel spécifié. Les pilotes doivent prendre en charge la fonction de rappel suivante et ses structures associées :
DXGKARG_QUERYVIDPNHWCAPABILITY structure
D3DKMDT_VIDPN_HW_CAPABILITY structure
Lorsque le pilote signale les fonctionnalités matérielles, il doit considérer le clonage comme une procédure implicite effectuée dans le cadre de transformations de rotation ou de mise à l’échelle : une source doit d’abord être clonée avant de pouvoir faire l’objet d’une rotation ou d’une mise à l’échelle.
Si l’un des membres de D3DKMDT_VIDPN_HW_CAPABILITY n’a aucune signification sur le chemin VidPN spécifié, le gestionnaire de mode d’affichage (DMM) ne signale aucune erreur si les membres sont définis sur des valeurs différentes de zéro. DMM efface toutes ces valeurs avant de les signaler au client en mode utilisateur. Toutefois, le pilote est requis pour définir la valeur du membre Reserved de D3DKMDT_VIDPN_HW_CAPABILITY sur 0.
Exemple de scénario
Pour montrer comment le pilote de miniport d’affichage doit signaler les fonctionnalités matérielles, considérez l’exemple de jeu suivant de configurations matérielles P1, P2 et P3 :
P1 : Surface est cloné à partir de la source S1, puis pivoté de 90 degrés et mis à l’échelle pour s’adapter à la cible.
P2 : Surface est cloné à partir de Source S1, sans transformation appliquée.
P3 : La source S2 n’a pas de transformation appliquée.
Lorsque DxgkDdiQueryVidPnHWCapability est appelé, le pilote doit retourner des valeurs pour les membres de rotation, de mise à l’échelle et de clonage de D3DKMDT_VIDPN_HW_CAPABILITY selon le tableau suivant :
Valeurs retournées pour les membres de D3DKMDT_VIDPN_HW_CAPABILITY fonctionnalités matérielles Driver VidPN Path DriverRotation DriverScaling DriverCloning Hardware peut effectuer toutes les transformations de rotation, de mise à l’échelle et de clonage.
P₁
0
0
0
P²
0
0
0
P₃
0
0
0
Le matériel peut effectuer toutes les transformations à l’exception du clonage
P₁
0
0
0
P²
0
0
1
P₃
0
0
0
Le matériel peut effectuer des transformations de clonage et de mise à l’échelle, mais pas la rotation. Le pilote effectue la rotation à l’aide d’une fente de rotation intermédiaire.
P₁
1
0
0
P²
0
0
0
P₃
0
0
0
Le matériel ne peut pas effectuer de transformations de clonage, de mise à l’échelle ou de rotation. Ces opérations sont effectuées par le pilote.
P₁
1
1
0
P²
0
0
1
P₃
0
0
0