div (sm4 - asm)
Divisione a livello di componente.
div[_sat] dest[.mask], |src0[_abs][.swizzle], |src1[_abs][.swizzle] |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Risultato dell'operazione. |
src0 |
[in] Dividendo. |
src1 |
[in] Divisore. |
Commenti
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.
Si notino le due implementazioni consentite di divisione: a/b e a*(1/b).
Un risultato di questo è che esistono eccezioni alla tabella seguente per valori denominatori di grandi dimensioni (maggiore di 8,5070592e+37), dove 1/denominatore è un denorm. Poiché le implementazioni possono eseguire una divisione come a*(1/b), anziché direttamente a/b e 1/[valore large] è un denorm che potrebbe essere scaricato, alcuni casi nella tabella produrrebbero risultati diversi. Ad esempio, (+/-)INF / (+/-)[value > 8.5070592e+37] può produrre NaN in alcune implementazioni, ma (+/-)INF in altre implementazioni
In questa tabella F significa numero reale finito.
src0 src1 -> | -Inf | -F | -denorm | -0 | +0 | +denorm | +F | +inf | Nan |
---|---|---|---|---|---|---|---|---|---|
-Inf | -inf | -inf | -inf | -inf | -inf | -inf | -inf | NaN | NaN |
-F | -inf | -F | src0 | src0 | src0 | src0 | +-F o +-0 | +inf | NaN |
-denorm | -inf | src1 | -0 | -0 | +0 | +0 | src1 | +inf | NaN |
-0 | -inf | src1 | -0 | -0 | +0 | +0 | src1 | +inf | NaN |
+0 | -inf | src1 | +0 | +0 | +0 | +0 | src1 | +inf | NaN |
+denorm | -inf | src1 | +0 | +0 | +0 | +0 | src1 | +inf | NaN |
+F | -inf | +-F o +-0 | src0 | src0 | src0 | src0 | +F | +inf | NaN |
+inf | NaN | +inf | +inf | +inf | +inf | +inf | +inf | +inf | NaN |
NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
Questa istruzione si applica alle fasi dello shader seguenti:
Vertex shader | Geometry shader | Pixel shader |
---|---|---|
x | x | x |
Modello minimo shader
Questa funzione è supportata nei modelli di shader seguenti.
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | sì |
Modello shader 4 | sì |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |