phase – ps
A instrução de fase marca a transição entre a fase 1 e a fase 2. Se nenhuma instrução de fase estiver presente, todo o sombreador será executado como se fosse um sombreador de fase 2.
Esta instrução se aplica somente à versão 1_4.
Sintaxe
phase
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 |
---|---|---|---|---|---|---|---|---|---|
fase | x |
Instruções de sombreador que ocorrem antes da instrução de fase são instruções de fase 1. Todas as outras instruções são instruções de fase 2. Ao ter duas fases para instruções, o número máximo de instruções por sombreador é aumentado.
O efeito colateral infeliz da transição de fase é que o componente alfa dos registros temporários não persiste durante a transição. Em outras palavras, o componente alfa deve ser reinicializado após a instrução de fase.
Exemplo
Este exemplo mostra como agrupar instruções como instruções de fase 1 ou fase 2 em um sombreador.
A instrução de fase também é comumente chamada de marcador de fase porque marca a transição entre as instruções da fase 1 e 2. Em um sombreador de 1_4 pixels de versão, se o marcador de fase não estiver presente, o sombreador será executado como se estivesse em execução na fase 2. Isso é importante porque há diferenças entre as instruções da fase 1 e 2 e a disponibilidade do registro. As diferenças são observadas em toda a seção de referência.
ps_1_4
// Add phase 1 instructions here
phase
// Add phase 2 instructions here
Tópicos relacionados