loop – ps
Inicia um loop... endloop - bloco ps .
Sintaxe
loop aL, i # |
---|
Em que:
- aL é o Registro de Contador de Loop que contém a contagem de loops atual.
- i# é um Registro inteiro constante. Consulte Observações.
Comentários
Versões do sombreador de pixel | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
loop | x | x |
- O Registro do Contador de Loop (aL) mantém a contagem de loops atual e pode ser usado para endereçamento relativo no Registro de Cor de Entrada (v#) dentro do bloco de loop.
- i#.x especifica a contagem de iteração. O intervalo legal é [0, 255]. Observe que esta instrução não incrementa nem diminui o valor de i#.x.
- i#.y especifica o valor inicial do registro de contador de loop (aL). O intervalo legal é [0, 255]. Observe que essa instrução não incrementa nem diminui o valor de i#.y.
- i#.z especifica o tamanho da etapa/passo. O intervalo legal é [-128, 127].
- i#.w não é usado pelo bloco de loop e precisa ser 0.
- Os blocos de loop podem estar aninhados. Confira Limitações de controle de fluxo.
- Quando aninhado, o valor do Registro do Contador de Loop (aL) refere-se ao bloco de loop delimitamento imediato.
- Os blocos de loop têm permissão para estar completamente dentro de um bloco if* ou ao redor dele. Nenhuma faixa é permitida.
Exemplo
loop aL, i3
add r1, r0, v2[ aL ]
endloop
Tópicos relacionados