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

Lihat juga

CreateCommittedResource

CreatePlacedResource

ID3D12Device