retc(sm4 - asm)
조건부 반환입니다.
retc{_z|_nz} src0.select_component |
---|
항목 | 설명 |
---|---|
src0 |
[in] 조건을 테스트할 레지스터입니다. |
설명
서브루틴 내에 있는 경우 이 명령은 조건부로 호출 후 명령으로 돌아갑니다. 서브루틴 내부가 아닌 경우 이 명령은 프로그램 실행을 종료합니다.
다음 예에서는 이 명령을 사용하는 방법을 보여 줍니다.
...
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) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |