sample_d (sm4 - asm)

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

sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle]
Элемент Описание
Dest
[in] Адрес результатов операции.
srcAddress
[in] Набор координат текстуры. Дополнительные сведения см. в примере инструкции.
srcResource
[in] Регистр текстуры. Дополнительные сведения см. в примере инструкции.
srcSampler
[in] Регистр выборки. Дополнительные сведения см. в примере инструкции.
srcXDerivatives
[in] Производные для исходного адреса в направлении x. Дополнительные сведения см. в разделе Примечания.
srcYDerivatives
[in] Производные для исходного адреса в направлении y. Дополнительные сведения см. в разделе Примечания.

Комментарии

Эта инструкция ведет себя как пример инструкции, за исключением того, что производные для исходного адреса в направлении x и y предоставляются дополнительными параметрами srcXDerivatives и srcYDerivatives соответственно. Эти производные находятся в нормализованном пространстве координат текстуры.

Компоненты r, g и b srcXDerivatives (POS-swizzle) предоставляют du/dx, dv/dx и dw/dx. Компонент "a" (POS-swizzle) игнорируется.

Компоненты r, g и b srcYDerivatives (POS-swizzle) предоставляют du/dy, dv/dy и dw/dy. Компонент "a" (POS-swizzle) игнорируется.

В отличие от примера инструкции, которая позволяет совместно использовать одно вычисление LOD в метке 2x2, sample_d должны вычислять LOD полностью независимо по пикселю при использовании в шейдере пикселей.

Если производные входные данные для sample_d поступили из инструкций по производным вычислениям в шейдере пикселей и значения включают INF/NaN, поведение sample_d может не соответствовать инструкции образца , которая неявно вычисляет производную. Значения INF/NaN могут по-разному влиять на вычисление LOD.

Получение из входного слота, с которым ничего не связано, возвращает 0 для всех компонентов.

Ограничения

  • sample_d наследует те же ограничения, что и в примере инструкции, а также дополнительное ограничение ниже для дополнительных параметров.
  • srcXDerivatives и srcYDerivatives должны быть временными (r#/x#), constantBuffer (cb#), входными (v#) регистрами или непосредственными значениями.

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

Вершинный построитель текстуры Шейдер геометрии Построитель текстуры
X X x

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

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

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

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