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) | нет |