共用方式為


ID3D12Device10::CreatePlacedResource2 方法 (d3d12.h)

建立放置於特定堆積中的資源。 放置的資源是可用的最輕量資源物件,而且是建立和終結最快的資源物件。

您的應用程式可以重疊堆積區域上的多個 Direct3D 放置和保留資源,以重複使用視訊記憶體。 簡單的記憶體重複使用模型(如 備註中所述)存在,以釐清任何指定時間的重疊資源是否有效。 為了最大化圖形工具支援,不支持簡單的模型數據繼承;不支援更精細的磚和子資源失效。 只會發生完整重疊的資源失效。

需要 DirectX 12 Agility SDK 1.7 或更新版本。

語法

HRESULT CreatePlacedResource2(
  ID3D12Heap                 *pHeap,
  UINT64                     HeapOffset,
  const D3D12_RESOURCE_DESC1 *pDesc,
  D3D12_BARRIER_LAYOUT       InitialLayout,
  const D3D12_CLEAR_VALUE    *pOptimizedClearValue,
  UINT32                     NumCastableFormats,
  const DXGI_FORMAT          *pCastableFormats,
  REFIID                     riid,
  void                       **ppvResource
);

參數

pHeap

類型:[in] ID3D12Heap*

ID3D12Heap 介面的指標,表示資源所在的堆積。

HeapOffset

類型:UINT64

資源的位移,以位元組為單位。 HeapOffset 必須是資源的倍數,而且 HeapOffset 加上資源大小必須小於或等於堆積大小。 GetResourceAllocationInfo 必須用來瞭解紋理資源的大小。

pDesc

類型:[in] const D3D12_RESOURCE_DESC*

描述資源之 D3D12_RESOURCE_DESC 結構的指標。

InitialLayout

紋理資源的初始配置;D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED 緩衝區。

pOptimizedClearValue

類型:[in,選擇性] const D3D12_CLEAR_VALUE*

指定描述清楚色彩之預設值的 D3D12_CLEAR_VALUE

pOptimizedClearValue 指定最理想的清除作業值。 當建立的資源是具有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGETD3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 旗標的紋理時,您的應用程式應該選擇最常使用 呼叫清除作業的值。

清除作業可以與其他值一起呼叫,但當值符合傳遞至資源建立的值時,這些作業不會那麼有效率。

pOptimizedClearValue 搭配 D3D12_RESOURCE_DIMENSION_BUFFER使用時必須是 NULL。

NumCastableFormats

pCastableFormats 中的項目數目

pCastableFormats

這個資源可以轉換成的連續 DXGI_FORMAT 結構陣列。

riid

類型:REFIID

資源介面的全域唯一標識碼 (GUID)。 這是輸入參數。

REFIIDGUID,可以使用 __uuidof 宏來取得資源的介面。 例如,__uuidof(ID3D12Resource) 取得資源的介面 GUID。 雖然 riid 通常是,ID3D12Resource的 GUID,但它可能是任何介面的 GUID。 如果資源物件不支援此 GUID的介面,則建立會失敗並產生 E_NOINTERFACE

ppvResource

類型:[out,選擇性] void**

接收資源指標的記憶體區塊指標。 ppvResource 可以是 NULL,以啟用功能測試。 當 ppvResource 為 NULL 時,不會建立任何物件,而且當 pResourceDesc 和其他參數 時,將不會傳回S_FALSE。

傳回值

類型:HRESULT

如果記憶體不足而無法建立資源,這個方法會傳回 E_OUTOFMEMORY。 如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼

言論

如需 ID3D12Device::CreatePlacedResource,請參閱 備註

要求

要求 價值
目標平臺 窗戶
標頭 d3d12.h
連結庫 D3d12.lib
DLL D3d12.dll

另請參閱

CreateCommittedResource

CreateReservedResource

ID3D12Device10

共用堆積