loop - ps
loop...endloop - ps 블록의 시작입니다.
Syntax
loop aL, i# |
---|
여기서
- aL은 현재 루프 카운트를 보유하는 루프 카운터 레지스터입니다.
- i#은 상수 정수 레지스터입니다. 설명을 참조하세요.
설명
픽셀 셰이더 버전 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
loop | x | x |
- 루프 카운터 레지스터(aL)는 현재 루프 수를 보유하며 루프 블록 내부의 입력 색상 레지스터(v#)에 대한 상대 주소 지정에 사용할 수 있습니다.
- i#.x는 반복 횟수를 지정합니다. 유효한 범위는 [0, 255]입니다. 이 명령은 i#.x의 값을 증가시키거나 감소시키지 않습니다.
- i#.y는 루프 카운터 레지스터(aL) 레지스터의 초기 값을 지정합니다. 유효한 범위는 [0, 255]입니다. 이 명령은 i#.y의 값을 증가시키거나 감소시키지 않습니다.
- i#.z는 step/stride 크기를 지정합니다. 유효한 범위는 [-128, 127]입니다.
- i#.w는 루프 블록에서 사용되지 않으며 0이어야 합니다.
- 루프 블록은 중첩될 수 있습니다. 흐름 제어 제한을 참조하세요.
- 중첩된 경우 루프 카운터 레지스터(aL)의 값은 바로 바깥쪽 루프 블록을 참조하세요.
- 루프 블록은 if* 블록 안에 완전히 들어가거나 완전히 둘러쌀 수 있습니다. 걸침은 허용되지 않습니다.
예제
loop aL, i3
add r1, r0, v2[ aL ]
endloop
관련 항목