gather4 _ po (SM5-ASM)

Une variante de gather4, mais au lieu de prendre en charge un offset immédiat [ -8.. 7 ] , le décalage est fourni en tant que paramètre à l’instruction, et la plus grande plage de [ -32.. 31 ] .

gather4 _ po dest [ . Mask ] , srcAddress [ . Swizzle ] , srcOffset [ . Swizzle ] , srcResource [ . Swizzle ] , srcSampler [ . Select _ composant]
Élément Description
dest
[dans ] l’adresse du résultat de l’opération.
srcAddress
[dans ] un ensemble de coordonnées de texture.
srcOffset
[dans ] le décalage.
srcResource
[dans ] un registre de texture.
srcSampler
[dans ] un registre d’échantillonneur.

Notes

Les deux premiers composants du paramètre décalage à 4 vecteurs fournissent des décalages d’entiers 32 bits. Les autres composants de ce paramètre sont ignorés.

Les 6 bits les moins significatifs de chaque valeur de décalage sont honorés en tant que valeur signée, ce qui donne [ -32.. 31 ] .

Cette instruction fonctionne uniquement avec les textures 2D, contrairement à gather4, qui fonctionne également avec TextureCubes.

Les seuls modes honorés dans l’échantillonneur sont les modes d’adressage. Seul le MIP le plus détaillé dans l’affichage des ressources est utilisé.

Si l’adresse se trouve sur un centre de Texel, cela ne signifie pas que les autres texels peuvent être mis à zéro.

Le paramètre srcSampler inclut le [ composant. Select _ ] , qui permet de récupérer n’importe quel composant d’une texture, y compris les valeurs par défaut pour les composants manquants.

Pour les formats avec des composants float32, si la valeur extraite est normalisée, dénormalisée, +-0 ou +-INF, elle est retournée au nuanceur non modifié. NaN est retourné en tant que NaN, mais la représentation exacte du bit de NaN peut être modifiée. Pour TextureCubes, une certaine synthèse du 4e Texel manquant doit se produire au niveau des angles, de sorte que la notion de retour de bits inchangé pour le Texel synthétisé ne s’applique pas et les dénormes peuvent être vidées.

Utilisez cette instruction pour étendre la plage de décalage de gather4 à plus grande taille et programmable. Le suffixe « po » sur le nom signifie « décalage programmable ».

Cette instruction s’applique aux étapes suivantes du nuanceur :

Sommet Forme Domain Géométrie Pixel Calcul
X X X X X X

Modèle de nuanceur minimal

Cette instruction est prise en charge dans les modèles de nuanceur suivants :

Modèle de nuanceur Prise en charge
Shader, modèle 5 Oui
Modèle de nuanceur 4,1 non
Nuanceur modèle 4 non
Shader Model 3 (DirectX HLSL) non
Shader Model 2 (DirectX HLSL) non
Shader Model 1 (DirectX HLSL) non

Assembly modèle 5 du nuanceur (DirectX HLSL)