dcl_indexRange (sm4 - asm)
Объявляет диапазон регистров, к которым будет обращаться индекс (целое число, вычисленное в шейдере).
dcl_indexRange minRegisterM, maxRegisterN |
---|
Элемент | Описание |
---|---|
minRegisterM |
[in] Первая регистрация для доступа по индексу.
|
maxRegisterN |
[in] Последняя регистрация для доступа по индексу. Та же форма, что и minRegister , за исключением N , является номером регистра. |
Следующие ограничения применяются ко всем регистрам:
- Регистры min и max должны быть одного типа и иметь одинаковые маски компонентов (если маски объявлены).
- Регистр может иметь несколько диапазонов индексов, если они не перекрываются.
- Минимальный номер регистра должен быть меньше максимального регистрового номера.
- Регистр индекса не может содержать системное значение.
- Индексирование регистра за пределами объявления max index приводит к неопределенным результатам.
Регистры входных данных шейдера пикселей должны использовать один и тот же режим интерполяции; регистры выходных данных шейдера пикселей не индексируются.
Входной регистр шейдера геометрии имеет два измерения (ось вершин, ось атрибутов); Диапазон индекса применяется только к оси атрибутов, так как ось вершин всегда полностью индексируется.
Эта инструкция применяется к следующим этапам шейдера:
Вершинный построитель текстуры | Шейдер геометрии | Построитель текстуры |
---|---|---|
x | x | x |
Эта инструкция включена для упрощения отладки шейдера в сборке; вы не можете создать шейдер на языке ассемблера с помощью модели 4 шейдера.
Пример
Ниже приведен пример.
dcl_indexRange v1, v3
dcl_indexRange v4, v9
Минимальная модель шейдера
Эта функция поддерживается в следующих моделях шейдеров.
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | да |
Модель шейдера 4 | да |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |