Поделиться через


ddiv (sm5 - asm)

Вычисляет компонентное деление двойной точности.

ddiv[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle]
Элемент Описание
Dest
[in] Результат операции. Значение результата должно быть точным до 0,5 ULP.
src0
[in] Делимое.
src1
[in] Делитель.

Комментарии

Инструкция DDIV будет выдаваться компилятором HLSL всякий раз, когда оператор деления используется с doubles. Точность этой инструкции должна быть 0,5 ULP.

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

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

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

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

src0 src1 —> -Inf -F -1.0 -0 +0 +1.0 +F +inf Не число
-Inf Не число +inf +inf +inf -inf -inf -inf Не число Не число
-F +0 +F -src0 +inf -inf src0 -F -0 Не число
-0 +0 +0 +0 Не число Не число -0 -0 -0 Не число
+0 -0 -0 -0 Не число Не число +0 +0 +0 Не число
+F -0 -F -src0 -inf +inf src0 +F +0 Не число
+inf Не число -inf -inf -inf +inf +inf +inf Не число Не число
Не число Не число Не число Не число Не число Не число Не число Не число Не число Не число

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

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

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

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

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

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