Rastériseur WGF11 (WoW64)
Ce test automatisé vérifie différents aspects du rastériseur primitif D3D et de l’état du rastériseur tels qu’implémentés par le matériel.
Cette rubrique s’applique aux travaux de test suivants :
Rastériseur WGF11
Rastériseur WGF11 (WoW64)
Détails du test
Spécifications |
|
Plateformes |
|
Versions prises en charge |
|
Durée d’exécution attendue (en minutes) | 2 |
Catégorie | Compatibilité |
Délai d’expiration (en minutes) | 120 |
Nécessite un redémarrage | false |
Nécessite une configuration spéciale | false |
Type | automatique |
Documentation supplémentaire
Les tests de cette zone de fonctionnalité peuvent avoir une documentation supplémentaire, y compris les conditions préalables, l’installation et les informations de résolution des problèmes, que vous trouverez dans les rubriques suivantes :
Exécution du test
Avant d’exécuter le test, effectuez la configuration du test comme décrit dans les conditions requises pour le test : Conditions préalables pour le test de l’adaptateur graphique ou du chipset.
Dépannage
Pour la résolution des problèmes génériques des échecs de test HLK, consultez Résolution des échecs de test HLK Windows.
Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes liés aux tests Device.Graphics.
Tous les cas de test retournent PASS ou FAIL. Passez en revue les résultats des tests dans le fichier journal pour obtenir des détails spécifiques sur les échecs. Le test peut retourner SKIP s’il est exécuté avec un niveau de fonctionnalité qui ne prend pas en charge la fonctionnalité testée. Le test peut retourner BLOCKED s’il existe une exception non interceptée (l’infrastructure l’intercepte à la fin et la journalise).
Plus d’informations
Pour D3D10 et versions ultérieures, ce test vérifie les éléments suivants :
Culage primitif, mode de remplissage et ordre de remontage en fonction de l’état du rastériseur.
Modes d’interpolation dans le nuanceur de pixels
Le mode constant est simple, car il n’y a aucune modification des valeurs envoyées à partir du nuanceur de vertex.
Étant donné qu’ils ne sont pas étroitement spécifiés, les modes linéaires sont vérifiés en s’assurant que les pixels adjacents ne sont pas égaux et suivent le dégradé d’un bord.
Exemple d’appel du nuanceur de pixels de fréquence (D3D10.1 et versions ultérieures).
Pour D3D11, ce test vérifie l’évaluation de l’attribut du modèle d’extraction.
Les fonctions intrinsèques suivantes seront introduites dans D3D11 (HLSL 5.0) pour la fonctionnalité d’évaluation des attributs du modèle de tirage :
EvaluateAttributeSnapped( attrib numeric value, int2 pixeloffset )
EvaluateAttributeAtSample( attrib numeric value, uint sampleindex )
EvaluateAttributeAtCentroid( attrib numeric value )
Pour chaque fonction intrinsèque, un ensemble de nuanceurs de pixels est généré, ciblant les cas sur différentes combinaisons des valeurs de paramètre de la fonction intrinsèque et des modes d’interpolation déclarés des attributs d’entrée.
Voici les facteurs de test pour les trois intrinsèques :
Attributs d’entrée transmis à partir du nuanceur de vertex.
Notes
Seul l’attribut de type float peut être interpolé ; Le type int/uint sera toujours en mode d’interpolation constante
float4 texCoord : TEXCOORD
couleur float4 : COULEUR
float clipDis : SV_ClipDistance
Déclarations des modes d’interpolation.
Notes
Aucun mode d’interpolation n’est autorisé par le compilateur HLSL lorsque l’attribut correspondant est évalué avec pull-model dans le nuanceur.
linear
linéaire noPerspective
centroïde linéaire
exemple linéaire
linear noPerspective centroïde
linear noPerspective sample
Primitives à dessiner :
Lorsque le mode d’interpolation est linéaire, un triangle C1-C2-C3 est dessiné comme suit. Cela couvre un pixel entier et deux demi-pixels. Les coordonnées des sommets dans l’espace de projection sont les suivantes :
<image nécessaire ici
C1 : (-1, 1, 0), C2(-1, -1, 0), C3(1, 1, 0).
Triangle droit dans un carré, avec les sommets C1, C2 et C3; C1 forme l’angle de 90 degrés et se trouve dans l’angle supérieur gauche du carré
Lorsque le mode d’interpolation n’est pasperspective, un triangle A-B-C avec les coordonnées de vertex suivantes dans l’espace de projection est dessiné :
A:(-1, 1, 1);
B:(-1, -1, 0);
C:(1, 1, 1)
Le triangle d’espace de l’écran doit couvrir les mêmes pixels et zones de pixels que le triangle C1-C2-C3 indiqué ci-dessus.
Cible de rendu
Format : tous les formats prenant en charge la cible de rendu.
Nombre d’échantillons : 1, 2, ... nombre maximal d’échantillons pris en charge.
Différentes valeurs de pixeloffset pour EvaluateAttributeSnapped( )
Dans l’idéal, toutes les 256 positions de décalage possibles. Si le test s’exécute trop longtemps, ce groupe de cas de test est réduit à 4 positions d’angle, 8 positions de bordure, 4 positions de la grille 4x4, 4 positions de la grille 8x8 et 4 positions de la grille 16x16.
Différentes valeurs de sampleindex pour EvaluateAttributeAtSample( )
Tous les exemples d’index pris en charge par la cible de rendu
La méthode de vérification commence lorsque le nuanceur de pixels écrit la valeur d’attribut interpolée dans la cible de rendu. Les données cibles de rendu sont ensuite mappées et lues. Dans le cas de cibles de rendu échantillonnée à plusieurs échantillons, la résolution de plusieurs échantillons est nécessaire avant le mappage. Les données de résultat sont comparées à des données interpolées précalculées ou obtenues à partir d’un accès direct à l’attribut.
Lorsque le mode d’interpolation est linéaire, aucunperspective :
Calculez et stockez les valeurs interpolées (et extrapolées pour la zone non couverte de p2 et p3) pour 256 positions de décalage de chaque pixel de p1, p2, p3.
Pour EvaluateAttributeSnapped :
Le pixel p1 doit avoir la valeur d’attribut « pulled » entre les valeurs attendues pour les décalages voisins de gauche et de droite (ainsi que les décalages supérieurs et inférieurs) du décalage « tiré ».
Pixels p2 et p3 :
Dans les cas à échantillon unique, ils ne doivent pas être rendus.
Dans les cas multi-échantillonnés, ils doivent avoir une valeur d’attribut « pulled » entre les valeurs attendues pour les décalages de gauche et de droite (ainsi que les décalages supérieurs et inférieurs) voisins du décalage « tiré ».
Pour EvaluateAttributeAtSample avec SampleFinder, recherchez la position de l’index de l’échantillon sur le système de coordonnées de l’exemple avec la plage [-8, 7]. Utilisez cette position pour effectuer la vérification de la même façon que dans EvaluateAttributeSnapped ci-dessus.
Pour EvaluateAttributeAtCentroid, dessinez le triangle C1-C2-C3 avec SV_COVERAGE pour découvrir le premier échantillon couvert, qui est la position centroïde définie par le modèle nuanceur 5.0. Utilisez l’exemple d’index pour centoid pour effectuer la vérification de la même façon que dans EvaluateAttributeAtSample ci-dessus.
Quand le mode d’interpolation est linéaire :
Calculez et stockez les valeurs interpolées (et extrapolées pour la zone non couverte de p2 et p3) pour 256 positions de décalage de chaque pixel, à l’aide de l’interpolation correcte de la perspective. Interpolez les valeurs d’attribut qui ont été divisées par la valeur de profondeur respective, puis divisez la valeur d’attribut interpolée par la réciproque interpolée de la profondeur.
Pour EvaluateAttributeSnapped(), utilisez la même vérification que 2.a.
Pour EvaluateAttributeAtCentroid(), utilisez la même vérification que 2.c.
Pour EvaluateAttributeAtSample(), utilisez la même vérification que 2.b.
Utilisez PSInvocation pour vérifier le nombre d’appels PS pour tous les cas de test.
Si un attribut a un mode d’interpolation d’échantillon ou si SV_SAMPLEINDEX est déclaré et que le nombre d’échantillons est supérieur à 1, PSInvocation doit être égal à 3*(nombre d’échantillons).
Lorsque le nombre d’échantillons est 1, PSInvocation doit être 1.
Syntaxe de commande
Option de commande | Description |
---|---|
Wgf11rasterizer |
Exécute les travaux de test. Sans aucune option, le test énumère les appareils. |
-FeatureLevel:XX.X |
Définit le niveau de feauture, où XX.X est le niveau de fonctionnalité que le test exécutera à : 10.0, 10.1 ou 11.0. |
Notes
Pour obtenir de l’aide sur la ligne de commande pour ce fichier binaire de test, tapez /?.
Liste de fichiers
File | Emplacement |
---|---|
Configdisplay.exe |
<[testbinroot]>\nttest\windowstest\tools\ |
D3d11_1sdklayers.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support\ |
D3d11ref.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support\ |
D3d11sdklayers.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support\ |
D3dcompiler_test.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support |
D3dx10_test.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support\ |
d3dx11_test.dll |
<[testbinroot]>\nttest\windowstest\graphics\d3d\support\ |
TDRWatch.exe |
<[testbinroot]>\nttest\windowstest\graphics\ |
Wgf11rasterizer.exe |
<[testbinroot]>\nttest\windowstest\graphics\d3d\conf |
Paramètres
Nom du paramètre | Description des paramètres |
---|---|
MODIFIEDCMDLINE | Arguments de ligne de commande supplémentaires pour l’exécutable de test |
LLU_NetAccessOnly | LLU Nom de l’utilisateur net |
ConfigDisplayCommandLine | Ligne de commande personnalisée pour ConfigDisplay. Par défaut : logo |
TDRArgs | /get ou /set |