次の方法で共有


callnz pred - vs

プレディケーションを指定して、0 でない場合に呼び出します。ラベル インデックスでマークされた命令への条件付き呼び出しを実行します。プレディケーションではブール値を使って、命令を実行するかどうかを判断します。

構文

callnz l#, [!]p0.{x|y|z|w}

この場合

  • l# は呼び出されるサブルーチンの開始をマークする label - vs です。
  • [!] は正負の反転修飾子です (省略可能)。
  • p0 は プレディケーション レジスタ です。
  • {x|y|z|w} は p0 に必要な複製スィズルです。

解説 

頂点シェーダーのバージョン 1_1 2_0 2_x 2_sw 3_0 3_sw
callnz pred x x x x

この命令は、次の処理を行います。

if (specified register component is not zero)
{
    Push address of the next instruction to the return address stack.
    Continue execution from the instruction marked by the label.
}

この命令は、1 つの頂点シェーダー命令スロットを使用します。