callnz pred (정점 셰이더)
0 이 아닌 경우에 프레디케이션을 지정해 호출한다. 라벨 인덱스로 마크 된 명령의 조건부 호출을 실행한다. 프레디케이션은 불리언 값을 사용해, 명령을 실행할지 어떨지를 판단한다.
구문
callnz label, [! ] p0.replicateSwizzle |
---|
여기서
- label 는,label (정점 셰이더) 번호이다.
- [! ] (은)는 생략 가능한 불리언 값 NOT 이다.
- p0 는, 프레디케이션레지스터이다. 「프레디케이션」을 참조할것.
- replicateSwizzle 는, 프레디케이션값이 포함된 성분을 나타낸다. 유효한 성분은, x, y, z, w, 또는 r, g, b, a 이다. 프레디케이션값은, 정부의 반전 수식자를 사용해 변경할 수 있다.
주의
정점 셰이더의 버전 | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|
callnz | | | 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 개의 정점 셰이더 명령 슬롯을 사용한다.
최저한의 operating system | Windows 98 |
---|