Поделиться через


Токен исходного параметра

Токен исходного параметра описывает свойства регистра источника и состоит из следующих битов:

Биты

[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.