loop – ps

Inicia um loop... endloop - bloco ps .

Sintaxe

loop aL, i #

 

Em que:

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

Instruções de sombreador de pixel