ID3D12Device::CreateReservedResource method (d3d12.h)
Membuat sumber daya yang dicadangkan, dan belum dipetakan ke halaman mana pun dalam tumpukan.
Sintaks
HRESULT CreateReservedResource(
[in] const D3D12_RESOURCE_DESC *pDesc,
[in] D3D12_RESOURCE_STATES InitialState,
[in, optional] const D3D12_CLEAR_VALUE *pOptimizedClearValue,
[in] REFIID riid,
[out, optional] void **ppvResource
);
Parameter
[in] pDesc
Jenis: const D3D12_RESOURCE_DESC*
Penunjuk ke struktur D3D12_RESOURCE_DESC yang menjelaskan sumber daya.
[in] InitialState
Jenis: D3D12_RESOURCE_STATES
Status awal sumber daya, sebagai kombinasi bitwise-OR dari konstanta enumerasi D3D12_RESOURCE_STATES .
[in, optional] pOptimizedClearValue
Jenis: const D3D12_CLEAR_VALUE*
Menentukan struktur D3D12_CLEAR_VALUE yang menjelaskan nilai default untuk warna yang jelas.
pOptimizedClearValue menentukan nilai di mana operasi yang jelas paling optimal. Ketika sumber daya yang dibuat adalah tekstur dengan bendera D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET atau D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , Anda harus memilih nilai yang paling sering disebut operasi yang jelas. Anda dapat memanggil operasi yang jelas dengan nilai lain, tetapi operasi tersebut tidak akan seefisien ketika nilai cocok dengan yang diteruskan ke pembuatan sumber daya.
Saat Anda menggunakan D3D12_RESOURCE_DIMENSION_BUFFER, Anda harus mengatur pOptimizedClearValue ke nullptr
.
[in] riid
Jenis: REFIID
Referensi ke pengidentifikasi unik global (GUID) antarmuka sumber daya untuk kembali di ppvResource. Lihat Keterangan.
Meskipun riidResource paling umum adalah GUIDID3D12Resource, ini mungkin GUID dari antarmuka apa pun. Jika objek sumber daya tidak mendukung antarmuka untuk GUID ini, pembuatan gagal dengan E_NOINTERFACE.
[out, optional] ppvResource
Jenis: batal**
Penunjuk opsional ke blok memori yang menerima penunjuk antarmuka yang diminta ke objek sumber daya yang dibuat.
ppvResource dapat berupa nullptr
, untuk mengaktifkan pengujian kemampuan. Ketika ppvResource adalah nullptr
, tidak ada objek yang dibuat, dan S_FALSE dikembalikan ketika pDesc valid.
Mengembalikan nilai
Jenis: HRESULT
Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahanHRESULT akan dikembalikan.
Mengembalikan nilai | Deskripsi |
---|---|
E_OUTOFMEMORY | Memori tidak cukup untuk membuat sumber daya. |
Lihat Kode pengembalian Direct3D 12 untuk kemungkinan nilai pengembalian lainnya.
Keterangan
CreateReservedResource setara dengan D3D11_RESOURCE_MISC_TILED di Direct3D 11. Ini membuat sumber daya dengan memori virtual saja, tidak ada penyimpanan cadangan.
Anda perlu memetakan sumber daya ke memori fisik (yaitu, ke tumpukan) menggunakan CopyTileMappings dan UpdateTileMappings.
Jenis sumber daya ini hanya dapat dibuat ketika adaptor mendukung tingkat sumber daya berjenjang 1 atau lebih besar. Tingkat sumber daya berjenjang menentukan perilaku mengakses sumber daya yang tidak dipetakan ke timbunan.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Pustaka | D3D12.lib |
DLL | D3D12.dll |