ID3D12Device10::CreateCommittedResource3 方法 (d3d12.h)
建立具有初始配置而非初始狀態的認可資源。
需要 DirectX 12 Agility SDK 1.7 或更新版本。
語法
HRESULT CreateCommittedResource3(
const D3D12_HEAP_PROPERTIES *pHeapProperties,
D3D12_HEAP_FLAGS HeapFlags,
const D3D12_RESOURCE_DESC1 *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
ID3D12ProtectedResourceSession *pProtectedSession,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
REFIID riidResource,
void **ppvResource
);
參數
pHeapProperties
類型:_In_ const D3D12_HEAP_PROPERTIES*
提供資源堆積屬性之 D3D12_HEAP_PROPERTIES 結構的指標。
HeapFlags
堆積選項,做為 D3D12_HEAP_FLAGS 列舉常數的位 OR'd 組合。
pDesc
類型:const D3D12_RESOURCE_DESC1*
描述資源之 D3D12_RESOURCE_DESC1 結構的指標,包括 mip 區域。
InitialLayout
紋理資源的初始配置;D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED 緩衝區。
pOptimizedClearValue
類型:const D3D12_CLEAR_VALUE*
指定描述純色預設值的 D3D12_CLEAR_VALUE 結構。
pOptimizedClearValue 指定最理想的清除作業值。 當建立的資源是具有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 或 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 旗標的紋理時,您應該選擇最常呼叫清除作業的值。 您可以使用其他值呼叫清除作業,但當值符合傳遞至資源建立的值時,這些作業不會那麼有效率。
當您使用 D3D12_RESOURCE_DIMENSION_BUFFER時,必須將 pOptimizedClearValue 設定為 nullptr
。
pProtectedSession
類型:ID3D12ProtectedResourceSession*
對象的選擇性指標,表示內容保護的會話。 如果提供,則此會話表示應該保護資源。 您可以呼叫 ID3D12Device4::CreateProtectedResourceSession來取得 ID3D12ProtectedResourceSession。
NumCastableFormats
pCastableFormats 中的項目數目。
pCastableFormats
這個資源可以轉換成的連續 DXGI_FORMAT 結構陣列。
riidResource
類型:REFIID
要傳回 ppvResource中之資源介面之全域唯一標識碼 (GUID) 的參考。
雖然
ppvResource
類型:void**
記憶體區塊的選擇性指標,可接收所建立資源物件的要求介面指標。
ppvResource 可以 nullptr
,以啟用功能測試。 當
傳回值
類型:HRESULT
如果函式成功,它會傳回 S_OK。 否則,它會傳回 HRESULT錯誤碼。
傳回值 | 描述 |
---|---|
E_OUTOFMEMORY | 記憶體不足,無法建立資源。 |
如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | d3d12.h |
連結庫 | D3d12.lib |
DLL | D3d12.dll |