HLSL Shader Model 6.4

Décrit les intrinsèques d’apprentissage automatique 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 shader 6.4. Par conséquent, aucune case activée de bits de capacité distincte n’est requise, au-delà de 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 Accumuler

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

  Entier non signé à 4 dimensions avec add. Multiplie ensemble chaque paire correspondante d’octets 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 large 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 Accumuler

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

Un entier signé à 4 dimensions dot-product avec add. Multiplie ensemble chaque paire correspondante d’octets 8 bits signés dans les deux DWORD d’entrée, et additionne les résultats en l’accumulateur entier signé 32 bits. Cette instruction fonctionne dans une seule voie SIMD large de 32 bits. Les entrées sont également supposées être des quantités 32 bits.  

Dot-Product et accumulation à virgule flottante à 2 éléments de précision unique

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

Produit à virgule flottante 2 dimensions de demi-vecteurs avec ajout. Multiplie les éléments des deux vecteurs d’entrée float de demi-précision et additionne les résultats dans l’accumulateur float 32 bits. Ces instructions fonctionnent dans une seule voie SIMD large 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 à l’ensemble de valeurs d’énumération D3D12_SHADING_RATE.

Cette valeur système est disponible sur les plateformes D3D12_VARIABLE_SHADING_RATE_TIER_2 ou supérieures. Il peut être écrit à partir d’au plus l’une des étapes de nuanceur de vertex ou de géométrie. Il peut être lu à partir de l’étape du nuanceur de pixels. Pour plus d’informations, consultez La trame de fond à taux variable.