Quellparametertoken
Ein Quellparametertoken beschreibt die Eigenschaften eines Quellregisters und besteht aus den folgenden Bits:
Bits
[10:00] Bits 0 bis 10 geben die Registernummer (Offset in der Registerdatei) an.
[12:11] Bits 11 und 12 sind das vierte und fünfte Bit [3,4] zur Angabe des Registertyps.
[13] Bei einer früheren Version von Pixel shader (PS) als 3_0 ist Bit 13 reserviert und auf 0x0 festgelegt.
Für Pixelshader (PS) Version 3_0 und höher und alle Versionen von Vertex shader (VS) gibt Bit 13 an, ob der relative Adressierungsmodus verwendet wird. Wenn dieser Wert auf 1 festgelegt ist, gilt die relative Adressierung .
[15:14] Reserviert für alle Versionen von PS und VS. Dieser Wert ist auf 0x0 festgelegt.
[23:16] Bits 16 bis 23 deuten auf Kanalschwister hin. Alle arithmetischen Operationen werden in vier parallelen Kanälen (X,Y,Z,W) ausgeführt. Swizzle gibt an, welche Quellkomponente an einem Vorgangskanal beteiligt ist. Weitere Informationen zu swizzle finden Sie in der aktuellen DirectX SDK-Dokumentation. Die Bits dieses Felds geben swizzle für die folgenden Kanäle an:
Bits | Kanal |
---|---|
17:16 |
Kanal X Swizzle |
19:18 |
Kanal Y Swizzle |
21:20 |
Kanal Z swizzle |
23:22 |
Kanal W swizzle |
Die folgenden Werte in allen vorherigen Bits geben die Quellkomponente an, die im Vorgangskanal verwendet werden soll:
Wert | Komponente |
---|---|
0x0 |
Komponente X wird verwendet. |
0x1 |
Komponente Y wird verwendet. |
0x2 |
Komponente Z wird verwendet. |
0x3 |
Komponente W wird verwendet. |
Wenn beispielsweise die 19:18-Bits auf 0x2 festgelegt sind, wird Komponente Z als Quelle für den Y-Kanalvorgang verwendet.
[27:24] Bits 24 bis 27 geben den Quellmodifizierer an. Dieser 4-Bit-Wert gibt die folgenden Quellmodifizierertypen an:
Wert | Quellmodifizierertyp |
---|---|
0x0 |
Keine |
0x1 |
Negate |
0x2 |
Verzerrung (Bias) |
0x3 |
Bias und Negieren |
0x4 |
Sign (bx2) |
0x5 |
Signieren (bx2) und Negieren |
0x6 |
Ergänzen |
0x7 |
x2 (PS 1_4) |
0x8 |
x2 und negieren (PS 1_4) |
0x9 |
dz (dividieren durch durch Z-Komponente – PS 1_4) |
0xa |
dw (dividieren durch W-Komponente âˆ' PS 1_4) |
0xb |
abs(x) compute absoluter Wert |
0xc |
-abs(x) berechnet den absoluten Wert und negiert |
0xd |
NICHT. Wird nur auf das Prädicationsregister angewendet, das BOOL ist. Daher ist es logisch NOT. |
0xe-0xf |
Reserviert |
[30:28] Bits 28 bis 30 sind die ersten drei Bits [0,1,2] zur Angabe des Registertyps.
[31] Bit 31 ist 0x1.
Kommentare
Die Bits 28, 29, 30, 11 und 12 bilden einen 5-Bit-Wert, der den Registertyp angibt. Informationen zu Registrierungstypen finden Sie unter Shaderregistertypen.
Anforderungen
Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.