gather4_po (sm5 - asm)

Una variante di gather4, ma invece di supportare un offset immediato [-8..7], l'offset viene fornito come parametro per l'istruzione e ha anche un intervallo più ampio di [-32..31].

gather4_po dest[.mask], srcAddress[.swizzle], srcOffset[.swizzle], srcResource[.swizzle], srcSampler[.select_component]
Elemento Descrizione
Dest
[in] Indirizzo del risultato dell'operazione.
srcAddress
[in] Set di coordinate della trama.
srcOffset
[in] Offset.
srcResource
[in] Registro trama.
srcSampler
[in] Registro di esempio.

Commenti

I primi due componenti del parametro offset a 4 vettori forniscono offset integer a 32 bit. Gli altri componenti di questo parametro vengono ignorati.

I 6 bit meno significativi di ogni valore di offset vengono onorati come valore firmato, che restituisce l'intervallo [-32..31].

Questa istruzione funziona solo con trame 2D, a differenza di gather4, che funziona anche con TextureCubes.

Le uniche modalità rispettate nel sampler sono le modalità di indirizzamento. Viene usato solo il mip più dettagliato nella visualizzazione risorsa.

Se l'indirizzo cade su un centro texel, questo non significa che gli altri texel possono essere zero.

Il parametro srcSampler include [.select_component], consentendo il recupero di qualsiasi singolo componente di una trama, inclusa la restituzione delle impostazioni predefinite per i componenti mancanti.

Per i formati con componenti float32, se il valore recuperato è normalizzato, denormalizzato, +-0 o +-INF, viene restituito allo shader non modificato. NaN viene restituito come NaN, ma la rappresentazione esatta del bit della naN può essere modificata. Per TextureCubes, alcune sintesi del texel mancante devono verificarsi agli angoli, quindi la nozione di restituzione di bit invariati per il texel sintetizzato non si applica e i denorm potrebbero essere scaricati.

Usare questa istruzione per estendere l'intervallo di offset di gather4 per essere più grande e programmabile. Il suffisso "po" sul nome significa "offset programmabile".

Questa istruzione si applica alle fasi dello shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
X X X X X X

Modello di shader minimo

Questa istruzione è supportata nei modelli shader seguenti:

Modello di shader Supportato
Modello shader 5
Modello shader 4.1 no
Modello shader 4 no
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Shader Model 5 Assembly (DirectX HLSL)