METODE ID3D12Device7::AddToStateObject (d3d12.h)
Tambahkan secara bertahap ke objek status yang ada. Ini menimbulkan overhead CPU yang lebih rendah daripada membuat objek status dari awal yang merupakan superset dari yang sudah ada (misalnya, menambahkan beberapa shader lagi).
Sintaks
HRESULT AddToStateObject(
const D3D12_STATE_OBJECT_DESC *pAddition,
ID3D12StateObject *pStateObjectToGrowFrom,
REFIID riid,
void **ppNewStateObject
);
Parameter
pAddition
Jenis: _In_ const D3D12_STATE_OBJECT_DESC*
Deskripsi konten objek status untuk ditambahkan ke objek status yang ada. Untuk membantu menghasilkan ini, lihat pembantu CD3D12_STATE_OBJECT_DESC di kelas di d3dx12.h
.
pStateObjectToGrowFrom
Jenis: _In_ ID3D12StateObject*
Objek status yang ada, yang dapat digunakan (misalnya, raytracing aktif) selama operasi ini.
Objek status yang ada tidak boleh bertipe Koleksi.
riid
Jenis: _In_ REFIID
Harus IID antarmuka ID3D12StateObject .
ppNewStateObject
Jenis: _COM_Outptr_ batal**
Objek status yang dikembalikan.
Perilaku tidak terdefinisi jika pengidentifikasi shader diambil untuk shader baru dari panggilan ini dan mereka diakses melalui tabel shader oleh daftar perintah yang sudah ada atau dalam penerbangan yang mereferensikan beberapa objek status yang lebih lama. Penggunaan shader baru yang ditambahkan ke objek status hanya dapat terjadi dari perintah (seperti panggilan DispatchRays atau ExecuteIndirect ) yang direkam dalam daftar perintah setelah panggilan ke AddToStateObject.
Nilai kembali
S_OK untuk sukses. E_INVALIDARG, E_OUTOFMEMORY gagal. Lapisan debug menyediakan informasi status terperinci.
Keterangan
Untuk informasi selengkapnya, lihat AddToStateObject.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 Build 20348 |
Server minimum yang didukung | Windows 10 Build 20348 |
Header | d3d12.h |
Pustaka | d3d12.lib |
DLL | d3d12.dll |