enumerasi D3D12_HEAP_TYPE (d3d12.h)
Menentukan jenis timbunan. Ketika penghuni, timbunan berada di kumpulan memori fisik tertentu dengan properti cache CPU tertentu.
Sintaksis
typedef enum D3D12_HEAP_TYPE {
D3D12_HEAP_TYPE_DEFAULT = 1,
D3D12_HEAP_TYPE_UPLOAD = 2,
D3D12_HEAP_TYPE_READBACK = 3,
D3D12_HEAP_TYPE_CUSTOM = 4,
D3D12_HEAP_TYPE_GPU_UPLOAD
} ;
Konstanta
D3D12_HEAP_TYPE_DEFAULT Nilai: 1 Menentukan timbunan default. Jenis timbunan ini mengalami bandwidth terbanyak untuk GPU, tetapi tidak dapat menyediakan akses CPU. GPU dapat membaca dan menulis ke memori dari kumpulan ini, dan hambatan transisi sumber daya dapat diubah. Sebagian besar timbunan dan sumber daya diharapkan terletak di sini, dan biasanya diisi melalui sumber daya dalam tumpuk unggahan. |
D3D12_HEAP_TYPE_UPLOAD Nilai: Menentukan timbunan yang digunakan untuk mengunggah. Jenis timbunan ini memiliki akses CPU yang dioptimalkan untuk diunggah ke GPU, tetapi tidak mengalami jumlah bandwidth maksimum untuk GPU. Jenis heap ini paling baik untuk data CPU-write-once, GPU-read-once; tetapi GPU-read-once lebih ketat dari yang diperlukan. GPU-read-once-or-from-cache adalah kasus penggunaan yang dapat diterima untuk data; tetapi penggunaan tersebut sulit dinilai karena desain dan ukuran cache GPU yang berbeda. Jika ragu, tetap pada definisi GPU-baca-sekali atau profilkan perbedaan pada banyak GPU antara menyalin data ke tumpukan _DEFAULT vs. membaca data dari tumpukan _UPLOAD. Sumber daya dalam timbunan ini harus dibuat dengan D3D12_RESOURCE_STATE_GENERIC_READ dan tidak dapat diubah dari ini. Alamat CPU untuk timbunan tersebut biasanya tidak efisien untuk pembacaan CPU. Berikut ini adalah penggunaan umum untuk timbunan _UPLOAD:
Berikut ini kemungkinan bukan penggunaan yang baik untuk timbunan _UPLOAD:
|
D3D12_HEAP_TYPE_READBACK Nilai: 3 Menentukan timbunan yang digunakan untuk membaca kembali. Jenis timbunan ini memiliki akses CPU yang dioptimalkan untuk membaca data kembali dari GPU, tetapi tidak mengalami jumlah bandwidth maksimum untuk GPU. Jenis heap ini paling baik untuk data yang dapat dibaca GPU-write-once dan dapat dibaca CPU. Perilaku cache CPU adalah write-back, yang kondusif untuk beberapa pembacaan CPU sub-cache-line. Sumber daya dalam timbunan ini harus dibuat dengan D3D12_RESOURCE_STATE_COPY_DEST, dan tidak dapat diubah dari ini. |
D3D12_HEAP_TYPE_CUSTOM Nilai: 4 Menentukan timbunan kustom. Aplikasi dapat menentukan properti kumpulan memori dan cache CPU secara langsung, yang dapat berguna untuk pengoptimalan UMA, multi-mesin, multi-adaptor, atau kasus khusus lainnya. Untuk melakukannya, aplikasi diharapkan dapat memahami arsitektur adaptor untuk membuat pilihan yang tepat. Untuk detail selengkapnya, lihat D3D12_FEATURE_ARCHITECTURE, D3D12_FEATURE_DATA_ARCHITECTURE, dan GetCustomHeapProperties. |
Komentar
Enum ini digunakan oleh item API berikut:
Jenis tumpukan termasuk dalam dua kategori: jenis tumpukan abstrak, dan jenis tumpukan kustom.Berikut ini adalah jenis tumpukan abstrak:
- D3D12_HEAP_TYPE_DEFAULT
- D3D12_HEAP_TYPE_UPLOAD
- D3D12_HEAP_TYPE_READBACK
- D3D12_HEAP_TYPE_CUSTOM
Perhatikan bahwa tekstur (tidak seperti buffer) tidak dapat berupa jenis heap UPLOAD atau READBACK.
Persyaratan
Syarat | Nilai |
---|---|
Header |
d3d12.h |
Lihat juga
Enumerasi Inti
Tumpuk Deskriptor