Bagikan melalui


Gambaran Umum Tabel Deskriptor

Setiap tabel deskriptor menyimpan deskriptor dari satu atau beberapa jenis—SRV, UAV, CBV, dan sampler. Tabel deskriptor bukan alokasi memori; ini hanya offset dan panjang dalam himpunan deskriptor.

Merujuk pada tabel deskriptor

Alur grafis, melalui tanda tangan akar, mendapatkan akses ke sumber daya dengan merujuk ke tabel deskriptor menurut indeks.

Tabel deskriptor sebenarnya hanyalah sub-rentang timbunan deskriptor. Timbunan deskriptor mewakili alokasi memori yang mendasar untuk kumpulan deskriptor. Karena alokasi memori adalah properti dalam membuat tumpukan deskriptor, mendefinisikan tabel deskriptor dari salah satunya dijamin akan semurah mengidentifikasi suatu wilayah dalam tumpukan terhadap perangkat keras. Tabel penjelas tidak perlu dibuat atau dihapus pada tingkat API—tabel tersebut hanya diidentifikasi oleh driver sebagai pengimbangan dan ukuran dari suatu heap setiap kali direferensikan.

Tentu saja dimungkinkan bagi aplikasi untuk menentukan tabel deskriptor yang sangat besar ketika shader-nya menginginkan kebebasan untuk memilih dari sekumpulan deskriptor yang tersedia (sering mereferensikan tekstur) dengan cepat (mungkin didorong oleh data material).

Tanda Tangan Akar mereferensikan entri tabel deskriptor dengan referensi ke tumpukan, lokasi awal tabel (offset dari awal tumpukan), dan panjang (dalam entri) tabel. Gambar di bawah ini menunjukkan konsep-konsep ini: penunjuk tabel deskriptor dari Tanda Tangan Akar dan deskriptor dalam tumpukan deskriptor yang mereferensikan tekstur lengkap atau data buffer dalam tumpukan (dalam kasus tekstur, tumpukan default).

tabel deskriptor