Condividi tramite


Rasterizzatore WGF11 (WoW64)

Questo test automatizzato verifica vari aspetti del rasterizzatore primitivo D3D e dello stato del rasterizzatore come implementato dall'hardware.

Questo argomento si applica ai processi di test seguenti:

  • Rasterizzatore WGF11

  • Rasterizzatore WGF11 (WoW64)

Dettagli del test

   
Specifiche
  • Device.Graphics.AdapterRender.D3D111Core.D3D111CorePrimary
  • Device.Graphics.AdapterRender.D3D11Core.D3D11CorePrimary
  • Device.Graphics.AdapterRender.D3D101Core.D3D101CorePrimary
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
Piattaforme
  • Windows 10, edizioni client (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edizioni client (Arm64)
Versioni supportate
  • Windows 10
  • Windows 10 versione 1511
  • Windows 10 versione 1607
  • Windows 10 versione 1703
  • Windows 10, versione 1709
  • Windows 10, versione 1803
  • Windows 10, versione 1809
  • Windows 10, versione 1903
  • Eseguire quindi l'aggiornamento a Windows 10
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 i prerequisiti, la configurazione e le 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 generica 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 a Device.Graphics Testing.

Tutti i test case restituiscono PASS o FAIL. Esaminare i risultati del test nel file di log per informazioni dettagliate specifiche sugli errori. Il test potrebbe restituire SKIP se viene eseguito con un livello di funzionalità che non supporta la funzionalità sottoposta a test. Il test potrebbe restituire BLOCKED se si verifica un'eccezione non rilevata (il framework lo rileva alla fine e lo registra).

Altre informazioni

Per D3D10 e versioni successive, questo test verifica quanto segue:

  • Culling primitivo, modalità di riempimento e ordine di avvolgimento in base allo stato rasterizzatore.

  • Modalità di interpolazione nel pixel shader

    • La modalità costante è semplice, perché non viene apportata alcuna modifica dai valori inviati dal vertex shader.

    • Poiché non è strettamente specifica, le modalità lineari vengono verificate assicurandosi che i pixel adiacenti non siano uguali e seguano la sfumatura di un bordo.

  • Chiamata del pixel shader di frequenza di esempio (D3D10.1 e versioni successive).

Per D3D11, questo test verifica la valutazione dell'attributo del modello pull.

Le funzioni intrinseche seguenti verranno introdotte in D3D11 (HLSL 5.0) per la funzionalità di valutazione degli attributi del modello pull:

  • EvaluateAttributeSnapped( attrib numeric value, int2 pixeloffset )

  • EvaluateAttributeAtSample( attrib numeric value, uint sampleindex )

  • EvaluateAttributeAtCentroid( valore numerico attrib )

Per ogni funzione intrinseca, verrà generato un set di pixel shader, destinato ai case su diverse combinazioni dei valori dei parametri della funzione intrinseca e delle modalità di interpolazione dichiarate degli attributi di input.

Di seguito sono riportati i fattori di test per tutti e tre gli intrinseci:

  • Attributi di input passati dal vertex shader.

    Nota

       È possibile interpolare solo l'attributo di tipo float; Il tipo int/uint sarà sempre la modalità di interpolazione costante

     

    • float4 texCoord : TEXCOORD

    • colore float4: COLOR

    • float clipDis : SV_ClipDistance

  • Dichiarazioni di modalità di interpolazione.

    Nota

       La modalità nointerpolation non è consentita dal compilatore HLSL quando l'attributo corrispondente viene valutato con il modello pull nello shader.

     

    • linear

    • lineare noPerspective

    • centroide lineare

    • esempio lineare

    • centroide lineare noPerspective

    • esempio lineare noPerspective

  • Primitive da disegnare:

    • Quando la modalità di interpolazione è lineare, verrà disegnato un triangolo C1-C2-C3 come indicato di seguito. Questo copre un pixel intero e due mezzo pixel. Le coordinate dei vertici nello spazio di proiezione sono le seguenti:

      <è necessaria l'immagine qui

      C1: (-1, 1, 0), C2(-1, -1, 0), C3(1, 1, 0).

      Triangolo destro all'interno di un quadrato, con vertici C1, C2 e C3; C1 forma l'angolo di 90 gradi e si trova nell'angolo superiore sinistro del quadrato

  • Quando la modalità di interpolazione è noperspective, verrà disegnato un triangolo A-B-C con le coordinate dei vertici seguenti nello spazio di proiezione:

    A:(-1, 1, 1);

    B:(-1, -1, 0);

    C:(1, 1, 1)

    Il triangolo dello spazio dello schermo deve coprire le stesse aree pixel e pixel del triangolo C1-C2-C3 illustrato in precedenza.

  • Destinazione di rendering

    • Formato: tutti i formati che supportano la destinazione di rendering.

    • Conteggio campioni: 1, 2, ... numero massimo di campioni supportati.

Valori diversi di pixeloffset per EvaluateAttributeSnapped( )

Idealmente, tutte le possibili 256 posizioni di offset. Se il test viene eseguito troppo a lungo, questo gruppo di test case verrà ridotto a 4 posizioni di angolo, 8 posizioni del bordo, 4 posizioni dalla griglia 4x4, 4 posizioni dalla griglia 8x8 e 4 posizioni dalla griglia 16x16.

Valori diversi di sampleindex per EvaluateAttributeAtSample( )

Tutti gli indici di esempio supportati dalla destinazione di rendering

Il metodo di verifica inizia quando il pixel shader scrive il valore dell'attributo interpolato nella destinazione di rendering. I dati di destinazione di rendering vengono quindi mappati e letti. Nei casi di destinazioni di rendering multicampionato, è necessario risolvere multisample prima del mapping. I dati dei risultati verranno confrontati con i dati interpolati pre-calcolati o i dati provenienti dall'accesso diretto all'attributo.

  1. Quando la modalità di interpolazione è lineare noperspective:

    1. Calcolare e archiviare i valori interpolati (e estrapolati per l'area individuata di p2 e p3) per 256 posizioni di offset di ogni pixel di p1, p2, p3.

    2. Per EvaluateAttributeSnapped :

      • Pixel p1 deve avere il valore dell'attributo "pull" tra i valori previsti per sinistra e destra (oltre a quelli superiori e inferiori) adiacenti dell'offset "pull".

      • Pixel p2 e p3:

        Nei casi a campione singolo non deve essere eseguito il rendering.

        Nei casi multi sampled devono avere il valore dell'attributo "pull" tra i valori previsti per sinistra e destra (oltre a quelli superiori e inferiori) adiacenti dell'offset "pull".

    3. Per EvaluateAttributeAtSample con SampleFinder, trovare la posizione dell'indice di esempio nel sistema di coordinate di esempio con intervallo [-8, 7]. Usare questa posizione per eseguire la verifica come in EvaluateAttributeSnapped sopra.

    4. Per EvaluateAttributeAtCentroid, disegnare triangolo C1-C2-C3 con SV_COVERAGE per scoprire il primo esempio coperto, ovvero la posizione centroid definita dal modello shader 5.0. Usare l'indice di esempio per centoid per eseguire la verifica nello stesso modo indicato in EvaluateAttributeAtSample precedente.

  2. Quando la modalità di interpolazione è lineare:

    1. Calcolare e archiviare i valori interpolati (ed estrapolati per l'area individuata di p2 e p3) per 256 posizioni di offset di ogni pixel, usando l'interpolazione corretta della prospettiva. Interpolare i valori dell'attributo suddivisi per il rispettivo valore di profondità, quindi dividere il valore dell'attributo interpolato dall'interpolazione reciproca della profondità.

    2. Per EvaluateAttributeSnapped(), usare la stessa verifica di 2.a.

    3. Per EvaluateAttributeAtCentroid(), usare la stessa verifica di 2.c.

    4. Per EvaluateAttributeAtSample(), usare la stessa verifica di 2.b.

  3. Usare PSInvocation per verificare il numero di chiamate PS per tutti i test case.

    1. Se qualsiasi attributo ha la modalità di interpolazione di esempio o SV_SAMPLEINDEX viene dichiarata e il conteggio dei campioni è maggiore di 1, PSInvocation deve essere 3*(conteggio di esempio).

    2. Quando il numero di campioni è 1, PSInvocation deve essere 1.

Sintassi dei comandi

Opzione comando Descrizione

Wgf11rasterizer

Esegue i processi di test. Senza opzioni, il test enumera i dispositivi.

-FeatureLevel:XX.X

Imposta il livello di feauture, dove XX.X è il livello di funzionalità che verrà eseguito a: 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\

Wgf11rasterizer.exe

<[testbinroot]>\nttest\windowstest\graphics\d3d\conf

 

Parametri

Nome parametro Descrizione dei parametri
MODIFIEDCMDLINE Argomenti aggiuntivi della riga di comando per il file eseguibile di test
LLU_NetAccessOnly Nome LLU dell'utente net
ConfigDisplayCommandLine Riga di comando personalizzata per ConfigDisplay. Impostazione predefinita: logo
TDRArgs /get o /set