drcp (sm5 — asm)

Вычисляет компонентную обратную точность двойной точности.

drcp[_sat] dest[.mask], [-]src0[_abs][.swizzle]
Элемент Описание
Dest
[in] Адрес результатов
Dest = 1.0 / src0. Значение результата должно быть точным до 1,0 ULP
src0
[in] Число, для получения обратного значения.

Комментарии

Инструкция DRCP создается компилятором HLSL только при явном вызове через встроенную функцию rcp(), если в качестве аргумента используется double. Точность этой инструкции должна быть 1.0 ULP.

Шейдеры, использующие эту инструкцию, будут помечены флагом шейдера, что приведет к сбою привязки, если не будут выполнены все следующие условия.

  • Система поддерживает DirectX 11.1.
  • Система включает драйвер WDDM 1.2.
  • Драйвер сообщает о поддержке этой инструкции через D3D11_FEATURE_DATA_D3D11_OPTIONS. ExtendedDoublesShaderInstructions имеет значение TRUE.

В следующей таблице показаны результаты, полученные при выполнении инструкции с различными классами чисел, при условии, что ни переполнение, ни переполнение не происходит.

В этой таблице F означает конечное-реальное число.

src-> -Inf -F -0 +0 +F +inf Не число
dest-> -0 -F -inf +inf +F +0 Не число

Эта инструкция применяется к следующим этапам шейдера:

Вершина Корпуса Домен Geometry Пиксель Вычисления
X X X X X X

Минимальная модель шейдера

Эта инструкция поддерживается в следующих моделях шейдеров:

Модель шейдера Поддерживается
Модель шейдера 5 да
Модель шейдера 4.1 нет
Модель шейдера 4 нет
Модель шейдера 3 (DirectX HLSL) нет
Модель шейдера 2 (DirectX HLSL) нет
Модель шейдера 1 (DirectX HLSL) нет

Сборка модели шейдера 5 (DirectX HLSL)