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

Instruções de sombreador de pixel