Partager via


HLSL Shader Model 6.4

Décrit les intrinsèques machine learning ajoutées au modèle de nuanceur HLSL 6.4.

Modèle de nuanceur 6.4

Ces intrinsèques sont une fonctionnalité requise/prise en charge du modèle nuanceur 6.4. Par conséquent, aucune vérification de bit de capacité distincte n’est requise, au-delà de garantir l’utilisation du modèle de nuanceur 6.4. Le client minimum pris en charge pour ces routines est Windows 10, version 1903.

Intrinsèques du langage de trame de fond

Entier non signé Dot-Product de 4 éléments et accumulation

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

  Entier non signé de 4 dimensions avec ajout. Multiplie chaque paire correspondante d’octets int 8 bits non signés dans les deux DWORD d’entrée et additionne les résultats dans l’accumulateur entier non signé 32 bits. Cette instruction fonctionne dans une seule voie SIMD de 32 bits. Les entrées sont également supposées être des quantités 32 bits.  

Entier signé Dot-Product de 4 éléments et accumulation

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

Entier signé 4 dimensions avec ajout. Multiplie chaque paire correspondante d’octets 8 bits signés dans les deux DWORD d’entrée et additionne les résultats dans l’accumulateur entier signé 32 bits. Cette instruction fonctionne dans une seule voie SIMD de 32 bits. Les entrées sont également supposées être des quantités 32 bits.  

Un seul élément à virgule flottante de précision 2 Dot-Product et s’accumuler

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

Produit à virgule flottante à 2 dimensions de vecteurs demi-2 avec ajout. Multiplie les éléments des deux vecteurs d’entrée float demi-précision ensemble et additionne les résultats dans l’accumulateur float 32 bits. Ces instructions fonctionnent dans une seule voie SIMD de 32 bits. Les entrées sont des quantités 16 bits emballées dans la même voie.

Cela est couvert sous le bit de fonctionnalité de faible précision (indiquant que la moitié native et la prise en charge courte sont présentes).

SV_ShadingRate

uint shadingRate : SV_ShadingRate

Entier non signé représentant le nombre de pixels cibles écrits par chaque appel du nuanceur de pixels. Les valeurs valides appartiennent à un jeu de valeurs d’énumération D3D12_SHADING_RATE.

Cette valeur système est disponible sur les plateformes D3D12_VARIABLE_SHADING_RATE_TIER_2 ou ultérieures. Il peut être écrit à partir de l’une des phases de vertex ou de nuanceur géométrique. Il peut être lu à partir de l’étape du nuanceur de pixels. Pour plus d’informations, consultez l'shading à taux variable.