Partager via


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
  • Device.Graphics.AdapterRender.D3D111Core.D3D111CorePrimary
  • Device.Graphics.AdapterRender.D3D11Core.D3D11CorePrimary
  • Device.Graphics.AdapterRender.D3D101Core.D3D101CorePrimary
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
Plateformes
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
  • Windows 10, éditions clientes (Arm64)
Versions prises en charge
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10 version 1703
  • Windows 10, version 1709
  • Windows 10 version 1803
  • Windows 10, version 1809
  • Windows 10 version 1903
  • Prochaine mise à jour de Windows 10
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.

  1. Lorsque le mode d’interpolation est linéaire, aucunperspective :

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

    2. 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é ».

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

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

  2. Quand le mode d’interpolation est linéaire :

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

    2. Pour EvaluateAttributeSnapped(), utilisez la même vérification que 2.a.

    3. Pour EvaluateAttributeAtCentroid(), utilisez la même vérification que 2.c.

    4. Pour EvaluateAttributeAtSample(), utilisez la même vérification que 2.b.

  3. Utilisez PSInvocation pour vérifier le nombre d’appels PS pour tous les cas de test.

    1. 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).

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