loop - ps
loop...endloop - ps ブロックを開始します。
構文
loop 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 に設定されている必要があります。
- loop ブロックはネストできます。「フロー制御の制限」を参照してください。
- ネストした場合、ループ カウンター レジスタ (aL) の値は、それを直接囲んでいるループ ブロックを参照します。
- loop ブロックは、if* ブロックの完全に内側に置くか、if* ブロックを完全に囲む必要があります。またぐことはできません。
例
loop aL, i3
add r1, r0, v2[ aL ]
endloop