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


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 должны быть temp (r#/x#), constantBuffer (cb#), входные (v#) регистры или немедленные значения.

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

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

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

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

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

сборка шейдера 4 (DirectX HLSL)