Condividi tramite


mad (funzione)

Esegue un'operazione di moltiplicazione/aggiunta aritmetica su tre valori.

Sintassi

numeric mad(
  in numeric mvalue,
  in numeric avalue,
  in numeric bvalue
);

Parametri

mvalue [in]

Tipo: numerico

Valore di moltiplicazione.

avalue [in]

Tipo: numerico

Primo valore di addizione.

bvalue [in]

Tipo: numerico

Secondo valore di addizione.

Valore restituito

Tipo: numerico

Risultato di mvalue avalue * bvalue + .

Commenti

Modello minimo shader

Questa funzione è supportata nei modelli di shader seguenti.

Modello di shader Supportato
Modello shader 5 e versioni successive dello shader

 

Questa funzione è supportata nei tipi di shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
x x x x x x

 

Gli autori di shader possono usare l'instrinsic mad per indirizzare in modo esplicito l'istruzione hardware mad nell'output dello shader compilato, particolarmente utile con shader che contrassegnano i risultati con la parola chiave precisa . L'istruzione mad può essere implementata nell'hardware come "fuso", che offre una precisione maggiore rispetto all'implementazione di un'istruzione mul seguita da un'istruzione add , o come un mul + add add.

Se gli autori di shader usano l'instrinsic pazzo per calcolare un risultato che lo shader contrassegnato come preciso, indicano all'hardware di usare qualsiasi implementazione valida dell'istruzione mad (fuso o meno) purché l'implementazione sia coerente per tutti gli usi di tale intrinseco pazzo in qualsiasi shader su tale hardware. Gli shader possono quindi sfruttare i potenziali miglioramenti delle prestazioni usando un'istruzione mad nativa (rispetto a mul + add) in alcuni hardware. Il risultato dell'esecuzione di un'istruzione hardware pazza nativa potrebbe o meno essere diverso rispetto all'esecuzione di un mul seguito da un aggiunta. Tuttavia, indipendentemente dal risultato, il risultato deve essere coerente affinché la stessa operazione venga eseguita in più shader o in parti diverse di uno shader.

Vedi anche

Funzioni intrinseche

Modello shader 5