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 |