deriv_rtx (sm4 - asm)
Taux de modification du contenu de chaque composant float32 de src0 (post-swizzle), en ce qui concerne renderTarget x direction (rtx) ou RenderTarget y direction.
deriv_rtx[_sat] dest[.mask], [-]src0[_abs][.swizzle], |
---|
Élément | Description |
---|---|
Dest |
[in] Adresse du résultat de l’opération. |
src0 |
[in] Composant de l’opération. |
Notes
Une seule paire dérivée x,y est calculée pour chaque empreinte 2x2 de pixels.
Cette opération dépend du matériel.
Implémentation du rastériseur de référence pour les triangles :
- Pixel Shader exécute toujours le nuanceur sur 2x2 quads de pixels dans lockstep (même via le contrôle de flux, masquant les pixels désactivés).
- Les quads ont toujours des coordonnées de pixels numérotées paires (x et y) pour les pixels en haut à gauche.
- Les pixels factices s’exécutent primitivement si primitive est trop petite pour remplir un quad 2x2.
- deriv_rtx est calculé en choisissant d’abord 2 pixels : le pixel actuel et l’autre pixel avec la même coordonnée y du quad. Ensuite, le résultat est calculé comme suit : src0(impair x pixel) - src0 (même x pixel) [par composant]
- deriv_rty est calculé en choisissant d’abord 2 pixels : le pixel actuel et l’autre pixel avec la même coordonnée x du quad. Ensuite, le résultat est calculé comme suit : src0(y pixel impair) - src0(y pixel pair) [par composant]
Cette instruction s’applique aux étapes de nuanceur suivantes :
Nuanceur de sommets | Nuanceur de géométrie | Nuanceur de pixels |
---|---|---|
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 |
Nuanceur modèle 3 (DirectX HLSL) | non |
Nuanceur modèle 2 (DirectX HLSL) | non |
Nuanceur Modèle 1 (DirectX HLSL) | non |