Compartilhar via


gather4_po (sm5 – asm)

Uma variante de gather4, mas em vez de dar suporte a um deslocamento imediato [-8..7], o deslocamento vem como um parâmetro para a instrução e também tem um intervalo maior de [-32..31].

gather4_po dest[.mask], srcAddress[.swizzle], srcOffset[.swizzle], srcResource[.swizzle], srcSampler[.select_component]
Item Descrição
Dest
[in] O endereço do resultado da operação.
srcAddress
[in] Um conjunto de coordenadas de textura.
Srcoffset
[in] O deslocamento.
srcResource
[in] Um registro de textura.
srcSampler
[in] Um registro de amostra.

Comentários

Os dois primeiros componentes do parâmetro de deslocamento de 4 vetores fornecem deslocamentos inteiros de 32 bits. Os outros componentes desse parâmetro são ignorados.

Os 6 bits menos significativos de cada valor de deslocamento são respeitados como um valor assinado, gerando o intervalo [-32..31].

Essa instrução só funciona com texturas 2D, ao contrário de gather4, que também funciona com TextureCubes.

Os únicos modos respeitados no sampler são os modos de endereçamento. Somente o mip mais detalhado na exibição de recursos é usado.

Se o endereço cair em um centro texel, isso não significa que os outros texels podem ser zerados.

O parâmetro srcSampler inclui [.select_component], permitindo que qualquer componente único de uma textura seja recuperado, incluindo o retorno de padrões para componentes ausentes.

Para formatos com componentes float32, se o valor que está sendo buscado for normalizado, desnormalizado, +-0 ou +-INF, ele será retornado para o sombreador sem alteração. NaN é retornado como NaN, mas a representação de bit exata do NaN pode ser alterada. Para TextureCubes, alguma síntese do 4º texel ausente deve ocorrer nos cantos, portanto, a noção de retornar bits inalterados para o texel sintetizado não se aplica e desnormas podem ser liberados.

Use esta instrução para estender o intervalo de deslocamento de gather4 para ser maior e programável. O sufixo "po" no nome significa "deslocamento programável".

Esta instrução se aplica aos seguintes estágios de sombreador:

Vértice Casco Domínio Geometry Pixel Computação
X X X X X X

Modelo de sombreador mínimo

Esta instrução tem suporte nos seguintes modelos de sombreador:

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 não
Modelo de sombreador 4 não
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 5 (DirectX HLSL)