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 |