dcl_indexRange (sm4 - asm)

Объявляет диапазон регистров, к которым будет обращаться индекс (целое число, вычисленное в шейдере).

dcl_indexRange minRegisterM, maxRegisterN
Элемент Описание
minRegisterM
[in] Первая регистрация для доступа по индексу.
  • minRegister — это либо v для входного регистра вершинного или пиксельного шейдера, либо для выходного регистра вершинного шейдера.
  • M — это целое число, обозначающее номер регистра.
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) нет

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