gather4_po (sm5 – asm)
Вариант сбора4, но вместо поддержки немедленного смещения [-8..7], смещение поставляется в качестве параметра инструкции, а также имеет больший диапазон [-32...31].
gather4_po dest[.mask], srcAddress[.swizzle], srcOffset[.swizzle], srcResource[.swizzle], srcSampler[.select_component] |
---|
Элемент | Описание |
---|---|
Dest |
[in] Адрес результата операции. |
srcAddress |
[in] Набор координат текстуры. |
srcOffset |
[in] Смещение. |
srcResource |
[in] Регистр текстуры. |
srcSampler |
[in] Регистр выборки. |
Комментарии
Первые два компонента параметра 4-векторного смещения предоставляют 32-разрядные целочисленные смещения. Остальные компоненты этого параметра игнорируются.
6 наименее значимых битов каждого значения смещения почитаются как значение со знаком, что дает диапазон [-32..31].
Эта инструкция работает только с двухd-текстурами, в отличие от сбора 4, которая также работает с TextureCubes.
Единственными режимами, которые учитываются в выборке, являются режимы адресации. Используется только самый подробный MIP-файл в представлении ресурсов.
Если адрес падает на центр текселя, это не означает, что другие тексели можно обнулить.
Параметр srcSampler включает [.select_component], позволяя извлекать любой отдельный компонент текстуры, включая возврат значений по умолчанию для отсутствующих компонентов.
Для форматов с компонентами float32, если извлекаемое значение нормализовано, денормализовано, +-0 или +-INF, оно возвращается в шейдер без изменений. NaN возвращается как NaN, но точное битовое представление NaN может быть изменено. Для TextureCube некоторый синтез отсутствующих 4-й тексели должен происходить по углам, поэтому понятие возврата битов без изменений для синтезированного текселя не применяется, и денормы могут быть удалены.
Используйте эту инструкцию, чтобы расширить диапазон смещения объекта gather4 , чтобы он был больше и программируем. Суффикс po в имени означает "программируемое смещение".
Эта инструкция применяется к следующим этапам шейдера:
Вершина | Корпуса | Домен | Geometry | Пиксель | Вычисления |
---|---|---|---|---|---|
X | X | X | X | X | X |
Минимальная модель шейдера
Эта инструкция поддерживается в следующих моделях шейдеров:
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | нет |
Модель шейдера 4 | нет |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |