Bagikan melalui


fungsi gila

Melakukan operasi perkalian/penambahan aritmatika pada tiga nilai.

Sintaks

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

Parameter

mvalue [in]

Jenis: numerik

Nilai perkalian.

avalue [in]

Jenis: numerik

Nilai penambahan pertama.

bvalue [in]

Jenis: numerik

Nilai penambahan kedua.

Menampilkan nilai

Jenis: numerik

Hasil dari nilai nilai mvalue * + .

Keterangan

Minimum Shader Model

Fungsi ini didukung dalam model shader berikut.

Shader Model Didukung
Model Shader 5 dan model shader yang lebih tinggi ya

 

Fungsi ini didukung dalam jenis shader berikut:

Puncak Hull Domain Geometri Pixel Compute
x x x x x x

 

Penulis shader dapat menggunakan instrinsik gila untuk secara eksplisit menargetkan instruksi perangkat keras gila dalam output shader yang dikompilasi, yang sangat berguna dengan shader yang menandai hasil dengan kata kunci yang tepat . Instruksi gila dapat diimplementasikan dalam perangkat keras sebagai "menyatu," yang menawarkan presisi yang lebih tinggi daripada menerapkan instruksi mul diikuti dengan instruksi tambahan, atau sebagaipenambahanmul + .

Jika pembuat shader menggunakan instrinsik gila untuk menghitung hasil yang ditandai shader sebagai tepat, mereka menunjukkan kepada perangkat keras untuk menggunakan implementasi yang valid dari instruksi gila (menyatu atau tidak) selama implementasi konsisten untuk semua penggunaan intrinsik gila tersebut dalam shader apa pun pada perangkat keras tersebut. Shader kemudian dapat memanfaatkan potensi peningkatan performa dengan menggunakan instruksi gila asli (versus mul + add) pada beberapa perangkat keras. Hasil dari melakukan instruksi perangkat keras gila asli mungkin atau mungkin tidak berbeda dari melakukan mul diikuti dengan penambahan. Namun, apa pun hasilnya, hasilnya harus konsisten agar operasi yang sama terjadi di beberapa shader atau bagian yang berbeda dari shader.

Lihat juga

Fungsi Intrinsik

Model Shader 5