書き込みマスクは、命令の完了後に書き込まれる宛先レジスタのコンポーネントを制御します。 出力書き込みマスクは、コンポーネントが .rgba または .xyzw の順序である限り許可されます。 つまり、.rba と .xw は有効なマスクです。 テクスチャ レジスタには 1 つのルール セットがあり、非テクスチャ レジスタには別のルール セットがあります。
構文
dst.writemask |
---|
どこ
- dst は宛先レジスタです。
- writemask は、セット (x、y、z、w) または (赤、緑、青、アルファ) のいずれかからのマスクのシーケンスです。
備考
次の宛先書き込みマスクを使用できます。
ピクセル シェーダーのバージョン | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
.xyzw (既定値) | x | x | x | x | x | x | x | x | x |
.xyz | x | x | x | x | x | x | x | x | x |
.w | x | x | x | x | x | x | x | x | x |
任意のマスク | x | x | x | x | x | x |
任意のマスクを使用すると、任意のチャネルセットを組み合わせてマスクを生成できます。 チャネルは、宛先の赤、青、およびアルファ チャネルを更新する register.rba などの順序 r、g、b、a に一覧表示する必要があります。 任意のマスクは、バージョン 1_4 以降で使用できます。
宛先書き込みマスクが指定されていない場合、宛先書き込みマスクは既定で rgba ケースになります。 つまり、宛先レジスタ内のすべてのチャネルが更新されます。
バージョン 1_0 から 1_3 の場合、dp3 - ps dp3 算術命令では、.rgb または .rgba 出力書き込みマスクのみを使用できます。
宛先レジスタ書き込みマスクは、算術演算でのみサポートされます。 これらは、バージョン 1_4 命令、texcrd - ps、texld - ps_2_0 および upを除き、テクスチャ アドレッシング命令では使用できません。
既定では、4 つのカラー チャネルをすべて書き込みます。
// All four color channels can be written by explicitly listing them.
mul r0.rgba, t0, v0
// Or, the default mask can be used to write all four channels.
mul r0, t0, v0
アルファ書き込みマスクは、スカラー パイプラインを使用するため、スカラー書き込みマスクとも呼ばれます。
add r0.a, t1, v1
したがって、この命令は効果的にt1のアルファ成分とv1のアルファ成分の合計をr0.aに入れます。
カラー ライト マスクは、カラー チャネルへの書き込みを制御するために使用されます。
// The color write mask is also referred to as the vector write mask,
// because it uses the vector pipeline.
mul r0.rgb, t0, v0
バージョン 1_4 では、マスクが順序付けされた r、g、b、a である限り、宛先書き込みマスクを任意の組み合わせで使用できます。
// This example updates the red, blue, and alpha channels.
mov r0.rba, r1
共同発行命令を使用すると、2 つの異なる可能性のある命令を同時に発行できます。 これは、アルファ パイプラインと RGB パイプラインで命令を実行することによって実現されます。
mul r0.rgb, t0, v0
+ add r1.a, t1, c1
このように命令をペアリングする利点は、ベクターパイプラインとスカラーパイプラインで異なる操作を並列で実行できるという点です。
これらの頂点シェーダー出力レジスタは、次の書き込みマスクに制限されます。
レジスタの種類 | 必要な書き込みマスク |
---|---|
oFog | このスカラー レジスタでは明示的な書き込みマスクは許可されません |
oPts | このスカラー レジスタでは明示的な書き込みマスクは許可されません |
oPos | .xyzw(既定値) |
oT# | 結合マスク: .x | .xy | .xyz | .xyzw (既定値) |
関連トピック
-
ピクセル シェーダー レジスタ修飾子 を する