fcall (sm5 - asm)

Panggilan fungsi antarmuka.

fcall fp#[arrayIndex][callSite]
Item Deskripsi
Fp #
[in] Penunjuk fungsi.
arrayIndex
[in] Opsional. Menentukan offset ke dalam array penunjuk fungsi. Parameter ini harus berupa bilangan bulat harfiah yang tidak ditandatangani jika fp# tidak dinyatakan sebagai dapat diindeks. Jika tidak, arrayIndex mungkin berasal dari basis harfiah + offset dari register shader. Misalnya, fcall fp1[r1.w + 0][0] .
callSite
[in] Opsional. Offset bilangan bulat harfiah yang tidak ditandatangani ke dalam tabel fungsi yang dipilih, memilih fungsi body fb# untuk dijalankan.

Keterangan

fp#[arrayIndex][] diselesaikan ke tabel fungsi tertentu, dipilih dari API di luar shader dari pilihan tabel fungsi yang tercantum dalam deklarasi fp#.

Jumlah # dalam fp# dan arrayIndex pilih tabel fungsi. Misalnya, jika antarmuka dinyatakan sebagai fp4[4][3] (ukuran array 4), fcallberikut setara: fcall fp4[2][3] dan fp5[1][3], karena 4+2 = 5+1.

Batasan

  • Jika arrayIndex menggunakan pengindeksan dinamis, perilaku tidak terdefinisi jika arrayIndex berbeda pada pemanggilan shader yang berdekatan, yang dapat dijalankan dalam lockstep. Pengkompilasi HLSL akan mencoba melarang kasus ini.

    Pemanggilan yang berbatasan dapat tidak aktif karena kontrol aliran, karena tidak merusak eksekusi lockstep.

  • Jika fp# + arrayIndex menentukan indeks di luar batas, perilaku tidak terdefinisi.

  • Untuk kasus yang tidak terdefinisi yang dijelaskan di sini, itu berarti perilaku perangkat D3D saat ini menjadi tidak terdefinisi, termasuk kemungkinan Perangkat Hilang. Namun tidak ada memori di luar perangkat D3D saat ini yang akan diakses atau dijalankan sebagai kode.

Instruksi ini berlaku untuk tahap shader berikut:

Puncak Hull Domain Geometri Pixel Compute
X X X X X X

Minimum Shader Model

Instruksi ini didukung dalam model shader berikut:

Shader Model Didukung
Model Shader 5 ya
Model Shader 4.1 tidak
Model Shader 4 tidak
Shader Model 3 (DirectX HLSL) tidak
Shader Model 2 (DirectX HLSL) tidak
Shader Model 1 (DirectX HLSL) tidak

Shader Model 5 Assembly (DirectX HLSL)