loop (sm4 – asm)
Especifica um loop que itera até que uma instrução de interrupção seja encontrada.
loop |
---|
Comentários
O loop pode iterar indefinidamente, embora a execução geral do Sombreador possa ser forçada a terminar depois que algumas instruções forem executadas.
Os blocos de controle de fluxo podem aninhar até 64 profundidades por sub-rotina e main. O compilador HLSL não gerará sub-rotinas que excedam esse limite. O comportamento das instruções de fluxo de controle além de 64 níveis de profundidade por sub-rotina é indefinido.
O formato de token contém o deslocamento da instrução endloop correspondente no Sombreador como uma conveniência.
O exemplo a seguir mostra como usar a instrução loop.
loop
// example of termination condition
if_nz r0.x
break
endif
...
endloop
Esta instrução se aplica aos seguintes estágios de sombreador:
Sombreador de vértice | Sombreador de geometria | Sombreador de pixel |
---|---|---|
x | x | x |
Modelo de sombreador mínimo
Essa função tem suporte nos modelos de sombreador a seguir.
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 5 | sim |
Modelo de sombreador 4.1 | sim |
Modelo de sombreador 4 | sim |
Modelo de sombreador 3 (DirectX HLSL) | não |
Modelo de sombreador 2 (DirectX HLSL) | não |
Modelo de sombreador 1 (DirectX HLSL) | não |
Tópicos relacionados