Bagikan melalui


Menyalin Deskriptor

Metode ID3D12Device::CopyDescriptors dan ID3D12Device::CopyDescriptorsSimple pada antarmuka perangkat menggunakan CPU untuk segera menyalin deskriptor. Mereka dapat disebut utas gratis selama beberapa utas pada CPU atau GPU tidak melakukan penulisan yang berpotensi bertentangan.

Segera menyalin Deskriptor (Garis Waktu CPU)

Jumlah deskriptor sumber (untuk disalin dari), yang ditentukan sebagai sekumpulan rentang deskriptor, harus sama dengan jumlah deskriptor tujuan (untuk disalin), yang ditentukan sebagai sekumpulan rentang deskriptor terpisah. Rentang sumber dan tujuan tidak harus berbaris. Misalnya, sekumpulan deskriptor jarang dapat disalin ke tujuan yang berdekatan, sebaliknya, atau dalam beberapa kombinasi.

Beberapa timbunan deskriptor dapat terlibat dalam operasi penyalinan, baik sebagai sumber maupun tujuan. Penggunaan handel deskriptor sebagai parameter berarti metode penyalinan tidak peduli tentang tumpukan deskriptor yang diberikan - semuanya hanya memori.

Jenis tumpukan deskriptor yang disalin dari dan ke harus cocok, sehingga metode mengambil jenis tumpukan deskriptor tunggal sebagai input. Driver perlu mengetahui jenis timbunan semua deskriptor dalam operasi penyalinan yang diberikan, sehingga tahu ukuran data apa yang terlibat dalam operasi penyalinan. Driver mungkin juga perlu melakukan pekerjaan penyalinan kustom jika jenis tumpukan deskriptor tertentu menjaminnya - detail implementasi. Perhatikan bahwa deskriptor menangani dirinya sendiri tidak mengidentifikasi jenis apa yang mereka arahkan; oleh karena itu, parameter tambahan diperlukan untuk operasi salin.

API alternatif untuk CopyDescriptors disediakan untuk kasus sederhana menyalin satu rentang deskriptor dari satu lokasi ke lokasi lain - CopyDescriptorsSimple.

Untuk metode penyalinan deskriptor berbasis perangkat (garis waktu CPU) ini, deskriptor sumber harus berasal dari tumpukan deskriptor yang terlihat non-shader. Deskriptor tujuan dapat berada dalam tumpukan deskriptor apa pun yang terlihat CPU (shader terlihat atau tidak).

Deskriptor