Menyalin Deskriptor
ID3D12Device::CopyDescriptors dan ID3D12Device::CopyDescriptorsSimple metode pada antarmuka perangkat menggunakan CPU untuk segera menyalin deskriptor. Mereka dapat disebut bebas utas selama tidak ada beberapa utas pada CPU atau GPU yang melakukan penulisan yang mungkin bertabrakan.
Menyalin Deskriptor Segera (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 perlu sejajar. Misalnya, sekumpulan deskriptor yang terpisah dapat disalin ke tujuan yang berdekatan, atau sebaliknya, atau dalam berbagai kombinasi.
Beberapa timbunan deskriptor dapat terlibat dalam operasi penyalinan, baik sebagai sumber maupun tujuan. Penggunaan pegangan deskriptor sebagai parameter berarti metode penyalinan tidak mempermasalahkan di tumpukan mana deskriptor tertentu berada - semuanya hanyalah memori.
Jenis tumpukan deskriptor yang disalin dari dan ke harus cocok, sehingga metode mengambil satu jenis tumpukan deskriptor sebagai input. Driver perlu mengetahui jenis timbunan semua deskriptor dalam operasi penyalinan yang diberikan, sehingga tahu ukuran data apa yang terlibat dalam operasi penyalinan. Pengemudi mungkin juga perlu melakukan pekerjaan penyalinan kustom jika jenis heap deskriptor tertentu memerlukannya - detail implementasi. Perhatikan bahwa handle deskriptor sendiri tidak mengidentifikasi jenis yang ditunjuk; oleh karena itu, diperlukan parameter tambahan untuk operasi penyalinan.
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 tidak terlihat oleh shader. Deskriptor tujuan dapat berada di tumpukan deskriptor mana pun yang terlihat oleh CPU (shader terlihat atau tidak terlihat).
Topik terkait