次の方法で共有


DCL 命令形式

DCL 命令はレジスタを宣言します。

書式

ピクセル シェーダー 2_0 以降のみ。

サンプラー状態レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[26:0] 予約済み。 0x0 に設定されます。

[30:27] 2D、キューブなどの場合、D3DSAMPLER_TEXTURE_TYPE に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

レジスタ番号およびレジスタの種類を D3DSPR_SAMPLER として示します。 これらは、このトークンで使用される唯一のフィールドです。

入力レジスタまたはテクスチャ レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[30:0] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

入力レジスタまたはテクスチャ レジスタ番号を示します。 write-mask フィールドは、宣言されたコンポーネントを示します。

頂点シェーダー 2_0 以降のみ。

入力レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[4:0] D3DDECLUSAGE 値 (つまり、D3DDECLUSAGE_TEXCOORD、D3DDECLUSAGE_NORMAL など)。

[15:5] 予約済み。 0x0 に設定されます。

[19:16] 使用状況インデックス値。

[30:20] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

レジスタ番号およびレジスタの種類を D3DSPR_INPUT として示します。 write-mask フィールドは、宣言されたコンポーネントを示します。

ピクセル シェーダー 3_0 以降のみ。

テクスチャ レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[4:0] D3DDECLUSAGE 値 (D3DDECLUSAGE_TEXCOORD または D3DDECLUSAGE_COLOR である必要があります)。

[15:5] 予約済み。 0x0 に設定されます。

[19:16] 使用状況インデックス値。 D3DDECLUSAGE_TEXCOORD の場合は、0 ~ 7 にする必要があります。 D3DDECLUSAGE_COLOR の場合は、0 にする必要があります。

[30:20] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

レジスタ番号およびレジスタの種類を D3DSPR_TEXTURE として示します。 write-mask フィールドは、宣言されたコンポーネントを示します。

フェース レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[30:0] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

フェース レジスタを示します。 write-mask フィールドは使用されていませんが、完全である必要があります。 result-modifier フィールドと shift-scale フィールドは 0 である必要があります (これらも未使用です)。

位置レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[30:0] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

位置レジスタを示します。 write-mask フィールドは、宣言されたコンポーネントを示します。

頂点シェーダー 3_0 以降のみ。

出力レジスタのみ。

命令トークン

D3DSIO_DCL を格納します。 DWORD トークン

次のビット形式を取ります。

[4:0] D3DDECLUSAGE 値 (つまり、D3DDECLUSAGE_TEXCOORD、D3DDECLUSAGE_NORMAL など)。

[15:5] 予約済み。 0x0 に設定されます。

[19:16] 使用状況インデックス値。

[30:20] 予約済み。 0x0 に設定されます。

[31] 0x1に設定されます。

宛先パラメーター トークン

レジスタ番号およびレジスタの種類を D3DSPR_OUTPUT として示します。 write-mask フィールドは、書き込まれるコンポーネントを定義します。

出力を記述するいくつかの DCL 命令で、同じレジスタ オフセットを使用できることに注意してください。 ただし、DCL 命令ごとに書き込みマスク コンポーネントは異なっている必要があります。 たとえば、以下の項目は頂点シェーダー 3_0 以降で有効です。

       DCL   o10.xy
       DCL   o10.zw

出力 DCL 命令では、頂点シェーダー 3_0 以降によって書き込まれるすべてのレジスタを宣言する必要があります。

要件

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。