# deriv_rtx (sm4 - asm)

Rate of change of contents of each float32 component of
*src0* (post-swizzle), with regard to RenderTarget x direction
(rtx) or RenderTarget y direction.

deriv_rtx[_sat] dest[.mask], [-]src0[_abs][.swizzle], |
---|

Item | Description |
---|---|

[in] The address of the result of the operation. | |

[in] The component in the operation. |

## Remarks

Only a single x,y derivative pair is computed for each 2x2 stamp of pixels.

This operation is hardware dependent.

Reference rasterizer implementation for triangles:

- Pixel Shader always runs Shader over 2x2 quad of pixels in lockstep (even through flow control, masking disabled pixels).
- Quads always have even numbered pixel coordinates (both x and y) for top-left pixel.
- Dummy pixels run off primitive if primitive is too small to fill a 2x2 quad.
**deriv_rtx**is computed by first choosing 2 pixels: the current pixel and the other pixel with the same y coordinate from the quad. Then, the result is calculated as:*src0*(odd x pixel) -*src0*(even x pixel) [per-component]-
deriv_rty is computed by first choosing 2 pixels: the
current pixel and the other pixel with the same x coordinate
from the quad. Then, the result is calculated as:
*src0*(odd y pixel) -*src0*(even y pixel) [per-component]

This instruction applies to the following shader stages:

Vertex Shader | Geometry Shader | Pixel Shader |
---|---|---|

x |

## Minimum Shader Model

This function is supported in the following shader models.

Shader Model | Supported |
---|---|

Shader Model 5 | yes |

Shader Model 4.1 | yes |

Shader Model 4 | yes |

Shader Model 3 (DirectX HLSL) | no |

Shader Model 2 (DirectX HLSL) | no |

Shader Model 1 (DirectX HLSL) | no |

## Community Additions

ADD
Show: