breakc (sm4 – asm)

Move condicionalmente o ponto de execução para a instrução após o próximo endloop ou endswitch.

breakc{_z|_nz} src0.select_component
Item Descrição
src0
[in] O componente no qual testar a condição.

Comentários

O formato de token contém o deslocamento da instrução endloop correspondente no Sombreador como uma conveniência.

O exemplo a seguir mostra a instruçãobreakc .

                loop
                    // example of termination condition
                    breakc_z  r0.x // break if all bits in r0.x are 0
                    breakc_nz r1.x // break if any bit in r1.x is nonzero
                    ...
                endloop

Esta instrução deve aparecer em umendloop de loop/ ouendwitchde comutador/.

O registro de 32 bits fornecido pelo src0 é testado em um nível de bit. Se algum bit for diferente de zero, breakc_nz executará a interrupção. Se todos os bits forem zero, breakc_z executará a interrupção.

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

Assembly do Modelo de Sombreador 4 (DirectX HLSL)