drcp (sm5 – asm)

Calcula um recíproco de precisão dupla em termos de componente.

drcp[_sat] dest[.mask], [-]src0[_abs][.swizzle]
Item Descrição
Dest
[in] O endereço dos resultados
Dest = 1.0 / src0. O valor do resultado deve ser preciso para 1,0 ULP
src0
[in] O número do qual aceitar a recíproca.

Comentários

A instrução DRCP é emitida pelo compilador HLSL somente quando explicitamente chamada por meio do intrínseco rcp(), quando um duplo é usado como o argumento . A precisão dessa instrução é necessária para ser 1.0 ULP.

Sombreadores que usam essa instrução serão marcados com um sinalizador de sombreador que fará com que eles falhem ao associar, a menos que todas as condições a seguir sejam atendidas.

  • O sistema dá suporte ao DirectX 11.1.
  • O sistema inclui um driver WDDM 1.2.
  • O driver relata suporte para essa instrução por meio de D3D11_FEATURE_DATA_D3D11_OPTIONS. ExtendedDoublesShaderInstructions definido como TRUE.

A tabela a seguir mostra os resultados obtidos ao executar a instrução com várias classes de números, supondo que nenhum estouro ou subfluxo ocorra.

Nesta tabela F significa número finito-real.

src-> -Inf -F -0 +0 +F +inf NaN
dest-> -0 -F -inf +inf +F +0 NaN

Esta instrução se aplica aos seguintes estágios de sombreador:

Vértice Casco Domínio Geometry Pixel Computação
X X X X X X

Modelo de sombreador mínimo

Esta instrução tem suporte nos seguintes modelos de sombreador:

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 não
Modelo de sombreador 4 não
Modelo de Sombreador 3 (DirectX HLSL) não
Modelo de Sombreador 2 (DirectX HLSL) não
Modelo de Sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 5 (DirectX HLSL)