Partager via


Rastériseur WGF11

Ce test automatisé vérifie différents aspects du rastériseur primitif D3D et de l’état de 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 (x86)
  • 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és peuvent contenir une documentation supplémentaire, notamment des informations sur les prérequis, l’installation et la 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 : Adaptateur graphique ou Prérequis de test de 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 Windows HLK.

Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes de test 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é en cours de test. Le test peut renvoyer BLOCKED s’il existe une exception non interceptée (le framework l’intercepte à la fin et le journalise).

Plus d’informations

Pour D3D10 et versions ultérieures, ce test vérifie les éléments suivants :

  • L’élimination primitive, le mode de remplissage et l’ordre de bobage en fonction de l’état de 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.

    • Comme il ne s’agit pas d’une spécification stricte, 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’une arête.

  • Exemple d’appel de 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 pull.

Les fonctions intrinsèques suivantes seront introduites dans D3D11 (HLSL 5.0) pour la fonctionnalité d’évaluation d’attribut de 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ètres de la fonction intrinsèque et des modes d’interpolation déclarés des attributs d’entrée.

Les éléments suivants sont des facteurs de test pour les trois intrinsèques :

  • Attributs d’entrée transmis à partir du nuanceur 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 : COLOR

    • float clipDis : SV_ClipDistance

  • Déclarations des modes d’interpolation.

    Notes

       Le mode d’interpolation n’est pas autorisé par le compilateur HLSL lorsque l’attribut correspondant est évalué avec le modèle de tirage dans le nuanceur.

     

    • linear

    • linéaire noPerspective

    • centroïde linéaire

    • exemple linéaire

    • centroïde linéaire noPerspective

    • exemple linéaire noPerspective

  • 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 le coin 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 illustré ci-dessus.

  • Cible de rendu

    • Format : tous les formats prenant en charge la cible de rendu.

    • Nombre d’exemples : 1, 2, ... nombre maximal d’exemples pris en charge.

Différentes valeurs de pixeloffset pour EvaluateAttributeSnapped( )

Idéalement, toutes les 256 positions de décalage possibles. Si le test s’exécute trop longtemps, ce groupe de cas de test sera réduit à 4 positions d’angle, 8 positions de bordure, 4 positions à partir 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

Fichier 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