WGF11 Streamout
Ce test automatisé vérifie que le comportement de sortie de flux D3D des pilotes graphiques/matériels répond aux spécifications de Microsoft Direct3D.
Cette rubrique s’applique aux travaux de test suivants :
WGF11 Streamout
WGF11 Streamout (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é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). Pour passer en revue les détails du test, consultez le journal des tests à partir du Gestionnaire Windows HLK.
Plus d’informations
Les éléments suivants décrivent le plan de test de conformité StreamOut :
Cas de test de diffusion en continu général
Transmettez les données d’entrée dans le pipeline à l’aide de VB et diffusez en continu les données transformées à partir de VS ou GS.
Notes
Dans le cas de GS, tenez compte des problèmes d’amplification en émettant plusieurs primitives de sortie par primitive d’entrée.
Cycle sur différents types primitifs, tailles de mémoire tampon, nombre d’émissions, décalages de mémoire tampon vand.
Testez l’ajout de données SO en effectuant plusieurs appels Draw().
Pour GS, effectuez un cycle sur les nuanceurs avec différentes propriétés « maxvertexcount ».
Parfois, cette valeur dépasse cette valeur, en vous assurant que seules les primitives complètes sont conservées.
Cycle possible sur différents types primitifs d’entrée et topologies de sortie.
Vérifier les résultats attendus de la requête
STREAMOUTPUTSTATS
STREAMOVERFLOWPREDICATE
Testez les écritures primitives incomplètes.
Tester l’ordre d’enroulement et la gestion des sommets de tête.
Jusqu’à 227 sommets SO par mémoire tampon SO sont autorisés.
Notes
Étant donné qu’il s’agit d’une ressource si volumineuse, cela fonctionne probablement pour un ou deux cas de test.
Tests Single-Buffer simples
Cycle sur plusieurs scénarios de déclaration :
Simplement.
Laissez des espaces vides.
Fractionnez les registres de sortie entre plusieurs éléments SO.
Registre de sortie de fusion en un seul élément SO.
Effectuez un cycle sur différentes tailles de vertex SO.
Vérifiez la limite des sommets SO à 64 composants.
Tests multi-tampons simples
Mélanger les tailles/décalages des mémoires tampons afin que les mémoires tampons débordent à différents moments.
Cycle sur plusieurs scénarios de déclaration :
Simplement.
Ignorer l’emplacement de sortie.
Fractionnez les registres de sortie entre plusieurs éléments SO.
Diffusez en continu les composants de registre partiel.
Diffusez en continu vers une mémoire tampon unique dans un emplacement autre que zéro.
Ping Ponging des mémoires tampons de sortie de flux
Semblable aux tests simples à mémoire tampon unique et multi-tampon simple avec une torsion :
Lier initialement les mémoires tampons A et B avec un décalage positif.
Lier la mémoire tampon A à l’aide de la valeur de décalage -1.
Draw()
Lier la mémoire tampon B à l’aide de la valeur de décalage -1.
Draw()
Répétez autant de fois que nécessaire.
Dans plusieurs scénarios de mémoire tampon, envisagez éventuellement d’effectuer un ping-ponging uniquement une partie des mémoires tampons SO entre les appels Draw().
Modification de la taille du vertex SO à l’aide de la même mémoire tampon cible
Cas de test personnalisé qui se concentre sur la définition des foulées de vertex « gras » sur une seule mémoire tampon, puis Draw(), puis définit « skinny » SO vertex stride, puis Draw() à nouveau.
Examinez STREAMOUTPUTSTATS.
Surveillez le dépassement de capacité pendant la diffusion en continu de vertex « gras » et assurez-vous que les sommets maigres ne peuvent pas être ajoutés à la cible.
Notes
Envisagez le ping-ponging pendant cette étape pour vous assurer que l’état de dépassement de capacité est « collant » sur la mémoire tampon.
Sortie de flux adressable (D3D11)
Testez RasterizedStream et plusieurs vecteurs de données :
Lors de l’envoi d’un flux au rastériseur, assurez-vous que le résultat final utilise les données de vertex de ce flux.
Assurez-vous que plusieurs vecteurs de données peuvent être générés à partir d’un flux sous le niveau de fonctionnalité 11, même lors de l’utilisation d’un nuanceur gs_4_x.
Testez les foulées qui ne sont pas étroitement alignées sur la taille d’un élément dans une mémoire tampon de sortie de flux.
Vérifiez que la sortie du flux fonctionne lorsque le runtime détermine les foulées en fonction de la taille calculée à l’aide de la déclaration de sortie de flux. Le runtime effectue cette opération lorsque les paramètres stride dans l’appel de création sont tous les deux NULL.
Tester le niveau de fonctionnalité et le comportement des requêtes :
Lorsque vous utilisez les niveaux de fonctionnalité 10 et 10.1, assurez-vous que seul le flux 0 peut être utilisé pour la sortie de flux.
Lorsque vous utilisez les niveaux de fonctionnalités 10 et 10.1, assurez-vous que seuls gs_4_x nuanceurs peuvent être utilisés. Si plusieurs mémoires tampons sont utilisées, assurez-vous qu’un seul vecteur de données peut être généré à partir du flux 0 i.
les requêtes D3D11_QUERY_SO_STATISTICS et D3D11_QUERY_SO_OVERFLOW_PREDICATE doivent retourner les données correctes pour la somme de tous les flux. D3D11_QUERY_SO_STATISTICS_STREAMn et les requêtes D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAMn retournent les données correctes pour chaque flux. Il existe actuellement des cas de test pour le cas de flux unique. Les éléments suivants seront vérifiés :
Nombre attendu de primitives écrites pour diffuser des mémoires tampons de sortie.
Taille attendue des primitives (si elles doivent toutes être sorties vers des mémoires tampons).
Le prédicat de dépassement de capacité est déclenché lorsqu’une mémoire tampon déborde lors de l’écriture dans celle-ci.
Si une mémoire tampon dans un flux est remplie, les écritures dans toutes les mémoires tampons de ce flux sont empêchées.
Les résultats des requêtes pour les flux non définis ne doivent pas être affectés.
Syntaxe de commande
Option de commande | Description |
---|---|
Wgf11streamout |
Rusez le test. Sans aucune option, le test énumère les appareils. |
-FeatureLevel:XX.X |
Définit le niveau de fonctionnalité testé 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\ |
Wgf11streamout.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 |