retc (sm4 - asm)

条件付き戻り値。

retc{_z|_nz} src0.select_component
項目 説明
src0
[入力]条件をテストする対象のレジスタ。

解説

サブルーチン内の場合、この命令は、呼び出し後に条件付きで 命令に戻ります。 サブルーチン内にない場合、この命令はプログラムの実行を終了します。

次の例は、この命令の使用方法を示しています。

           ...
           call l3
           ...
           ret
           label l3
               ...
               retc_nz r0.x  // If any bit in r0.x is nonzero, then return
               retc_z  r1.x  // If all bits in r0.x are zero, then return.
               ...
           ret

制限

  • retc は、プログラム内の任意の場所、任意の回数だけ表示できます。
  • メインプログラムまたはサブルーチンの最後の命令は、retc_zまたはretc_nzにすることはできません。 代わりに、無条件 ret を使用できます。
  • src0 によって提供される 32 ビット レジスタは、ビット レベルでテストされます。 ビットが 0 以外の場合、 ret_nz は を返します。 すべてのビットが 0 の場合、 retc_z は を返します。

この命令は、次のシェーダー ステージに適用されます。

頂点シェーダー ジオメトリ シェーダー ピクセル シェーダー
x x x

最小シェーダー モデル

この関数は、次のシェーダー モデルでサポートされています。

シェーダー モデル サポートされています
シェーダー モデル 5 はい
シェーダー モデル 4.1 はい
シェーダー モデル 4 はい
シェーダー モデル 3 (DirectX HLSL) no
シェーダー モデル 2 (DirectX HLSL) no
シェーダー モデル 1 (DirectX HLSL) no

シェーダー モデル 4 アセンブリ (DirectX HLSL)