sample_d (sm4 - asm)
Échantillonne les données de l’élément/texture spécifié à l’aide de l’adresse spécifiée et du mode de filtrage identifié par l’échantillonneur donné.
sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Adresse des résultats de l’opération. |
srcAddress |
[in] Ensemble de coordonnées de texture. Pour plus d’informations, consultez l’exemple d’instruction . |
srcResource |
[in] Registre de textures. Pour plus d’informations, consultez l’exemple d’instruction . |
srcSampler |
[in] Registre de l’échantillonneur. Pour plus d’informations, consultez l’exemple d’instruction . |
srcXDerivatives |
[in] Dérivés de l’adresse source dans la direction x. Pour plus d’informations, consultez la section Remarques. |
srcYDerivatives |
[in] Dérivés de l’adresse source dans la direction y. Pour plus d’informations, consultez la section Remarques. |
Remarques
Cette instruction se comporte comme l’exemple d’instruction, sauf que les dérivées de l’adresse source dans la direction x et la direction y sont fournies par des paramètres supplémentaires, respectivement srcXDerivatives et srcYDerivatives. Ces dérivés se trouvent dans un espace de coordonnées de texture normalisé.
Les composants r, g et b de srcXDerivatives (POS-swizzle) fournissent du/dx, dv/dx et dw/dx. Le composant « a » (POS-swizzle) est ignoré.
Les composants r, g et b de srcYDerivatives (POS-swizzle) fournissent du/dy, dv/dy et dw/dy. Le composant « a » (POS-swizzle) est ignoré.
Contrairement à l’exemple d’instruction, qui est autorisé à partager un seul calcul LOD sur un tampon 2x2, sample_d devez calculer le LOD de manière complètement indépendante, par pixel lorsqu’il est utilisé dans le nuanceur de pixels.
Si les entrées dérivées de sample_d proviennent d’instructions de calcul dérivées dans le nuanceur de pixels et que les valeurs incluent INF/NaN, le comportement de sample_d peut ne pas correspondre à l’exemple d’instruction , qui calcule implicitement la dérivée. Les valeurs INF/NaN peuvent affecter le calcul LOD différemment.
L’extraction à partir d’un emplacement d’entrée qui n’a rien de lié retourne 0 pour tous les composants.
Restrictions
- sample_d hérite des mêmes restrictions que l’exemple d’instruction , ainsi qu’une restriction supplémentaire ci-dessous pour ses paramètres supplémentaires.
- srcXDerivatives et srcYDerivatives doivent être temp (r#/x#), constantBuffer (cb#), input (v#) ou des valeurs immédiates.
Cette instruction s’applique aux étapes suivantes du nuanceur :
Nuanceur de sommets | Nuanceur de géométrie | Nuanceur de pixels |
---|---|---|
X | X | x |
Modèle de nuanceur minimal
Cette fonction est prise en charge dans les modèles de nuanceur suivants.
Modèle de nuanceur | Pris en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | Oui |
Modèle de nuanceur 4 | Oui |
Modèle de nuanceur 3 (DirectX HLSL) | Non |
Shader Model 2 (DirectX HLSL) | Non |
Modèle de nuanceur 1 (DirectX HLSL) | Non |