Condividi tramite


Modello shader HLSL 6.4

Descrive gli intrinseci di Machine Learning aggiunti al modello shader HLSL 6.4.

Modello shader 6.4

Queste funzioni intrinseche sono una funzionalità richiesta/supportata del modello shader 6.4. Di conseguenza, non è necessario alcun controllo dei bit di funzionalità separato, oltre a garantire l'uso del modello shader 6.4. Il client minimo supportato per queste routine è Windows 10, versione 1903.

Intrinseci del linguaggio di ombreggiatura

Intero senza segno Dot-Product di 4 elementi e accumulare

uint32 dot4add_u8packed(uint32 a, uint32 b, uint32 acc); // ubyte4 a, b;

  Intero senza segno 4 dimensionale con dot-product con add. Moltiplica insieme ogni coppia corrispondente di byte int a 8 bit senza segno nei due DWORD di input e somma i risultati nell'integer senza segno a 32 bit. Questa istruzione opera all'interno di una corsia SIMD a 32 bit singola. Si presuppone inoltre che gli input siano quantità a 32 bit.  

Intero con segno Dot-Product di 4 elementi e accumulare

int32 dot4add_i8packed(uint32 a, uint32 b, int32 acc); // signed byte4 a, b;

Intero con segno 4 dimensionale con punto-prodotto con aggiunta. Moltiplica ogni coppia corrispondente di byte int con segno a 8 bit nei due DWORD di input e somma i risultati nell'integer con segno a 32 bit. Questa istruzione opera all'interno di una corsia SIMD a 32 bit singola. Si presuppone inoltre che gli input siano quantità a 32 bit.  

Dot-Product a virgola mobile a precisione singola e accumulare

float dot2add( half2 a, half2 b, float acc );

Prodotto a virgola mobile a 2 dimensioni di mezzo2 vettori con aggiunta. Moltiplica gli elementi dei due vettori di input float a metà precisione insieme e somma i risultati nell'aggregazione float a 32 bit. Queste istruzioni funzionano all'interno di una corsia SIMD a 32 bit singola. Gli input sono quantità a 16 bit compresse nella stessa corsia.

Questa operazione è coperta dal bit di funzionalità a bassa precisione (a indicare che sono presenti la metà nativa e il supporto breve).

SV_ShadingRate

uint shadingRate : SV_ShadingRate

Intero senza segno che rappresenta il numero di pixel di destinazione scritti da ogni chiamata del pixel shader. I valori validi appartengono al set di valori di enumerazione D3D12_SHADING_RATE.

Questo valore di sistema è disponibile nelle piattaforme D3D12_VARIABLE_SHADING_RATE_TIER_2 o superiori. Può essere scritto al massimo da una delle fasi vertex o geometry shader. Può essere letto dalla fase del pixel shader. Per altre informazioni, vedere shading a frequenza variabile.