Partager via


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

Assembly de nuanceur modèle 4 (DirectX HLSL)