Flusso WGF11
Questo test automatizzato verifica che i driver grafici/il comportamento di flusso D3D hardware soddisfi le specifiche di Microsoft Direct3D.
Questo argomento si applica ai processi di test seguenti:
Flusso WGF11
Flusso WGF11 (WoW64)
Dettagli del test
Specifiche |
|
Piattaforme |
|
Versioni supportate |
|
Tempo di esecuzione previsto (in minuti) | 2 |
Categoria | Compatibilità |
Timeout (in minuti) | 120 |
Richiede il riavvio | false |
Richiede una configurazione speciale | false |
Tipo | automatic |
Documentazione aggiuntiva
I test in questa area di funzionalità potrebbero avere documentazione aggiuntiva, inclusi prerequisiti, configurazione e informazioni sulla risoluzione dei problemi, disponibili negli argomenti seguenti:
Esecuzione del test
Prima di eseguire il test, completare la configurazione di test come descritto nei requisiti di test: Adattatore grafico o Prerequisiti di test del chipset.
Risoluzione dei problemi relativi
Per la risoluzione dei problemi generici degli errori di test HLK, vedere Risoluzione dei problemi di test di Windows HLK.
Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi ai test di Device.Graphics.
Tutti i test case restituiscono PASS o FAIL. Esaminare i risultati del test nel file di log per informazioni dettagliate sugli errori. Il test potrebbe restituire SKIP se viene eseguito con un livello di funzionalità che non supporta la funzionalità testata. Il test potrebbe restituire BLOCKED se esiste un'eccezione non rilevata (il framework lo rileva alla fine e lo registra). Per esaminare i dettagli dei test, esaminare il log di test da Windows HLK Manager.
Altre informazioni
Di seguito viene descritto il piano di test di conformità streamout:
Test case generali di streaming out
Passare i dati di input nella pipeline usando VB e trasmettere i dati trasformati da VS o GS.
Nota
Nel caso GS, considerare problemi di amplificazione emettendo più primitive di output per ogni primitiva di input.
Ciclo su diversi tipi primitivi, dimensioni del buffer, genera conteggi, offset del buffer vand.
Testare l'aggiunta di dati SO eseguendo più chiamate Draw().
Per GS, ciclo su shader con proprietà "maxvertexcount" diverse.
In alcuni casi, eseguire il overflow di questo valore, assicurandosi che vengano mantenute solo le primitive complete.
Eventualmente ciclo su tipi primitivi di input diversi e topologie di output.
Verificare i risultati della query previsti
STREAMOUTPUTSTATS
STREAMOVERFLOWPREDICATE
Testare scritture primitive incomplete.
Testare l'ordine di avvolgimento e la gestione dei vertici iniziali.
Sono consentiti fino a 227 vertici SO per buffer SO.
Nota
Poiché si tratta di una risorsa di grandi dimensioni, questo funziona probabilmente per uno o due test case.
Test di Single-Buffer semplici
Ciclo in diversi scenari di dichiarazione:
Semplice.
Lasciare le lacune.
Suddividere i registri di output in più elementi SO.
Eseguire il merge del registro di output in un singolo elemento SO.
Ciclo su diverse dimensioni dei vertici SO.
Verificare il limite di vertici SO a 64 componenti.
Test multi-buffer semplici
Combinare dimensioni/offset del buffer in modo che il overflow venga eseguito nel buffer in momenti diversi.
Ciclo in diversi scenari di dichiarazione:
Semplice.
Ignorare lo slot di output.
Suddividere i registri di output in più elementi SO.
Trasmettere i componenti del registro parziale.
Eseguire il flusso in un singolo buffer nello slot non zero.
Ping Ponging dei buffer di output di flusso
Analogamente a semplici test a buffer singolo e a buffer singolo semplice con un colpo di scena:
Inizialmente associa buffer A e B con un offset positivo.
Eseguire il binding del buffer A usando il valore di offset -1.
Draw()
Associare il buffer B usando il valore di offset -1.
Draw()
Se necessario, ripetere i passaggi.
In più scenari di buffer, considerare facoltativamente ping-ponging solo alcuni dei buffer SO tra le chiamate Draw().
Modifica delle dimensioni del vertice SO usando lo stesso buffer di destinazione
Test case personalizzato incentrato sull'impostazione di "fat" vertex strides su un singolo buffer, quindi Draw(), quindi imposta "skinny" SO vertex stride, quindi Draw() di nuovo.
Esaminare STREAMOUTPUTSTATS.
Controllare l'overflow durante lo streaming dei vertici "fat" e assicurarsi che i vertici skinny non possano essere aggiunti alla destinazione.
Nota
Si consideri ping-pong durante questo passaggio per assicurarsi che lo stato overflowed sia "sticky" nel buffer.
Output del flusso indirizzabile (D3D11)
Testare RasterizedStream e più vettori di dati:
Quando si invia un flusso al rasterizzatore, assicurarsi che il risultato finale usi i dati dei vertici da tale flusso.
Assicurarsi che più di un vettore di dati possa essere restituito da un flusso con livello di funzionalità 11, anche quando si usa un gs_4_x shader.
Passi di test non strettamente allineati alle dimensioni di un elemento in un buffer di output del flusso.
Verificare che l'output del flusso funzioni quando il runtime determina i progressi in base alle dimensioni calcolate usando la dichiarazione di output del flusso. Il runtime esegue questa operazione quando i parametri stride nella chiamata di creazione sono entrambi NULL.
Testare il livello di funzionalità e il comportamento delle query:
Quando si usano i livelli di funzionalità 10 e 10.1, assicurarsi che sia possibile usare solo stream 0 per l'output del flusso.
Quando si usano i livelli di funzionalità 10 e 10.1, assicurarsi che sia possibile usare solo gs_4_x shader. Se vengono usati più buffer, assicurarsi che sia possibile restituire un solo vettore di dati dal flusso 0 i.
D3D11_QUERY_SO_STATISTICS e D3D11_QUERY_SO_OVERFLOW_PREDICATE query devono restituire i dati corretti per la somma di tutti i flussi. D3D11_QUERY_SO_STATISTICS_STREAMn e D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAMn query restituiscono i dati corretti per ogni flusso. Esistono attualmente test case per il singolo caso di flusso. Verranno verificati gli elementi seguenti:
Numero previsto di primitive scritte nei buffer di output del flusso.
Dimensioni previste delle primitive (se devono essere tutte di output nei buffer).
Il predicato di overflow viene attivato quando si verifica un overflow del buffer durante la scrittura.
Se viene riempito un buffer in un flusso, viene impedita la scrittura in tutti i buffer in tale flusso.
I risultati delle query per i flussi non definiti non devono essere interessati.
Sintassi dei comandi
Opzione di comando | Descrizione |
---|---|
Wgf11streamout |
Rusn il test. Senza opzioni, il test enumera i dispositivi. |
-FeatureLevel:XX.X |
Imposta il livello di funzionalità testato in cui XX.X è il livello di funzionalità a cui verrà eseguito il test: 10.0, 10.1 o 11.0. |
Nota
Per la Guida della riga di comando per questo file binario di test, digitare /?.
Elenco file
File | Posizione |
---|---|
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 |
Parametri
Nome parametro | Descrizione dei parametri |
---|---|
MODIFIEDCMDLINE | Argomenti aggiuntivi della riga di comando per l'eseguibile di test |
LLU_NetAccessOnly | Nome LLU dell'utente net |
ConfigDisplayCommandLine | Riga di comando personalizzata per ConfigDisplay. Impostazione predefinita: logo |
TDRArgs | /get o /set |