Токен исходного параметра
Токен исходного параметра описывает свойства регистра источника и состоит из следующих битов:
Биты
[10:00] Биты от 0 до 10 указывают номер регистра (смещение в файле регистра).
[12:11] Биты 11 и 12 — это четвертый и пятый биты [3,4] для указания типа регистра.
[13] Для версий пиксельного шейдера (PS) до 3_0 бит 13 зарезервирован и имеет значение 0x0.
Для пиксельного шейдера (PS) версии 3_0 и более поздних версий и всех версий вершинного шейдера (VS) бит 13 указывает, используется ли режим относительной адресации. Если задано значение 1, применяется относительная адресация .
[15:14] Зарезервировано для всех версий PS и VS. Это значение равно 0x0.
[23:16] Биты от 16 до 23 указывают на поворот канала. Все арифметические операции выполняются в четырех параллельных каналах (X, Y, Z, W). Swizzle указывает, какой исходный компонент участвует в канале операции. Дополнительные сведения о swizzle см. в последней документации по пакету SDK для DirectX. Биты этого поля указывают swizzle для следующих каналов:
Bits | Channel |
---|---|
17:16 |
Канал X swizzle |
19:18 |
Канал Y swizzle |
21:20 |
Канал Z swizzle |
23:22 |
Канал W swizzle |
Следующие значения в любом наборе предыдущих битов указывают исходный компонент, который будет использоваться в канале операции:
Значение | Компонент |
---|---|
0x0 |
Используется компонент X. |
0x1 |
Используется компонент Y. |
0x2 |
Используется компонент Z. |
0x3 |
Используется компонент W. |
Например, если для битов 19:18 задано значение 0x2, то в качестве источника для операции канала Y используется компонент Z.
[27:24] Биты от 24 до 27 указывают на модификатор источника. Это 4-разрядное значение указывает следующие типы модификаторов источника:
Значение | Тип модификатора источника |
---|---|
0x0 |
Нет |
0x1 |
Negate |
0x2 |
Смещение |
0x3 |
Смещение и отрицать |
0x4 |
Знак (bx2) |
0x5 |
Знак (bx2) и отрицать |
0x6 |
Дополняют |
0x7 |
x2 (PS 1_4) |
0x8 |
x2 и negate (PS 1_4) |
0x9 |
dz (разделение по компоненту Z — PS 1_4) |
0xa |
dw (разделение по компоненту W âˆ' PS 1_4) |
0xb |
абсолютное значение вычислений abs(x) |
0xc |
-abs(x) вычисляет абсолютное значение и отрицает |
0xd |
НЕ. Применяется только к регистру предикаций, который является BOOL. Таким образом, это логично НЕ. |
0xe 0xf |
Зарезервировано |
[30:28] Биты 28–30 — это первые три бита [0,1,2] для указания типа регистра.
[31] Бит 31 0x1.
Комментарии
Биты 28, 29, 30, 11 и 12 образуют 5-битовое значение, указывающее тип регистра. Сведения о типах регистров см. в разделе Типы регистров шейдеров.
Требования
Доступно в Windows Vista и более поздних версиях операционных систем Windows.