Share via


max (sm4 - asm)

Valore massimo float a livello di componente.

max[_sat] dest[.mask], |src0[_abs][.swizzle], |src1[_abs][.swizzle],
Elemento Descrizione
Dest
[in] Risultato dell'operazione.
Dest = src0> = src1 ? src0 : src1
src0
[in] Componenti da confrontare con src1.
src1
[in] Componenti da confrontare con src0.

Commenti

= viene usato anziché > in modo che se min(x,y) = x, max(x,y) = y.

NaN ha una gestione speciale. Se un operando di origine è NaN, l'altro operando di origine viene restituito e la scelta viene effettuata per componente. Se entrambi sono NaN, viene restituita una rappresentazione NaN.

I denorm vengono scaricati con segno conservato prima del confronto. Tuttavia, il risultato scritto al massimo può o non essere scaricato.

La tabella seguente mostra i risultati ottenuti durante l'esecuzione dell'istruzione con varie classi di numeri, presupponendo che non si verifichino overflow o sottoflow. F significa numero reale finito.

src0 src1-> -Inf F +inf NaN
-Inf -inf src1 +inf -inf
F src0 src0 o src1 +inf src0
+inf +inf +inf +inf +inf
NaN -inf src1 +inf NaN

Questa istruzione si applica alle fasi dello shader seguenti:

Vertex shader Geometry shader Pixel shader
x x x

Modello di shader minimo

Questa funzione è supportata nei modelli shader seguenti.

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

Shader Model 4 Assembly (DirectX HLSL)