dtof (sm5 - asm)

Component-wise conversion from double-precision floating-point data to single-precision floating-point data.

dtof dest[.mask], [-]src[.swizzle],




[in] The address of the converted data.


[in] The data to be converted.



Each component of the source is converted from the double-precision representation to the single-precision representation using round-to-nearest-even rounding.

The valid swizzles for the source parameter are .xyzw, .xyxy, .zwxy, .zwzw.

The valid dest masks are any one or two components. That is: .x, .y, .z, .w, .xy, .xz, .xw, .yz, .yw, .zw The result of the first conversion goes to the first component in the mask, and the result of the second component goes in the second component in the mask, if present.

dest components are float32.

src is a double vec2 across (x 32LSB, y 32MSB) and (z 32LSB, w 32MSB) post swizzle.

For float32<->double conversions, implementations may either honor float32 denorms or may flush them.

This instruction applies to the following shader stages:



Minimum Shader Model

This instruction is supported in the following shader models:

Shader ModelSupported
Shader Model 5 yes
Shader Model 4.1 no
Shader Model 4 no
Shader Model 3 (DirectX HLSL) no
Shader Model 2 (DirectX HLSL) no
Shader Model 1 (DirectX HLSL) no


Related topics

Shader Model 5 Assembly (DirectX HLSL)