ソース パラメーター トークンは、ソース レジスタのプロパティを記述し、次のビットで構成されます。
ビット
[10:00] Bits 0 through 10 indicate the register number (offset in register file).
[12:11] Bits 11 and 12 are the fourth and fifth bits [3,4] for indicating the register type.
[13] For a pixel shader (PS) versions earlier than 3_0, bit 13 is reserved and set to 0x0.
ピクセル シェーダー (PS) バージョン 3_0 以降およびすべてのバージョンの頂点シェーダー (VS) の場合、ビット 13 は相対アドレス指定モードが使用されているかどうかを示します。 If set to 1, relative addressing applies.
[15:14] Reserved for all versions of PS and VS. この値は 0x0 に設定されます。
[23:16] Bits 16 through 23 indicate channel swizzle. すべての算術演算は、4 つの並列チャネル (X、Y、Z、W) で実行されます。 Swizzle は、どのソース コンポーネントが操作のチャネルに参加するかを指定します。 スウィズルの詳細については、最新の DirectX SDK ドキュメントを参照してください。 このフィールドのビットは、次のチャネルにスウィズルを指定します。
| Bits | Channel |
|---|---|
17:16 |
チャネル X スウィズル |
19:18 |
Channel Y スウィズル |
21:20 |
Channel Z スウィズル |
23:22 |
Channel W swizzle |
上記のビットのセット内の次の値は、操作のチャネルで使用されるソース コンポーネントを指定します。
| Value | Component |
|---|---|
0x0 |
コンポーネント X が使用されます。 |
0x1 |
コンポーネント Y が使用されます。 |
0x2 |
コンポーネント Z が使用されます。 |
0x3 |
コンポーネント W が使用されます。 |
たとえば、19:18 ビットが 0x2 に設定されている場合、コンポーネント Z がチャネル Y 演算のソースとして使用されます。
[27:24] Bits 24 through 27 indicate the source modifier. この 4 ビット値は、次のソース修飾子の種類を示します。
| Value | ソース修飾子の種類 |
|---|---|
0x0 |
None |
0x1 |
Negate |
0x2 |
Bias |
0x3 |
バイアスと否定 |
0x4 |
Sign (bx2) |
0x5 |
署名 (bx2) と否定 |
0x6 |
Complement |
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 |
NOT. プレディケーション レジスタ (BOOL) にのみ適用されます。 したがって、論理 NOT です。 |
0xe-0xf |
Reserved |
[30:28] Bits 28 through 30 are the first three bits [0,1,2] for indicating the register type.
[31] Bit 31 is 0x1.
コメント
ビット 28、29、30、11、および 12 は、レジスタの種類を示す 5 ビット値を形成します。 レジスタタイプの詳細については、「 シェーダーレジスタタイプ」を参照してください。
必要条件
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。