loop - ps
ループを開始します...endloop - ps ブロック。
構文
ループ aL、i# |
---|
この場合、
- aL は、現在のループ数を保持するループ カウンター レジスタ です。
- i# は 定数整数レジスタです。 「解説」を参照してください。
解説
ピクセル シェーダーのバージョン | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
loop | x | x |
- ループ カウンター レジスタ (aL) は現在のループ数を保持し、ループ ブロック内の入力カラー レジスタ (v#) への相対アドレス指定に使用できます。
- i#.x は反復回数を指定します。 有効範囲は [0, 255] です。 この命令は、i#.x の値をインクリメントまたはデクリメントしないことに注意してください。
- i#.y は 、ループ カウンター レジスタ (aL) レジスタの初期値を指定します。 有効範囲は [0, 255] です。 この命令は、i#.y の値をインクリメントまたはデクリメントしないことに注意してください。
- i#.z では、ステップ/ストライド サイズを指定します。 有効範囲は [-128, 127] です。
- i#.w はループ ブロックでは使用されず、0 である必要があります。
- ループ ブロックは入れ子にすることができます。 「フロー制御の制限事項」を参照してください。
- 入れ子にすると、 ループ カウンター レジスタ (aL) の値は、直前の囲みループ ブロックを参照します。
- ループ ブロックは、if* ブロック内に完全に配置することも、完全に囲んでもかまいません。 またがりは許可されません。
例
loop aL, i3
add r1, r0, v2[ aL ]
endloop
関連トピック