Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Слоты инструкций
Каждая версия поддерживает другое количество слотов инструкций.
Версия | Максимальное количество слотов инструкций |
---|---|
ps_1_1 | 4 текстура + 8 арифметических |
ps_1_2 | 4 текстура + 8 арифметических |
ps_1_3 | 4 текстура + 8 арифметических |
ps_1_4 | 6 текстур + 8 арифметических на фазу |
ps_2_0 | 32 текстуры + 64 арифметики |
ps_2_x | Минимум 96 и до количества слотов в D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. См. D3DPSHADERCAPS2_0. |
ps_3_0 | Минимум 512 и до количества слотов в D3DCAPS9. MaxPixelShader30InstructionSlots. См. D3DPSHADERCAPS2_0. |
Сведения об ограничениях программных шейдеров см. в программных шейдеров.
Ограничения вложенных элементов управления потоками
- См. ограниченияуправления потоками.
функции ps_1_x
Новые инструкции:
Инструкции см.ps_1_1 ps_1_2, ps_1_3 ps_1_4 инструкций.
Новые регистры:
См. ps_1_1__ps_1_2__ps_1_3__ps_1_4регистров.
функции ps_2_0
Новые возможности:
- Три новых swizzles - .yzxw, .zxyw, .wzyx
- Число временных регистров (r#) увеличилось до 12
- Число регистров с плавающей запятой констант (c#) увеличилось до 32
- Число регистра координат текстуры(t#) увеличилось до 8
Новые инструкции:
- Инструкции по настройке : dcl - (sm2, sm3 - ps asm), dcl_samplerType (sm2, sm3 - ps asm)
- Арифметические инструкции - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, max - ps, мин - ps, nrm - ps, pow - ps, rcp - ps, rsq - ps, sincos - ps
- Инструкции текстуры - texld - ps_2_0 и (другой синтаксис), texldb - ps, texldp - ps
Новые регистры:
функции ps_2_x
Новые функции (см. D3DPSHADERCAPS2_0.):
- Динамический элемент управления потоком
- Статический элемент управления потоком
- Вложение для инструкций по управлению динамическим и статическим потоком
- Число временных регистров(r#) увеличено
- Произвольный исходный сверток
- Инструкции по градиенту
- Предикация
- Ограничение на чтение зависимой текстуры не
- Без ограничения инструкций текстуры
Новые инструкции:
- Инструкции по управлению статическими потоками — , если bool - ps, вызов - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, метка - ps, ret - ps
- Инструкции по управлению динамическим потоком — перерыва — ps, break_comp — ps, останова — ps, callnz pred — ps, if_comp — ps, , если предварительно — ps, setp_comp — ps
- Арифметические инструкции — dsx — ps, dsy — ps
- Инструкция текстуры — texldd — ps
Новые регистры:
- Регистр предиката (p0)
функции ps_3_0
Новые возможности:
- Консолидированные 10 входных регистров(v#)
- Индексируемый входной цветной регистр (v#) с регистром счетчика циклов (aL)
- Число временных регистров (r#)увеличилось до 32
- Число постоянного плавающего регистра(c#) увеличилось до 224
Новые инструкции:
- Инструкция установки — dcl_semantics (sm3 — ps asm)
- Инструкции по статическим потокам — цикл — ps, endloop — ps
- Арифметическая инструкция - sincos - ps (новый синтаксис)
- Инструкция текстуры — texldl — ps
Новые регистры:
- входной регистр (v#)
- регистр позиции (vPos)
- регистр лиц (vFace)
Связанные разделы