callnz pred - vs

0이 아닌 경우 를 호출하고, 0이 아닌 경우 를 호출합니다. 레이블 인덱스로 표시된 명령에 대한 조건부 호출을 수행합니다. Predication은 부울 값을 사용하여 가 명령을 수행하지 않을지 여부를 결정합니다.

구문

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

여기서

  • l은 # 레이블이며 호출할 서브루틴의 시작을 표시하는 것과 을 표시합니다.
  • [!] 는 선택적 부정 한정자입니다.
  • p0은 Predicate Register 입니다.
  • {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.
}

이 명령은 꼭짓점 셰이더 명령 슬롯 하나를 소비합니다.

꼭짓점 셰이더 지침